环境模拟
因为手头没有19.3的环境,用了一个centos 7.9下的18.3的cdb环境,开启了归档
SQL> create table t(x int);
end; 2 3 4 5 6 7 / ^Cbegin * |
大致流程
- 配置参数、事件启动
- Alter database open [resetlogs];+alter database recover usning bakcup controlfle;
- Undo使用manual
- 处理undo表空间
- 其他强起的伴生问题处理
针对性错误
ORA-00313
Total System Global Area 1593835440 bytes Database Buffers 620756992 bytes ORA-00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2 thread 1: ‘/opt/oracle/oradata/ORCLCDB/redo02.log‘ ORA-27037: unable to obtain file status Linux–x86_64 Error: 2: No such file or directory Additional information: 7
|
*._allow_resetlogs_corruption=true
vi /opt/oracle/product/18c/dbhome_1/dbs/initORCLCDB.ora *._allow_resetlogs_corruption=true
startup mount pfile=’/opt/oracle/product/18c/dbhome_1/dbs/initORCLCDB.ora‘
|
ORA-00600: [kcbzib_kcrsds_1]
SQL> alter database open resetlogs; * ERROR at line 1: ORA-00603: ORACLE server session terminated by fatal error ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-00704: bootstrap process failure ORA-00600: internal error code, arguments: [kcbzib_kcrsds_1], [], [], [], [], [], [], [], [], [], [], [] Session ID: 237 Serial number: 37189
|
’ *.event=’21307096 trace name context forever, level 3′
vi /opt/oracle/product/18c/dbhome_1/dbs/initORCLCDB.ora
|
ORA-00600: [4194]
* ERROR at line 1: ORA-00603: ORACLE server session terminated by fatal error ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00600: internal error code, arguments: [4194], [13], [16], [], [], [], [], [], [], [], [], [] Session ID: 237 Serial number: 52596
|
*.undo_management=manual
vi /opt/oracle/product/18c/dbhome_1/dbs/initORCLCDB.ora *._allow_resetlogs_corruption=true *.event=’21307096 trace name context forever, level 3′ *.undo_management=manual
|
后续收尾
重建undotbs
SQL> startup mount pfile=’/opt/oracle/product/18c/dbhome_1/dbs/initORCLCDB.ora’;
Total System Global Area 1593835440 bytes Variable Size 956301312 bytes Database Buffers 620756992 bytes Database mounted.
CON_ID CON_NAME OPEN MODE RESTRICTED ———- —————————— ———- ———- 2 PDB$SEED READ ONLY NO 3 ORCLPDB1 MOUNTED 4 TEST MOUNTED SQL> alter pluggable database test open;
SQL> alter session set container=test;
Session altered.
SQL> select * from t; select * from t * ERROR at line 1: |
表t完全丢失了
检查undo段情况,这次模拟运气不好,没有损坏的undo段,这种时候直接替换undotbs就可以了
SQL> select SEGMENT_ID,SEGMENT_NAME,STATUS,TABLESPACE_NAME from dba_rollback_segs where status not in(‘ONLINE’,’OFFLINE’);
SQL> SQL> SQL> select KTUXEUSN,KTUXESLT,KTUXESTA,KTUXECFL,KTUXESIZ from x$ktuxe where KTUXESTA=’ACTIVE’ and KTUXECFL=’DEAD’;
SQL> drop tablespace UNDOTBS1;
SQL> create undo tablespace UNDOTBS1 datafile ‘/opt/oracle/oradata/ORCLCDB/undotbs1.dbf’ size 1g autoextend on;
|
*._corrupted_rollback_segments=(_SYSSMU4_xxxxxxx$)
伴生的错误ORA-00600:[kdsgrp1]
ORA-00600: internal error code, arguments: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], [] ORA-06512: at “SYS.DBMS_SPD_INTERNAL”, line 134 ORA-06512: at “SYS.DBMS_SPD”, line 257 ORA-06512: at “SYS.DBMS_SPD”, line 333 ORA-06512: at line 1 |
排查完是sys.COL_USAGE$有损坏。影响不大。正常流程这个应该是将强起的库导出再重建。毕竟内置的很多表损坏不可知。
总结
流程上11g的强起区别不大,ora600[2662]、[2663]变成[kcbzib_kcrsds_1],本质还是一致性问题,还是需要推scn。
event=21307096 这个事件包含整个12c的生命周期了。从12.1-19都能用。
参考:
Force Open Database after applying Patch 21307096 (Doc ID 2674196.1)
Step by step to resolve ORA-600 4194 4193 4197 on database crash (Doc ID 1428786.1)
原文地址:https://blog.csdn.net/q195136130/article/details/134630808
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_16703.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!