网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  oracle数据库的热备份与完整恢复测试 (1)     
  文章作者:未知  文章来源:赛迪网技术社区  
  查看:104次  录入:管理员--2008-04-07  
 

【赛迪网-it技术报道】数据库热备份与完整恢复测试:

1.首先,必需保证数据库在归档模式下。

2.热备份数据文件,通过alter tablespace xxx begin backup把表空间设为备份状态,可以手工或在sql下运行host copy把数据文件复制到指定地方,最后把表空间改为正常状态(alter tablepace xxx end backup)。

3.数据库恢复:使用语句rcover datafile,alter database open即可以实现数据库的完整恢复。

 

具体的步骤如下:

sql> conn / as sysdba

已连接。

//确定数据库在归档模式下。

sql> select log_mode from v$database;

log_mode

------------

archivelog

//查询表空间对应的数据文件,一般表空间名跟对应数据文件名是相同的,可以跳过这一步。

sql> select v$tablespace.name,v$datafile.name from v$tablespace, v$datafile

2 where v$tablespace.ts#=v$datafile.ts#;

name

------------------------------

name

--------------------------------------------------------------------------------

system

f:\oracle\oradata\ebook\system01.dbf

undotbs1

f:\oracle\oradata\ebook\undotbs01.dbf

cwmlite

f:\oracle\oradata\ebook\cwmlite01.dbf

drsys

f:\oracle\oradata\ebook\drsys01.dbf

example

f:\oracle\oradata\ebook\example01.dbf

indx

f:\oracle\oradata\ebook\indx01.dbf

odm

f:\oracle\oradata\ebook\odm01.dbf

tools

f:\oracle\oradata\ebook\tools01.dbf

users

f:\oracle\oradata\ebook\users01.dbf

xdb

f:\oracle\oradata\ebook\xdb01.dbf

已选择10行。

//将表空间设为备份状态.

sql> alter tablespace system begin backup;

表空间已更改。

//将数据文件备份到目录f:\oracle\backuparea下.

sql> host copy f:\oracle\oradata\ebook\system01.dbf f:\oracle\backuparea\

已复制 1 个文件。

sql> alter tablespace system end backup;

表空间已更改。

//建表test的目的为测试此恢复是否是完整恢复。

sql> create table scott.test(t int);

表已创建。

sql> insert into scott.test values(1);

已创建 1 行。

sql> insert into scott.test values(2);

已创建 1 行。

sql> commit;

提交完成。

sql> shutdown immediate

数据库已经关闭。

已经卸载数据库。

oracle 例程已经关闭。

//删除system01.dbf或移动到其他目录造成数据库崩溃。

sql> startup

oracle 例程已经启动。

total system global area 135338868 bytes

fixed size 453492 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

数据库装载完毕。

ora-01157: 无法标识/锁定数据文件 1 - 请大家参阅 dbwr 跟踪文件

ora-01110: 数据文件 1: 'f:\oracle\oradata\ebook\system01.dbf'

//将备份的数据文件复制回目录f:\oracle\oradata\ebook\下.

sql> $ copy f:\oracle\backuparea\system01.dbf f:\oracle\oradata\ebook\

已复制 1 个文件。

//恢复数据文件system01.dbf。

sql> recover datafile 'f:\oracle\oradata\ebook\system01.dbf';

完成介质恢复。

sql> alter database open;

数据库已更改。

//此说明数据库是完整恢复了。

sql> select * from scott.test;

t

----------

1

2

总结:

1.热备份必须在数据库归档模式下进行

2.在备份的同时,数据库的用户可以进行操作。因此,数据库对应的物理文件的内容是不断变化的,对这些物理文件内容的更新是保留到有关操作已经写到重做日至文件中

后再进行。(这句引自别人叙述,我对后半句正确与否存在疑问,希望大家讨论)。

3.归档日志必须是备份后的所有日至才可以实现数据库的完全恢复。

4.可以备份除临时文件以外的所有数据文件,如果在恢复过程中,发现损坏的是多个数据文件,即可以采用一个一个数据文件的恢复方法

5。 特别当损坏的不是系统表空间,可以先将损坏的表空间文件脱机,这时可以在恢复损坏文件前打开

数据库,再完成恢复。例如:

sql> alter tablespace tools begin backup;

表空间已更改。

sql> $ copy f:\oracle\oradata\ebook\tools01.dbf f:\oracle\backuparea

已复制 1 个文件。

sql> alter tablespace tools end backup;

表空间已更改。

sql> shutdown immediate

数据库已经关闭。

已经卸载数据库。

oracle 例程已经关闭。

//删除tools01.dbf造成数据库无法正常启动.

sql> startup

oracle 例程已经启动。

total system global area 135338868 bytes

fixed size 453492 bytes

variable size 109051904 bytes

database buffers 25165824 bytes

redo buffers 667648 bytes

数据库装载完毕。

ora-01157: 无法标识/锁定数据文件 8 - 请参阅 dbwr 跟踪文件

ora-01110: 数据文件 8: 'f:\oracle\oradata\ebook\tools01.dbf'

sql> alter database datafile 'f:\oracle\oradata\ebook\tools01.dbf' offline;

数据库已更改。

sql> alter database open;

数据库已更改。

sql> $ copy f:\oracle\backuparea\tools01.dbf f:\oracle\oradata\ebook\

已复制 1 个文件。

sql>recover datafile 'f:\oracle\oradata\ebook\tools01.dbf';

介质恢复完成。

 
 
上一篇: dml操作update和delete时产生的锁示例 (1)    下一篇: 讲解删除部分控制文件后的数据库启动 (1)
  相关文档
详细讲述Oracle中的to_date参数含义 05-27
巧用oracle执行计划机制提高查询性能 (1) 01-24
Oracle数据库中有关CBO优化的三个问题 09-01
oracle数据库重做日志文件丢失后的恢复 02-03
Oracle异常关闭导致的故障及解决办法 04-11
从Oracle的FORM中调用REPORT的实用技巧 08-05
教你快速掌握oracle数据库的备份策略 04-14
通过分析SQL语句的执行计划优化SQL 08-05
利用Oracle管理服务器将数据导入导出 04-11
奇怪的sql:排序方法不同但结果却是一样的 03-07
如何获得XML格式的Oracle 10g审计跟踪 04-11
Oracle中有没有系统数据库? 09-29
Oracle基本操作 06-17
轻松掌握oracle密码文件的使用与维护 11-15
oracle数据库中关于"null"排序的问题 01-25
如何避免Oracle数据库密码出现@符号 06-17
详细讲解oracle数据库的数据迁移方法 (1) 04-14
oracle与data guard环境中重建控制文件 (1) 03-27
数据库应用系统的开发具体分为哪几个阶段 (1) 03-04
用一个存储过程实现分步删除数据表记录 04-10
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息