[20141106]建立控制檔案與丟失資料檔案問題
[20141106]建立控制檔案與丟失資料檔案問題.txt
--前一陣子,幫別人恢復系統,主資料庫硬碟損壞,dataguard能夠只讀開啟,查詢沒有問題,安全起見在另外的機器
--建立新系統,把dataguard的資料檔案複製到新機器,建立新的控制檔案,但是open resetlogs後發現,丟失一些數
--據檔案,感覺很奇怪,詢問以後才明白,有一些表空間是read only的,當然解決也很簡單,
--參考連結:
http://blog.itpub.net/267265/viewspace-748345/
alter database rename file '/u01/app/oracle11g/product/11.2.0/db_1/dbs/MISSING00008' to '/u01/app/oracle11g/oradata/test/test01.dbf';
recover datafile 8;
alter database datafile 8 online ;
--為了加強記憶,自己也做一些測試,看看錶空間只讀的情況,備份控制檔案的情況.
1.測試環境:
SCOTT@test> @ver
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
RMAN> report schema ;
using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name TEST
List of Permanent Datafiles
===========================
File Size(MB) Tablespace RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1 770 SYSTEM *** /u01/app/oracle11g/oradata/test/system01.dbf
2 920 SYSAUX *** /u01/app/oracle11g/oradata/test/sysaux01.dbf
3 718 UNDOTBS1 *** /u01/app/oracle11g/oradata/test/undotbs01.dbf
4 768 USERS *** /u01/app/oracle11g/oradata/test/users01.dbf
5 100 EXAMPLE *** /u01/app/oracle11g/oradata/test/example01.dbf
6 64 RMAN *** /u01/app/oracle11g/oradata/test/rman01.dbf
7 64 TOOLS *** /u01/app/oracle11g/oradata/test/tools01.dbf
8 64 TEST *** /u01/app/oracle11g/oradata/test/test01.dbf
9 64 TESTMSSM *** /u01/app/oracle11g/oradata/test/testmssm01.dbf
10 1 UNDOTBS2 *** /u01/app/oracle11g/oradata/test/undotbs02.dbf
11 100 TEST16K *** /u01/app/oracle11g/oradata/test/test16k01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1 339 TEMP 32767 /u01/app/oracle11g/oradata/test/temp01.dbf
2.設定表空間只讀:
alter tablespace test16k read only;
SYS@test> alter database backup controlfile to trace ;
Database altered.
--檢查轉儲檔案:
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1600
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle11g/oradata/test/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle11g/oradata/test/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle11g/oradata/test/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
-- GROUP 4 '/u01/app/oracle11g/oradata/test/redostb01.log' SIZE 50M BLOCKSIZE 512,
-- GROUP 5 '/u01/app/oracle11g/oradata/test/redostb02.log' SIZE 50M BLOCKSIZE 512,
-- GROUP 6 '/u01/app/oracle11g/oradata/test/redostb03.log' SIZE 50M BLOCKSIZE 512,
-- GROUP 7 '/u01/app/oracle11g/oradata/test/redostb04.log' SIZE 50M BLOCKSIZE 512
DATAFILE
'/u01/app/oracle11g/oradata/test/system01.dbf',
'/u01/app/oracle11g/oradata/test/sysaux01.dbf',
'/u01/app/oracle11g/oradata/test/undotbs01.dbf',
'/u01/app/oracle11g/oradata/test/users01.dbf',
'/u01/app/oracle11g/oradata/test/example01.dbf',
'/u01/app/oracle11g/oradata/test/rman01.dbf',
'/u01/app/oracle11g/oradata/test/tools01.dbf',
'/u01/app/oracle11g/oradata/test/test01.dbf',
'/u01/app/oracle11g/oradata/test/testmssm01.dbf',
'/u01/app/oracle11g/oradata/test/undotbs02.dbf'
CHARACTER SET ZHS16GBK
;
--可以發現並不包括資料檔案/u01/app/oracle11g/oradata/test/test16k01.dbf.
3.另外的情況:
SYS@test> alter tablespace test16k read write ;
Tablespace altered.
--實際上offline也是一樣的情況.繼續測試:
SYS@test> alter tablespace test16k offline ;
Tablespace altered.
SYS@test> alter database backup controlfile to trace ;
Database altered.
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "TEST" NORESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 1600
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle11g/oradata/test/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle11g/oradata/test/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle11g/oradata/test/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
-- GROUP 4 '/u01/app/oracle11g/oradata/test/redostb01.log' SIZE 50M BLOCKSIZE 512,
-- GROUP 5 '/u01/app/oracle11g/oradata/test/redostb02.log' SIZE 50M BLOCKSIZE 512,
-- GROUP 6 '/u01/app/oracle11g/oradata/test/redostb03.log' SIZE 50M BLOCKSIZE 512,
-- GROUP 7 '/u01/app/oracle11g/oradata/test/redostb04.log' SIZE 50M BLOCKSIZE 512
DATAFILE
'/u01/app/oracle11g/oradata/test/system01.dbf',
'/u01/app/oracle11g/oradata/test/sysaux01.dbf',
'/u01/app/oracle11g/oradata/test/undotbs01.dbf',
'/u01/app/oracle11g/oradata/test/users01.dbf',
'/u01/app/oracle11g/oradata/test/example01.dbf',
'/u01/app/oracle11g/oradata/test/rman01.dbf',
'/u01/app/oracle11g/oradata/test/tools01.dbf',
'/u01/app/oracle11g/oradata/test/test01.dbf',
'/u01/app/oracle11g/oradata/test/testmssm01.dbf',
'/u01/app/oracle11g/oradata/test/undotbs02.dbf'
CHARACTER SET ZHS16GBK
;
--依舊沒有資料檔案/u01/app/oracle11g/oradata/test/test16k01.dbf.
4.總結:
--要注意這個細節,在表空間只讀以及offline的情況下,alter database backup controlfile to trace ;建立的控制檔案會丟失read
--only以及offline的資料檔案.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-1322135/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- dfm檔案資料丟失問題
- rman恢復:資料檔案丟失,控制檔案丟失,聯機日誌檔案丟失(非當前使用與當前使用)
- 引數檔案控制檔案和資料檔案丟失的恢復
- 新建的表空間(或資料檔案)丟失以及控制檔案丟失,有新建表空間(或資料檔案)前的控制文
- 控制檔案丟失恢復
- 【控制檔案丟失恢復】
- 無備份丟失部分資料檔案和控制檔案恢復 [轉]
- 同時丟失控制檔案與資料檔案的恢復
- 資料檔案損壞、丟失
- 模擬資料檔案丟失
- 控制檔案丟失恢復(二)
- 恢復丟失的控制檔案
- 控制檔案丟失處理方法
- 控制檔案全部丟失恢復
- 關於建立Android工程R檔案丟失的問題Android
- 丟失一個控制檔案並恢復資料庫資料庫
- 資料檔案丟失的恢復
- 資料檔案丟失如何恢復
- 控制檔案全部丟失的恢復
- 控制檔案部分丟失的恢復
- 控制檔案丟失的RMAN恢復
- Oracle恢復例項之一:資料檔案、控制檔案、聯機日誌丟失Oracle
- 解決Oracle資料庫日誌檔案丟失恢復問題Oracle資料庫
- 當oracle丟失所有控制檔案後可以重新建立控制檔案來恢復資料庫Oracle資料庫
- 恢復之丟失全部控制檔案以及備份中的控制檔案
- 電腦檔案丟失資料恢復資料恢復
- RMAN恢復案例:無恢復目錄,丟失全部資料檔案、控制檔案、日誌檔案恢復
- 當前控制檔案全部丟失恢復
- 開啟 控制檔案自動備份下,引數檔案、控制檔案全部丟失恢復
- rman 恢復---歸檔丟失and資料檔案損壞
- 歸檔模式下資料檔案丟失的恢復模式
- 【原創】模擬控制檔案丟失的資料庫恢復資料庫
- Oracle 11g重建控制檔案——控制檔案全部丟失,從零開始Oracle
- 控制檔案丟失恢復例項(3) - 使用重建控制檔案方式(noresetlogs)
- 恢復測試:擁有當時的全部歸檔,控制檔案,恢復丟失的資料檔案。
- 備份與恢復--資料檔案損壞或丟失
- RMAN完全恢復丟失的資料檔案
- 普通資料檔案丟失的恢復方法