启动数据库报600错
1.具体错误信息
SQL> alter database open; alter database open * ERROR at line 1: ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr], [], [], [], [], [], [], [], [], [], [], []
--查看日志:
Started redo scan Hex dump of (file 3, block 995) in trace file /u01/app/oracle/diag/rdbms/zds_p/ZDS/trace/ZDS_ora_8567.trc Reading datafile '/u01/app/oracle/oradata/ZDS/undotbs01.dbf' for corruption at rdba: 0x00c003e3 (file 3, block 995) Reread (file 3, block 995) found same corrupt data (logically corrupt) Write verification failed for File 3 Block 995 (rdba 0xc003e3) Errors in file /u01/app/oracle/diag/rdbms/zds_p/ZDS/trace/ZDS_ora_8567.trc (incident=52959): ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr], [], [], [], [], [], [], [], [], [], [], [] Incident details in: /u01/app/oracle/diag/rdbms/zds_p/ZDS/incident/incdir_52959/ZDS_ora_8567_i52959.trc Use ADRCI or Support Workbench to package the incident. See Note 411.1 at My Oracle Support for error and packaging details. Aborting crash recovery due to error 600 Errors in file /u01/app/oracle/diag/rdbms/zds_p/ZDS/trace/ZDS_ora_8567.trc: ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr], [], [], [], [], [], [], [], [], [], [], [] Errors in file /u01/app/oracle/diag/rdbms/zds_p/ZDS/trace/ZDS_ora_8567.trc: ORA-00600: internal error code, arguments: [kcratr_scan_lastbwr], [], [], [], [], [], [], [], [], []
--查看具体坏块文件,表空间
SQL> col name for a60 SQL> select file# ,name from v$datafile; FILE# NAME ---------- ------------------------------------------------------------ 1 /u01/app/oracle/oradata/ZDS/system01.dbf 2 /u01/app/oracle/oradata/ZDS/sysaux01.dbf 3 /u01/app/oracle/oradata/ZDS/undotbs01.dbf 4 /u01/app/oracle/oradata/ZDS/users01.dbf
undo表空间坏块
2.解决方法:
2.1.创建pfile
SQL> create pfile from spfile; File created. SQL> shutdown immedaite; SP2-0717: illegal SHUTDOWN option SQL> shutdown immediate ORA-01109: database not open Database dismounted. ORACLE instance shut down. SQL> startup mount pfile ='/u01/app/oracle/product/11.2.0.4/db_1/dbs/initZDS.ora'; ORACLE instance started. Total System Global Area 709836800 bytes Fixed Size 2256632 bytes Variable Size 440402184 bytes Database Buffers 264241152 bytes Redo Buffers 2936832 bytes Database mounted. SQL> alter database datafile '/u01/app/oracle/oradata/ZDS/undotbs01.dbf' offline drop; Database altered. SQL> alter database open; Database altered.
--不删除数据文件
SQL> drop tablespace UNDOTBS1 INCLUDING CONTENTS;
--删除数据文件
SQL> drop tablespace UNDOTBS1 including contents AND DATAFILES CASCADE CONSTRAINTS ; drop tablespace UNDOTBS1 including contents AND DATAFILES CASCADE CONSTRAINTS * ERROR at line 1: ORA-38881: Cannot drop tablespace UNDOTBS1 on primary database due to guaranteed restore points.
2.2报错:有还原点
--查看还原点,
SQL> SELECT NAME, SCN, TIME, DATABASE_INCARNATION#, GUARANTEE_FLASHBACK_DATABASE,STORAGE_SIZE FROM V$RESTORE_POINT; 2 3 NAME SCN TIME DATABASE_INCARNATION# GUA STORAGE_SIZE ------------------------------------------------------------ ---------- --------------------------------------------------------------------------- --------------------- --- ------------ BEFORE_POINT_G3557714 04-AUG-16 06.57.49.000000000 PM 6 YES4246732800
--删除还原点
SQL> drop restore point BEFORE_POINT_G; Restore point dropped. SQL>
--再删:
SQL> drop tablespace UNDOTBS1 including contents AND DATAFILES CASCADE CONSTRAINTS ; drop tablespace UNDOTBS1 including contents AND DATAFILES CASCADE CONSTRAINTS * ERROR at line 1: ORA-01548: active rollback segment '_SYSSMU1_3724004606$' found, terminate dropping tablespace
原因:正在使用
--解决方法:
SQL> select SEGMENT_NAME,TABLESPACE_NAME,STATUS from dba_rollback_segs; SEGMENT_NAME TABLESPACE_NAME STATUS ------------------------------ ------------------------------ ---------------- SYSTEM SYSTEM ONLINE _SYSSMU10_1197734989$ UNDOTBS1 NEEDS RECOVERY _SYSSMU9_1650507775$ UNDOTBS1 NEEDS RECOVERY _SYSSMU8_517538920$ UNDOTBS1 NEEDS RECOVERY _SYSSMU7_2070203016$ UNDOTBS1 NEEDS RECOVERY _SYSSMU6_1263032392$ UNDOTBS1 NEEDS RECOVERY _SYSSMU5_898567397$ UNDOTBS1 NEEDS RECOVERY _SYSSMU4_1254879796$ UNDOTBS1 NEEDS RECOVERY _SYSSMU3_1723003836$ UNDOTBS1 NEEDS RECOVERY _SYSSMU2_2996391332$ UNDOTBS1 NEEDS RECOVERY
--修改init文件,需要把上述查询的回滚段名称全部写进去
*._CORRUPTED_ROLLBACK_SEGMENTS = (_SYSSMU1_3724004606$,_SYSSMU10_1197734989$....,_SYSSMU2_2996391332$)
--然后删除,成功
SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup pfile ='/u01/app/oracle/product/11.2.0.4/db_1/dbs/initZDS.ora'; ORACLE instance started. Total System Global Area 709836800 bytes Fixed Size 2256632 bytes Variable Size 440402184 bytes Database Buffers 264241152 bytes Redo Buffers 2936832 bytes Database mounted. Database opened. SQL> drop tablespace UNDOTBS1 including contents AND DATAFILES CASCADE CONSTRAINTS ; Tablespace dropped.
3.重新创建undo表空间
SQL> create undo tablespace undotbs1 datafile '/u01/app/oracle/oradata/ZDS/undotbs01.dbf' size 1000M reuse; Tablespace created. SQL> select name,issys_modifiable from v$parameter where name='undo_management' or name='rollback_segments'; NAME ISSYS_MOD ------------------------------------------------------------ --------- rollback_segments FALSE undo_management FALSE
3.1改回init文件,重启数据库
SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup pfile ='/u01/app/oracle/product/11.2.0.4/db_1/dbs/initZDS.ora'; ORACLE instance started. Total System Global Area 709836800 bytes Fixed Size 2256632 bytes Variable Size 440402184 bytes Database Buffers 264241152 bytes Redo Buffers 2936832 bytes Database mounted. cDatabase opened.
3.2更新spfile
SQL>create spfile from pfile ='/u01/app/oracle/product/11.2.0.4/db_1/dbs/initZDS.ora'; File created. SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down. SQL> startup ORACLE instance started. Total System Global Area 709836800 bytes Fixed Size 2256632 bytes Variable Size 440402184 bytes Database Buffers 264241152 bytes Redo Buffers 2936832 bytes Database mounted. Database opened.
至此解决完毕
版权声明:本文为博主原创文章,未经博主允许不得转载。
oracle 打不开,回滚段坏块
- 上一篇:linux按指定时间删除文件和文件夹
- 下一篇:Oracle执行计划详解