搜索: 标题内容作者  
  首页数据库Oracle
背景:
阅读新闻

ORACLE备份恢复方法

[日期:2007-07-22]   来源:互联网整理  作者:佚名   [字体: ]
    新闻简介: 第一章. 理解什么是数据库恢复 
当我们使用一个数据库时,总希望数据库的内容是可靠的、正确的,但由于计算机系统的故障(硬件故障、软件故障、网络故障、进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失。因此当发生上述故障后,希望能重构这个完整的数据库,该处理称为数据库恢复。恢复过程大致可以分为复原(Restore)与恢复(Restore)过程。 
数据库恢复可以分为以下两类: 
1.1实例故障的一致性恢复 
当实例意外地(如掉电、后台进程故障等)或预料地(发出SHUTDOUM ABORT语句)中止时出现实
        关 键 词:  

RMAN-03022: compiling command: allocate 
RMAN-03023: executing command: allocate 
RMAN-08030: allocated channel: c1 
RMAN-08500: channel c1: sid=13 devtype=DISK 
RMAN-03022: compiling command: restore 
RMAN-03022: compiling command: IRESTORE 
RMAN-03023: executing command: IRESTORE 
RMAN-08016: channel c1: starting datafile backupset restore 
RMAN-08502: set_count=5 set_stamp=494177612 creation_time=16-MAY-03 
RMAN-08089: channel c1: specifying datafile(s) to restore from backup set 
RMAN-08523: restoring datafile 00003 to D:oracleORADATATESTUSER01.DBF 
RMAN-08023: channel c1: restored backup piece 1 
RMAN-08511: piece handle=D:BACKUPTSUSER_05EN93AC_5_1 tag=TSUSER params=NULL 
RMAN-08024: channel c1: restore complete 
RMAN-03023: executing command: partial resync 
RMAN-08003: starting partial resync of recovery catalog 
RMAN-08005: partial resync complete  [Page]
RMAN-03022: compiling command: recover 
RMAN-03022: compiling command: recover(1) 
RMAN-03022: compiling command: recover(2) 
RMAN-03022: compiling command: recover(3) 
RMAN-03023: executing command: recover(3) 
RMAN-08054: starting media recovery 
RMAN-03022: compiling command: recover(4) 
RMAN-06050: archivelog thread 1 sequence 332 is already on disk as file D:ORACLEORADATATESTARCHIVETESTT001S00332.ARC 
RMAN-06050: archivelog thread 1 sequence 333 is already on disk as file D:ORACLEORADATATESTARCHIVETESTT001S00333.ARC 
RMAN-06050: archivelog thread 1 sequence 334 is already on disk as file D:ORACLEORADATATESTARCHIVETESTT001S00334.ARC 
RMAN-03023: executing command: recover(4) 
RMAN-08515: archivelog filename=D:ORACLEORADATATESTARCHIVETESTT001S00332.ARC thread=1 sequence=332 
RMAN-08055: media recovery complete 
RMAN-03022: compiling command: sql 
RMAN-06162: sql statement: alter database datafile 3 online 
RMAN-03023: executing command: sql 
RMAN-03022: compiling command: release 
RMAN-03023: executing command: release 
RMAN-08031: released channel: c1 
RMAN> 
8、检查数据是否完整 
SQL> alter database open; 
Database altered. 
SQL> select * from test; 

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


说明: 
1、RMAN也可以实现单个表空间或数据文件的恢复,恢复过程可以在mount下或open方式下,如果在open方式下恢复,可以减少down机时间 
2、如果损坏的是一个数据文件,建议offline并在open方式下恢复 
3、这里可以看到,RMAN进行数据文件与表空间恢复的时候,代码都比较简单,而且能保证备份与恢复的可靠性,所以建议采用RMAN的备份与恢复 
4.3丢失多个数据文件,实现整个数据库的恢复 
4.3.1 OS备份方案 
OS备份归档模式下损坏(丢失)多个数据文件,进行整个数据库的恢复 
1、连接数据库,创建测试表并插入记录 
SQL*Plus: Release 8.1.6.0.0 - Production on Tue May 6 13:46:32 2003  [Page]
(c) Copyright 1999 Oracle Corporation. All rights reserved. 
SQL> connect internal/password as sysdba; 
Connected. 
SQL> create table test(a int); 
Table created 
SQL> insert into test values(1); 
1 row inserted 
SQL> commit; 
Commit complete 
2、备份数据库,备份除临时数据文件后的所数据文件 
SQL> @hotbak.sql 或在DOS下 svrmgrl @hotbak.sql 
3、继续在测试表中插入记录 
SQL> insert into test values(2); 
1 row inserted 
SQL> commit; 
Commit complete 
SQL> select * from test; 

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


SQL> alter system switch logfile; 
System altered. 
SQL> alter system switch logfile; 

If you believe an article violates your rights or the rights of others, please contact us.

收藏 推荐 打印 | 录入:admin | 阅读:
相关新闻      
友情链接
本文评论   [发表评论] 全部评论 (0)
赞助商广告
热门评论