ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Oracle数据库的热备份与完整恢复测试 (2)

Oracle数据库的热备份与完整恢复测试 (2)

原创 Linux操作系统 作者:idba 时间:2008-04-16 22:12:13 0 删除 编辑
 

//建表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';

介质恢复完成。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1384/viewspace-239001/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2008-03-25

  • 博文量
    210
  • 访问量
    394116