RMAN-06056: could not access datafile 6解決方法

baojian322 13年前發布 | 3K 次閱讀 eCromedos Dolibarr ERP
在使用rman備份的時候遇到的問題:RMAN-06056: could not access datafile 6

RMAN> backup database;
Starting backup at 01-SEP-11
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK
could not read file header for datafile 6 error reason 4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of backup command at 09/01/2011 22:34:38
RMAN-06056: could not access datafile 6
RMAN> 
1、 查看數據6文件所在的數據文件以及所處的狀態
SQL> select file#,status,ts#,name from v$datafile;
 
     FILE# STATUS         TS# NAME
---------- ------- ---------- ------------------------------------------------------------
         1 SYSTEM           0 /u01/oracle/oradata/general10g/system01.dbf
         2 ONLINE           1 /u01/oracle/oradata/general10g/undotbs01.dbf
         3 ONLINE           2 /u01/oracle/oradata/general10g/sysaux01.dbf
         4 ONLINE           4 /u01/oracle/oradata/general10g/users01.dbf
         5 ONLINE           6 /u01/oracle/oradata/general10g/example01.dbf
         6 RECOVER       7 /u01/oracle/oradata/general10g/mydatafile1.dbf
 
6 rows selected.
 
SQL>  
從結果可以看到,文件6是處于recover的狀態,即需要恢復的狀態。
2、查看數據庫的物理文件
[oracle@linuxForOra general10g]$ ls -l
total 1496240
-rw-r-----  1 oracle oinstall   7094272 Sep  1 23:21 control01.ctl
-rw-r-----  1 oracle oinstall   7094272 Sep  1 23:21 control02.ctl
-rw-r-----  1 oracle oinstall   7094272 Sep  1 23:21 control03.ctl
-rw-r-----  1 oracle oinstall   7094272 Sep  1 23:21 control04.ctl
-rw-r-----  1 oracle oinstall 104865792 Sep  1 22:26 example01.dbf
-rw-r-----  1 oracle oinstall  52429312 Sep  1 22:26 redo01.log
-rw-r-----  1 oracle oinstall  52429312 Sep  1 22:26 redo02.log
-rw-r-----  1 oracle oinstall  52429312 Sep  1 23:06 redo03.log
-rw-r-----  1 oracle oinstall 304095232 Sep  1 22:49 sysaux01.dbf
-rw-r-----  1 oracle oinstall 618668032 Sep  1 23:06 system01.dbf
-rw-r-----  1 oracle oinstall  22028288 Aug  9 13:32 temp01.dbf
-rw-r-----  1 oracle oinstall 272637952 Sep  1 23:06 undotbs01.dbf
-rw-r-----  1 oracle oinstall  23601152 Sep  1 22:26 users01.dbf
[oracle@linuxForOra general10g]$ 
從結果可以得知,物理結構上并沒有數據文件:
/u01/oracle/oradata/general10g/mydatafile1.dbf,即已經丟失
3、查看所在的被刪除的數據文件所在的表空間
SQL> select ts#,name from v$tablespace;
 
       TS# NAME
---------- ------------------------------------------------------------
         0 SYSTEM
         1 UNDOTBS1
         2 SYSAUX
         4 USERS
         3 TEMP
         6 EXAMPLE
         7 MYSPACE
 
7 rows selected.
根據ts#字段得知,6號數據文件所在的表空間是myspace
4、因為我這個表空間是自己測試使用的,所以可以直接刪除,可以實現數據庫邏輯和物理一致
 (注意:在生成庫上一定要謹慎,正常是需要按照實際情況進行恢復的
SQL> drop tablespace myspace including contents;
 
Tablespace dropped.
 
SQL> 

此時,rman就可以正常使用了。
 本文由用戶 baojian322 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!