RMAN簡單實驗引出的RMAN-06169錯誤

首先,正常的實驗會出現備份非歸檔模式數據庫的錯誤(ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode),但是這裏卻出現了RMAN-06169錯誤




正常實驗會出現下面在linux機子上的錯誤

oracle@gujunpu-HP-ProBook-4410s:~$ export ORACLE_SID=gujunpu

oracle@gujunpu-HP-ProBook-4410s:~$ export NLS_DATE_FORMAT="YYYY/MM/DD HH24:MI"

oracle@gujunpu-HP-ProBook-4410s:~$ rman

Recovery Manager: Release 11.2.0.1.0 - Production on Wed Nov 13 18:01:34 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

RMAN> connect target

connected to target database: GUJUNPU (DBID=2213880084)

RMAN> backup database;

Starting backup at 2013/11/13 18:03

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=125 device type=DISK

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 11/13/2013 18:03:49

ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode

continuing other job steps, job failed will not be re-run

channel ORA_DISK_1: starting full datafile backup set

channel ORA_DISK_1: specifying datafile(s) in backup set

including current control file in backup set

including current SPFILE in backup set

channel ORA_DISK_1: starting piece 1 at 2013/11/13 18:03

channel ORA_DISK_1: finished piece 1 at 2013/11/13 18:03

piece handle=/u01/app/oracle/flash_recovery_area/GUJUNPU/backupset/2013_11_13/o1_mf_ncsnf_TAG20131113T180349_986mn6p8_.bkp tag=TAG20131113T180349 comment=NONE

channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03009: failure of backup command on ORA_DISK_1 channel at 11/13/2013 18:03:49

ORA-19602: cannot backup or copy active file in NOARCHIVELOG mode

但在一臺windows上的Oracle做實驗時出現下面狀況



E:\程序工作區\JAVA>set ORACL_SID=gujunpu

E:\程序工作區\JAVA>set NLS_DATE_FORMAT=YYYY/MM/DD HH24:MI

E:\程序工作區\JAVA>RMAN

恢復管理器: Release 11.2.0.1.0 - Production on 星期三 11 13 10:15:30 2013

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved

RMAN> connect target;

已連接到目標數據庫: GUJUNPU (DBID=2206206519, 未打開)

RMAN> alter database open;

使用目標數據庫控制文件替代恢復目錄

數據庫已打開

RMAN> connect target;

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-06167: 已經連接

RMAN> backup database;

啓動 backup 2013/11/13 10:16

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=67 設備類型=DISK

RMAN-06169: 無法讀取數據文件的文件標頭5錯誤原因4

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03002: backup 命令 ( 11/13/2013 10:16:43 ) 失敗

RMAN-06056: 無法訪問數據文件5


通過查資料找到發生這種錯誤的原因,我初步斷定的原因是我的某個數據文件offline。你可以去找對應原因的解決辦法

RMAN-06169: could not read file header for datafile 4 error reason 1

The reason code 1 is: 1 - "filename is MISSINGxx in the control file"

...

2 - file is offline

3 - file is not verified

4 - DBWR could not find the file

5 - unable to open file

6 - I/O error during read

7 - file header is corrupt

8 - file is not a datafile

9 - file does not belong to this database

10 - file number is incorrect

12 - wrong file version

15 - control file is not current.


先檢查數據文件狀態

SQL> select file_name,tablespace_name,online_status from dba_data_files;

FILE_NAME                                TABLESPACE_NAME                ONLINE_

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

G:\APP\ADMINISTRATOR\ORADATA\GUJUNPU\USE USERS                          ONLINE

RS01.DBF

G:\APP\ADMINISTRATOR\ORADATA\GUJUNPU\UND UNDOTBS1                       ONLINE

OTBS01.DBF

G:\APP\ADMINISTRATOR\ORADATA\GUJUNPU\SYS SYSAUX                         ONLINE

AUX01.DBF

G:\APP\ADMINISTRATOR\ORADATA\GUJUNPU\SYS SYSTEM                         SYSTEM

TEM01.DBF

FILE_NAME                                TABLESPACE_NAME                ONLINE_

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

G:\TEST\DADA01.DBF                   DATA01                     RECOVER


切換到online發現根本不存在,其實我在操作系統上刪除了

SQL> alter database gujunpu datafile 'G:\TEST\DADA01.DBF' online;

alter database gujunpu datafile 'G:\TEST\DADA01.DBF' online

*

1 行出現錯誤:

ORA-01157: 無法標識/鎖定數據文件 5 - 請參閱 DBWR 跟蹤文件

ORA-01110: 數據文件 5: 'G:\TEST\DADA01.DBF'

不能直接刪除數據文件,只能刪除表空間。這裏有個問題是如果你的表空間見有多個數據文件,並且表空間還有用。我目前知道的一個比較麻煩的方法是:

  1. 使要刪除的數據文件脫機

  2. exp導出,full=y

  3. 刪除表空間includeing contents

  4. imp導入再聯機

下面直接刪除

SQL> drop tablespace data01 including contents;

表空間已刪除。

SQL> select file_name,tablespace_name,online_status from dba_data_files;

FILE_NAME                                TABLESPACE_NAME                ONLINE_

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

G:\APP\ADMINISTRATOR\ORADATA\GUJUNPU\USE USERS                          ONLINE

RS01.DBF

G:\APP\ADMINISTRATOR\ORADATA\GUJUNPU\UND UNDOTBS1                       ONLINE

OTBS01.DBF

G:\APP\ADMINISTRATOR\ORADATA\GUJUNPU\SYS SYSAUX                         ONLINE

AUX01.DBF

G:\APP\ADMINISTRATOR\ORADATA\GUJUNPU\SYS SYSTEM                         SYSTEM

TEM01.DBF

FILE_NAME                                TABLESPACE_NAME                ONLINE_

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

結果可以出現正常的備份錯誤

RMAN> backup database

2> ;

啓動 backup 2013/11/13 18:20

使用目標數據庫控制文件替代恢復目錄

分配的通道: ORA_DISK_1

通道 ORA_DISK_1: SID=134 設備類型=DISK

通道 ORA_DISK_1: 正在啓動全部數據文件備份集

通道 ORA_DISK_1: 正在指定備份集內的數據文件

RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 11/13/2013 18:20:20 ) 失敗

ORA-19602: 無法按 NOARCHIVELOG 模式備份或複製活動文件

繼續執行其他作業步驟, 將不重新運行失敗的作業

通道 ORA_DISK_1: 正在啓動全部數據文件備份集

通道 ORA_DISK_1: 正在指定備份集內的數據文件

備份集內包括當前控制文件

備份集內包括當前的 SPFILE

通道 ORA_DISK_1: 正在啓動段 1 2013/11/13 18:20

通道 ORA_DISK_1: 已完成段 1 2013/11/13 18:20

段句柄=G:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\GUJUNPU\BACKUPSET\2013_11_13\O1_MF_NCSNF_TAG20

P 標記=TAG20131113T182019 註釋=NONE

通道 ORA_DISK_1: 備份集已完成, 經過時間:00:00:01

RMAN-00571: ===========================================================

RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============

RMAN-00571: ===========================================================

RMAN-03009: backup 命令 (ORA_DISK_1 通道上, 11/13/2013 18:20:20 ) 失敗

ORA-19602: 無法按 NOARCHIVELOG 模式備份或複製活動文件


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章