分类: Oracle
2010-09-03 13:40:09
测试步骤:1、sqlplus / as sysdba;2、建立一张新表xyz:SQL> create table gmmtable(a number);Table created.3、在表xyz中插入一点数据:SQL> insert into gmmtable values(66);1 row created.SQL> select * from gmmtable;A
----------
66SQL> insert into gmmtable values(99);1 row created.SQL> select * from gmmtable;A
----------
66
994、提交:SQL> commit;RMAN连接:$ rman target /5、进行数据库的全备:需要先设置时间格式,否则备份只能看到年月日,无法看到小时、分钟、秒。$ export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'RMAN> run {
2> backup database format='/opt/oracle_backup/20100903/db_full_%U';
3> }RMAN> list backup;//oracle10g下磁盘似乎不需要分配channel,完成后也会自动release;6、进入sqlplus删除数据,做备份测试SQL> select * from gmmtable;A
----------
66
99删除数据:SQL> delete from gmmtable;2 rows deleted.提交:SQL> commit;查看:SQL> select * from gmmtable;no rows selected7、恢复:恢复数据库需要在mount模式下进行SQL> shutdown immediate;SQL> startup mount;还原数据库:$ rman target /
RMAN> list backup;
RMAN> restore database;
RMAN> recover database until time "to_date('2010-09-03 11:22:04','yyyy-mm-dd hh24:mi:ss')";
RMAN> quit;
SQL> alter database open resetlogs;8、resetlog:SQL> alter database open resetlogs;//完成了不完全恢复后,必须重新设置联机重做日志。当使用resetlogs选项打开数据库时,所有的数据文件都获得一个新的resetlogs scn(系统更改号)和时间戳。已归档的重做日志在它们的头部也有这两个值。oracle通过为数据库提供与重做日志文件相匹配的resetlogs scn和时间戳,来防止用旧的归档日志破坏数据文件。在使用此命令后,联机重做日志文件被还原,每个数据文件的头部文件都被更新,控制文件也被更新。所有这些工作完成之后,数据库打开。注意每个联机重做日志文件 的新序号。9、查看恢复情况:SQL> alter database open resetlogs;SQL> select * from gmmtable;A
----------
66
99至此恢复成功。说明:在使用resetlogs选项打开数据库之后,必须做一个完整的数据库备份。要还原一个以前的数据库并将它前滚到resetlogs执行后的某个时间几乎是不可能的。又注:据说oracle10g以后可以实现resetlogs后的按时间恢复,但是未测试过。
chinaunix网友2010-09-05 15:07:44
Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com