您的位置:首页 > 数据库 > Oracle

Oracle安全警示录:加错裸设备导致redo异常

2016-06-02 15:37 405 查看
最近一个朋友数据库异常了,咨询我,通过分析日志发现对方人员根本不懂aix中的裸设备和Oracle数据库然后就直接使用OEM创建新表空间,导致了数据库crash而且不能正常启动

Thread1advancedtologsequence4395
Currentlog#1seq#4395mem#0:/dev/rorcl_redo01
ThuJun1219:28:382014
/*OracleOEM*/CREATESMALLFILETABLESPACE"XIFENFEI"LOGGINGDATAFILE'/dev/orcl_redo04'SIZE2000MEXTENTMANAGEMENT
LOCALSEGMENTSPACEMANAGEMENTAUTO
ORA-1119signalledduring:/*OracleOEM*/CREATESMALLFILETABLESPACE"XIFENFEI"LOGGINGDATAFILE'/dev/orcl_redo04'
SIZE2000MEXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO...
ThuJun1219:36:232014
/*OracleOEM*/CREATESMALLFILETABLESPACE"XIFENFEI"LOGGINGDATAFILE'/dev/orcl_redo03'SIZE2000MEXTENTMANAGEMENT
LOCALSEGMENTSPACEMANAGEMENTAUTO
ThuJun1219:43:562014
ORA-604signalledduring:/*OracleOEM*/CREATESMALLFILETABLESPACE"XIFENFEI"LOGGINGDATAFILE'/dev/orcl_redo03'
SIZE2000MEXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO...
ThuJun1219:48:112014
/*OracleOEM*/CREATESMALLFILETABLESPACE"XIFENFEI"LOGGINGDATAFILE'/dev/rorcl_redo03'SIZE2000MEXTENT
MANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO
ThuJun1219:48:112014
ORA-1537signalledduring:/*OracleOEM*/CREATESMALLFILETABLESPACE"XIFENFEI"LOGGINGDATAFILE'/dev/rorcl_redo03'
SIZE2000MEXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO...
ThuJun1219:48:202014
/*OracleOEM*/CREATESMALLFILETABLESPACE"XIFENFEI"LOGGINGDATAFILE'/dev/rorcl_redo04'SIZE2000MEXTENT
MANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO
ORA-1537signalledduring:/*OracleOEM*/CREATESMALLFILETABLESPACE"XIFENFEI"LOGGINGDATAFILE'/dev/rorcl_redo04'
SIZE2000MEXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO...
FriJun1300:50:372014
Tracedumpingisperformingid=[cdmp_20140613005032]
FriJun1300:50:402014
Reconfigurationstarted(oldinc4,newinc6)
Listofnodes:
0
GlobalResourceDirectoryfrozen
*deadinstancedetected-domain0invalid=TRUE
…………
FriJun1300:50:402014
Beginninginstancerecoveryof1threads
Reconfigurationcomplete
FriJun1300:50:412014
parallelrecoverystartedwith7processes
FriJun1300:50:432014
Startedredoscan
FriJun1300:50:432014
Errorsinfile/oracle/admin/orcl/bdump/orcl1_smon_213438.trc:
ORA-00316:log3ofthread2,type0inheaderisnotlogfile
ORA-00312:onlinelog3thread2:'/dev/rorcl_redo03'
FriJun1300:50:432014
Errorsinfile/oracle/admin/orcl/bdump/orcl1_smon_213438.trc:
ORA-00316:log3ofthread2,type0inheaderisnotlogfile
ORA-00312:onlinelog3thread2:'/dev/rorcl_redo03'
SMON:terminatinginstanceduetoerror316
FriJun1300:50:432014
Errorsinfile/oracle/admin/orcl/bdump/orcl1_lgwr_335980.trc:
ORA-00316:logofthread,typeinheaderisnotlogfile
InstanceterminatedbySMON,pid=213438
从这里可以看出来,在使用OEM创建表空间的过程中犯了两个错误
1.未分清楚aix的块设备和字符设备的命名方式
2.对于2节点正在使用的currentredo作为不适用设备当作未使用设备来创建新表空间
由于创建表空间的使用了错误的文件和错误的设备,导致2节点的当前redo(/dev/rorcl_redo03)被损坏(因为先读redoheader,所以数据库中优先反馈出来的是ORA-00316:logofthread,typeinheaderisnotlogfile).从而导致数据库2节点先crash,然后节点1进行实例恢复,但是由于2节点的currentredo已经损坏,导致实例恢复无法完成,从而两个节点都crash.因为是rac的一个节点的当前redo损坏,数据库无法正常.
如果有备份该数据库可以使用备份还原进行恢复,如果没有备份只能使用强制拉库的方法抢救数据.希望不要发生一个大的数据丢失悲剧
介绍这个案例希望给大家以警示:对数据库的裸设备操作请谨慎,不清楚切不可乱操作,否则后果严重

更多精彩Oracle内容请关注我:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: