Oracle Recovery 01 - 常規恢復之完全恢復


背景:這里提到的常規恢復指的是數據庫有完備可用的RMAN物理備份。
實驗環境:RHEL6.4 + Oracle 11.2.0.4 DG primary.

一、常規恢復之完全恢復:不丟失數據

一、常規恢復之完全恢復:不丟失數據

Oracle 數據庫常規恢復的幾個概念:

常規恢復之完全恢復:不丟失數據。
比如數據文件丟失,臨時文件丟失,參數文件丟失。可以通過RMAN備份完全恢復數據庫。
示例:Oracle Recovery 01 - 常規恢復之完全恢復

常規恢復之不完全恢復:部分數據丟失。
一般是有控制文件或是在線重做日志文件丟失。通過RMAN備份恢復,resetlogs會導致丟失數據。
示例:Oracle Recovery 02 - 常規恢復之不完全恢復

1.1 單個數據文件丟失或損壞

### 啟動數據庫報錯: ###
SQL> startup
ORACLE instance started.

Total System Global Area 1620115456 bytes
Fixed Size                  2253704 bytes
Variable Size             905972856 bytes
Database Buffers          704643072 bytes
Redo Buffers                7245824 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 15 - see DBWR trace file
ORA-01110: data file 15: '+DATA1/jyzhao/datafile/dbs_d_jingyu.259.886871319'

恢復方法:

RMAN>
   restore datafile 15;
   recover datafile 15;
   sql 'alter database datafile 15 online';
   sql 'alter database open';

1.2 所有數據文件丟失或損壞

### 啟動數據庫報錯: ###
SQL> startup          
ORACLE instance started.

Total System Global Area 1620115456 bytes
Fixed Size                  2253704 bytes
Variable Size             905972856 bytes
Database Buffers          704643072 bytes
Redo Buffers                7245824 bytes
Database mounted.
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '+DATA1/jyzhao/datafile/system.278.886441901'

恢復方法:

RMAN>
   restore database;
   recover database;
   sql 'alter database open';

1.3 參數文件丟失或損壞

### 啟動數據庫報錯: ###
SQL> startup 
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file '+DATA1/jyzhao/spfilejyzhao.ora'
ORA-17503: ksfdopn:2 Failed to open file +DATA1/jyzhao/spfilejyzhao.ora
ORA-15056: additional error message
ORA-17503: ksfdopn:2 Failed to open file +DATA1/jyzhao/spfilejyzhao.ora
ORA-15173: entry 'spfilejyzhao.ora' does not exist in directory 'jyzhao'
ORA-06512: at line 4

恢復方法:

1)vi編輯初始化參數文件,指定db_name, control_files,compatible
vi /u01/app/oracle/product/11.2.0/db_1/dbs/init86.ora

db_name='jyzhao'
control_files = '+DATA1/JYZHAO/CONTROLFILE/Current.260.874084673'
compatible ='11.2.0.4'

2)啟動到mount狀態

SQL> startup mount pfile='/u01/app/oracle/product/11.2.0/db_1/dbs/init86.ora'

3)RMAN恢復spfile文件

RMAN> restore spfile from autobackup;

4)關庫重新用恢復的spfile文件啟動數據庫

SQL> shutdown abort
SQL> startup

1.4 參數文件,數據文件丟失或損壞

啟動數據庫報錯:

綜合考慮1.3,1.2,1.1的內容。

恢復方法:

先按照1.3恢復參數文件,再根據實際情況選擇1.1或1.2。

1.5 臨時文件丟失或損壞

重啟庫之后自動重建臨時文件並成功open數據庫。 可以在alert.log看到如下一段日志:
[8440] Successfully onlined Undo Tablespace 2.
Undo initialization finished serial:0 start:348324004 end:348324254 diff:250 (2 seconds)
Verifying file header compatibility for 11g tablespace encryption..
Verifying 11g file header compatibility for tablespace encryption completed
SMON: enabling tx recovery
Re-creating tempfile +DATA1/jyzhao/tempfile/temp.264.874084679 as +DATA1/jyzhao/tempfile/temp.264.887107953
Database Characterset is ZHS16GBK
No Resource Manager plan active
Archived Log entry 1162 added for thread 1 sequence 883 ID 0x93779c13 dest 1:
ARC1: Standby redo logfile selected for thread 1 sequence 883 for destination LOG_ARCHIVE_DEST_2
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
Fri Aug 07 10:52:33 2015
QMNC started with pid=38, OS id=8605 
ARC3: Archival started
ARC0: STARTING ARCH PROCESSES COMPLETE
Completed: ALTER DATABASE OPEN


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM