因为SYSAUX数据文件增加过快,一直在自动扩展,严重影响了性能,因此在OEM中给Oracle11GRAC库增加一个数据文件,增加完发现文件自动创建到了文件系统下,老司机都知道:
在OracleRAC环境中,数据文件都是要存放在ASM共享存储上的,这样两个节点才能同时访问。而当你在某一节点下把数据文件创建在本地磁盘的时候,那么在另一节点上要访问该数据文件的时候就会报错。
老司机有办法,成熟的数据库最大的优势就是考虑到了各种误操作等,都有办法补救,在归档模式下,RMAN工具是DBA的好帮手,这次可以使用RMAN处理,将文件系统下文件烤贝到ASM,然后用归档恢复保持数据一致性,步骤如下:
1、找到存在问题的数据文件,做好标记
[oracle
rac21~]sqlplus/nologSQL*Plus:Release11.2.0.4.0ProductiononSunFeb:58:
Copyright(c),,Oracle.Allrightsreserved.
SQLconn/assysdba
Connected.
SQLselectfile#,namefromvdatafile;
FILE#-------NAME---------------------------------------------------------------------
1+DATA/orcl2/datafile/system..
2+DATA/orcl2/datafile/sysaux..
3+DATA/orcl2/datafile/undotbs1..
4+DATA/orcl2/datafile/undotbs2..
5+DATA/orcl2/datafile/users..
6+DATA/orcl2/datafile/yph01.dbf
7/oracle/orcl2/datafile/sysaux02.ora----------------记住这个文件是7号文件
7rowsselected.
2、再次确认数据库归档状态是自动归档模式
SQLarchiveloglist;
DatabaselogmodeArchiveMode
AutomaticarchivalEnabled
ArchivedestinationUSE_DB_RECOVERY_FILE_DEST
Oldestonlinelogsequence
Nextlogsequencetoarchive
Currentlogsequence
SQLexit
3、使用RMAN命令将7号文件拷贝到ASM
[oracle
rac21~]rmantarget/RecoveryManager:Release11.2.0.4.0-ProductiononSunFeb:09:
Copyright(c),,Oracleand/oritsaffiliates.Allrightsreserved.
connectedtotargetdatabase:ORCL2(DBID=)
RMANcopydatafile7to+DATA;
4、在sqlplus命令把7号数据文件修改为OFFLINE
SQLalterdatabasedatafile7offline;
5、rman模式下把数据文件路径切换到刚才备份的ASM路径
RMANswitchdatafile7tocopy;
6、rman模式下恢复数据文件7,此时将用到归档日志
RMANrecoverdatafile7;
7、在sqlplus命令模式下重新把该数据文件修改为在线状态
SQLalterdatabasedatafile7online;
8、在另一个节点查看数据文件,并查看数据文件位置,我们可以看到已经迁移到共享磁盘中了,ASM并且自动给此文件起了新名字
SQLselectfile#,namefromvdatafile;
FILE#-------NAME---------------------------------------------------------------------
1+DATA/orcl2/datafile/system..
2+DATA/orcl2/datafile/sysaux..
3+DATA/orcl2/datafile/undotbs1..
4+DATA/orcl2/datafile/undotbs2..
5+DATA/orcl2/datafile/users..
6+DATA/orcl2/datafile/yph01.dbf
7+DATA/orcl2/datafile/sysaux..1063411
7rowsselected.
感谢您的耐心阅读,一起每天进步一点点!
无产阶级的救兵