RMAN简单实验引出的RMAN-06169错误

来源:互联网 发布:电脑无法连接有线网络 编辑:程序博客网 时间:2024/06/07 00:47

 

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> 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;  --应该先recover,但文件不存在,之前也没有备份

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


再去备份就没有问题了

原创粉丝点击