解决oracle数据文件路径有回车故障---惜分飞

最近遇到一个硬件恢复朋友的请求,oracle数据库文件恢复出来了,但是在linux上面启动的时候,有两个文件无法检测到,dbv检测正常.
 

checkpiont_err


 

dbv


通过分析是由于文件无法找到原因导致
 

file-not-found


进一步检查发现原库这两个文件结尾带有回车,但是恢复出来的文件不带回车
 

huiche


对于这个故障,我在测试环境进行了重现并且给予解决
1. 创建带回车键数据文件

SQL> create tablespace xifenfei datafile '/u01/app/oracle/oradata/xifenfei/xff01.dbf

  2  ' size 128m;

Tablespace created.

SQL> alter tablespace xifenfei add datafile '/u01/app/oracle/oradata/xifenfei/xff02.dbf' size 128M;

Tablespace altered.

SQL> select name from v$datafile;

NAME

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

/u01/app/oracle/oradata/xifenfei/system01.dbf

/u01/app/oracle/oradata/xifenfei/sysaux01.dbf

/u01/app/oracle/oradata/xifenfei/undotbs01.dbf

/u01/app/oracle/oradata/xifenfei/users01.dbf

/u01/app/oracle/oradata/xifenfei/xff01.dbf

/u01/app/oracle/oradata/xifenfei/xff02.dbf

6 rows selected.

2.操作系统层面查看文件(在我的ssh工具中,可以看到带回车键文件和不带回车文件不一样,使用的是crt工具,其他工具是否显示不确定)

[oracle@xifenfei ~]$ cd /u01/app/oracle/oradata/xifenfei/

[oracle@xifenfei xifenfei]$ ls -l xff*

-rw-r----- 1 oracle oinstall 134225920 Dec 14 08:05 xff01.dbf?

-rw-r----- 1 oracle oinstall 134225920 Dec 14 08:05 xff02.dbf

3. 操作系统层面重命名数据文件
[oracle@xifenfei xifenfei]$ mv xff01.dbf* xff01.dbf
[oracle@xifenfei xifenfei]$ ls -l xff*
-rw-r—– 1 oracle oinstall 134225920 Dec 14 08:05 xff01.dbf
-rw-r—– 1 oracle oinstall 134225920 Dec 14 08:05 xff02.dbf
[/shell]
3. 数据库层面重启看文件情况,发现文件不能被正常发现(当然不能,文件被os层面mv了)

SQL> shutdown abort;

ORACLE instance shut down.

SQL> startup mount;

ORACLE instance started.

Total System Global Area  551165952 bytes

Fixed Size                  2255112 bytes

Variable Size             369100536 bytes

Database Buffers          171966464 bytes

Redo Buffers                7843840 bytes

Database mounted.

SQL> select file#, CHECKPOINT_CHANGE# from v$datafile_header;

     FILE# CHECKPOINT_CHANGE#

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

         1          306775013

         2          306775013

         3          306775013

         4          306775013

         5                  0

         6          306779423

6 rows selected.

RMAN> report schema;

Report of database schema for database with db_unique_name XIFENFEI

List of Permanent Datafiles

===========================

File Size(MB) Tablespace           RB segs Datafile Name

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

1    770      SYSTEM               ***     /u01/app/oracle/oradata/xifenfei/system01.dbf

2    1950     SYSAUX               ***     /u01/app/oracle/oradata/xifenfei/sysaux01.dbf

3    70       UNDOTBS1             ***     /u01/app/oracle/oradata/xifenfei/undotbs01.dbf

4    12       USERS                ***     /u01/app/oracle/oradata/xifenfei/users01.dbf

5    0        XIFENFEI             ***     /u01/app/oracle/oradata/xifenfei/xff01.dbf

6    128      XIFENFEI             ***     /u01/app/oracle/oradata/xifenfei/xff02.dbf

4. 解决控制文件和数据文件实际名称不一致问题

RMAN> catalog datafilecopy '/u01/app/oracle/oradata/xifenfei/xff01.dbf';

using target database control file instead of recovery catalog

cataloged datafile copy

datafile copy file name=/u01/app/oracle/oradata/xifenfei/xff01.dbf RECID=1 STAMP=1187684217

RMAN> switch datafile 5 to copy;

datafile 5 switched to datafile copy "/u01/app/oracle/oradata/xifenfei/xff01.dbf"

RMAN> report schema;

Report of database schema for database with db_unique_name XIFENFEI

List of Permanent Datafiles

===========================

File Size(MB) Tablespace           RB segs Datafile Name

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

1    770      SYSTEM               ***     /u01/app/oracle/oradata/xifenfei/system01.dbf

2    1950     SYSAUX               ***     /u01/app/oracle/oradata/xifenfei/sysaux01.dbf

3    70       UNDOTBS1             ***     /u01/app/oracle/oradata/xifenfei/undotbs01.dbf

4    12       USERS                ***     /u01/app/oracle/oradata/xifenfei/users01.dbf

5    128      XIFENFEI             ***     /u01/app/oracle/oradata/xifenfei/xff01.dbf

6    128      XIFENFEI             ***     /u01/app/oracle/oradata/xifenfei/xff02.dbf

List of Temporary Files

=======================

File Size(MB) Tablespace           Maxsize(MB) Tempfile Name

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

1    123      TEMP                 32767       /u01/app/oracle/oradata/xifenfei/temp01.dbf

RMAN> alter database open;

database opened

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值