联系:手机/微信(+86 17813235971) QQ(107644445)
作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]
最近遇到一个硬件恢复朋友的请求,oracle数据库文件恢复出来了,但是在linux上面启动的时候,有两个文件无法检测到,dbv检测正常.

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

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

对于这个故障,我在测试环境进行了重现并且给予解决
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.dbf6 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 bytesFixed Size 2255112 bytesVariable Size 369100536 bytesDatabase Buffers 171966464 bytesRedo Buffers 7843840 bytesDatabase mounted.SQL> select file#, CHECKPOINT_CHANGE# from v$datafile_header; FILE# CHECKPOINT_CHANGE#---------- ------------------ 1 306775013 2 306775013 3 306775013 4 306775013 5 0 6 3067794236 rows selected.RMAN> report schema;Report of database schema for database with db_unique_name XIFENFEIList of Permanent Datafiles===========================File Size(MB) Tablespace RB segs Datafile Name---- -------- -------------------- ------- ------------------------1 770 SYSTEM *** /u01/app/oracle/oradata/xifenfei/system01.dbf2 1950 SYSAUX *** /u01/app/oracle/oradata/xifenfei/sysaux01.dbf3 70 UNDOTBS1 *** /u01/app/oracle/oradata/xifenfei/undotbs01.dbf4 12 USERS *** /u01/app/oracle/oradata/xifenfei/users01.dbf5 0 XIFENFEI *** /u01/app/oracle/oradata/xifenfei/xff01.dbf6 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 catalogcataloged datafile copydatafile copy file name=/u01/app/oracle/oradata/xifenfei/xff01.dbf RECID=1 STAMP=1187684217RMAN> 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 XIFENFEIList of Permanent Datafiles===========================File Size(MB) Tablespace RB segs Datafile Name---- -------- -------------------- ------- ------------------------1 770 SYSTEM *** /u01/app/oracle/oradata/xifenfei/system01.dbf2 1950 SYSAUX *** /u01/app/oracle/oradata/xifenfei/sysaux01.dbf3 70 UNDOTBS1 *** /u01/app/oracle/oradata/xifenfei/undotbs01.dbf4 12 USERS *** /u01/app/oracle/oradata/xifenfei/users01.dbf5 128 XIFENFEI *** /u01/app/oracle/oradata/xifenfei/xff01.dbf6 128 XIFENFEI *** /u01/app/oracle/oradata/xifenfei/xff02.dbfList of Temporary Files=======================File Size(MB) Tablespace Maxsize(MB) Tempfile Name---- -------- -------------------- ----------- --------------------1 123 TEMP 32767 /u01/app/oracle/oradata/xifenfei/temp01.dbfRMAN> alter database open;database opened |
浙公网安备 33010602011771号