備份&恢復之十二:損壞單個控制檔案
2008/05/08
備份&恢復之十二:損壞單個控制檔案
損壞單個控制檔案是比較容易恢復的,因為一般的資料庫系統,控制檔案都不是一個,而且所有的控制檔案都互為鏡相,只要複製一個好的控制檔案替換壞的控制檔案就可以了。
測試環境:
1 作業系統:Redhat Linux 5
[oracle@mzl proc]$ cat /proc/version
Linux version 2.6.18-8.el5 (brewbuilder@ls20-bc2-14.build.redhat.com) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Fri Jan 26 14:15:21 EST 2007
2 資料庫版本:Oracle10g
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
3 關閉資料庫,刪除一個controlfile.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
刪除一個控制檔案
[oracle@mzl orcl]$ pwd
/u01/app/oracle/oradata/orcl
[oracle@mzl orcl]$ rm control01.ctl
4 啟動資料庫
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
ORA-00205: error in identifying control file, check alert log for more info
看alert_ORCL.log日誌:
Thu May 8 15:25:19 2008
ALTER DATABASE MOUNT
Thu May 8 15:25:19 2008
ORA-00202: control file: '/u01/app/oracle/oradata/orcl/control01.ctl'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Thu May 8 15:25:22 2008
ORA-205 signalled during: ALTER DATABASE MOUNT...
資料庫只能啟動到nomount狀態
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
ORCL STARTED
5 停止資料庫,複製一個好的控制檔案替換壞的控制檔案或修改init.ora中的控制檔案引數,取消這個壞的控制檔案。
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
複製一個控制檔案
[oracle@mzl orcl]$ pwd
/u01/app/oracle/oradata/orcl
[oracle@mzl orcl]$ cp control02.ctl control01.ctl
啟動資料庫:
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
說明:
1、損失單個控制檔案是比較簡單的,因為資料庫中所有的控制檔案都是鏡相的,只需要簡單的複製一個好的就可以了
2、建議鏡相控制檔案在不同的磁碟上
3、建議多做控制檔案的備份,長期保留一份由alter database backup control file to trace產生的控制檔案的文字備份
參考itpub上piner的備份與恢復案例:
http://www.itpub.net/viewthread.php?tid=126320&extra=page%3D4%26amp%3Bfilter%3Ddigest
在伺服器測試成功
備份&恢復之十二:損壞單個控制檔案
損壞單個控制檔案是比較容易恢復的,因為一般的資料庫系統,控制檔案都不是一個,而且所有的控制檔案都互為鏡相,只要複製一個好的控制檔案替換壞的控制檔案就可以了。
測試環境:
1 作業系統:Redhat Linux 5
[oracle@mzl proc]$ cat /proc/version
Linux version 2.6.18-8.el5 (brewbuilder@ls20-bc2-14.build.redhat.com) (gcc version 4.1.1 20070105 (Red Hat 4.1.1-52)) #1 SMP Fri Jan 26 14:15:21 EST 2007
2 資料庫版本:Oracle10g
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
3 關閉資料庫,刪除一個controlfile.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
刪除一個控制檔案
[oracle@mzl orcl]$ pwd
/u01/app/oracle/oradata/orcl
[oracle@mzl orcl]$ rm control01.ctl
4 啟動資料庫
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
ORA-00205: error in identifying control file, check alert log for more info
看alert_ORCL.log日誌:
Thu May 8 15:25:19 2008
ALTER DATABASE MOUNT
Thu May 8 15:25:19 2008
ORA-00202: control file: '/u01/app/oracle/oradata/orcl/control01.ctl'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3
Thu May 8 15:25:22 2008
ORA-205 signalled during: ALTER DATABASE MOUNT...
資料庫只能啟動到nomount狀態
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
ORCL STARTED
5 停止資料庫,複製一個好的控制檔案替換壞的控制檔案或修改init.ora中的控制檔案引數,取消這個壞的控制檔案。
SQL> shutdown immediate;
ORA-01507: database not mounted
ORACLE instance shut down.
複製一個控制檔案
[oracle@mzl orcl]$ pwd
/u01/app/oracle/oradata/orcl
[oracle@mzl orcl]$ cp control02.ctl control01.ctl
啟動資料庫:
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
說明:
1、損失單個控制檔案是比較簡單的,因為資料庫中所有的控制檔案都是鏡相的,只需要簡單的複製一個好的就可以了
2、建議鏡相控制檔案在不同的磁碟上
3、建議多做控制檔案的備份,長期保留一份由alter database backup control file to trace產生的控制檔案的文字備份
參考itpub上piner的備份與恢復案例:
http://www.itpub.net/viewthread.php?tid=126320&extra=page%3D4%26amp%3Bfilter%3Ddigest
在伺服器測試成功
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12778571/viewspace-263338/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- RMAN備份恢復典型案例——資料檔案存在壞快
- oracle控制檔案的損壞或完全丟失的恢復辦法Oracle
- ibdata1檔案損壞時恢復InnoDB單表測試
- u盤檔案損壞怎麼恢復資料 u盤恢復損壞資料的有效方法
- 控制檔案損壞處理
- RAC備份恢復之Voting備份與恢復
- u盤檔案損壞怎麼恢復資料 u盤損壞無法讀取怎麼恢復資料
- 12 使用RMAN備份和恢復檔案
- XFS檔案系統的備份、恢復、修復
- Oracle-無備份情況下,如何手動恢復控制檔案Oracle
- Oracle 無備份情況下undo檔案損壞處理Oracle
- Oracle 控制檔案損壞解決方案Oracle
- PostgreSQL DBA(30) - Backup&Recovery#3(資料檔案損壞恢復)SQL
- Oracle使用備份檔案集恢復歸檔日誌Oracle
- 故障分析 | MySQL 備份檔案靜默損壞一例分析MySql
- Oracle 備份恢復之 FlashbackOracle
- 【資料庫資料恢復】MongoDB資料庫檔案損壞的資料恢復案例資料庫資料恢復MongoDB
- 從備份片中恢復某個指定得歸檔或者資料檔案
- 檔案的基本管理和XFS檔案系統備份恢復
- Linux中XFS檔案系統的備份,恢復,修復Linux
- 如何從Active Backup for Business備份中恢復檔案
- 如何備份及恢復Linux檔案許可權Linux
- Oracle為什麼使用備份的控制檔案恢復後一定要resetlogsOracle
- system資料檔案頭損壞修復
- linux檔案系統損壞如何修復Linux
- 修復損壞的gzip壓縮檔案之原理篇
- 【儲存資料恢復】IBM儲存檔案NTFS系統損壞的資料恢復案例資料恢復IBM
- Oracle單個資料檔案損壞,在Rman命令裡設定表空間、資料檔案offline方式來恢復最方便Oracle
- 2.7.10 恢復丟失或損壞的伺服器引數檔案(SPFILE)伺服器
- Vsan分散式檔案系統邏輯架構損壞恢復過程分散式架構
- 記一次Oracle RAC for aix 儲存雙控鎖盤導致ASM控制檔案損壞恢復OracleAIASM
- 【伺服器資料恢復】伺服器reiserfs檔案系統損壞的資料恢復案例伺服器資料恢復
- 實戰:xfs檔案系統的備份和恢復
- Oracle asm磁碟損壞異常恢復OracleASM
- 備份與恢復:polardb資料庫備份與恢復資料庫
- MySQL備份與恢復——基於Xtrabackup物理備份恢復MySql
- Oracle 備份恢復篇之RMAN catalogOracle
- Kubernetes備份恢復之velero實戰