1.错误描述:在做一次恢复后,数据库能正常打开,数据表也能正常查询,但过不了多久数据库会自动down掉
2.查看alert日志,发现如下信息
Thu May 05 13:30:26 2011
Flush retried for xcb 0x333acd74, pmd 0x33bdaa68
Doing block recovery for file 2 block 499
No block recovery was needed
Thu May 05 13:30:27 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_mmon_2392.trc:
ORA-00600: 内部错误代码, 参数: [4194], [15], [8], [], [], [], [], []
ORA-600 encountered when generating server alert SMG-4120
Flush retried for xcb 0x333acd74, pmd 0x33bdaa68
Doing block recovery for file 2 block 499
No block recovery was needed
Thu May 05 13:30:29 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_mmon_2392.trc:
ORA-00600: 内部错误代码, 参数: [4194], [15], [8], [], [], [], [], []
ORA-00001: 违反唯一约束条件 (SYS.RECENT_RESOURCE_INCARNATIONS$P)
Flush retried for xcb 0x333acd74, pmd 0x33bdaa68
Doing block recovery for file 2 block 499
No block recovery was needed
Thu May 05 13:30:32 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_mmon_2392.trc:
ORA-00600: 内部错误代码, 参数: [4194], [15], [8], [], [], [], [], []
ORA-00600: 内部错误代码, 参数: [4194], [15], [8], [], [], [], [], []
ORA-00001: 违反唯一约束条件 (SYS.RECENT_RESOURCE_INCARNATIONS$P)
Thu May 05 13:30:40 2011
Flush retried for xcb 0x333acd74, pmd 0x33bdaa68
Doing block recovery for file 2 block 499
No block recovery was needed
Thu May 05 13:30:41 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_pmon_836.trc:
ORA-00600: 内部错误代码, 参数: [4194], [15], [8], [], [], [], [], []
Thu May 05 13:30:42 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_pmon_836.trc:
ORA-00600: 内部错误代码, 参数: [4194], [15], [8], [], [], [], [], []
PMON: terminating instance due to error 472
Thu May 05 13:30:42 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_q001_3192.trc:
ORA-00472: PMON 进程因错误而终止
Thu May 05 13:30:43 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_lgwr_1072.trc:
ORA-00472: PMON 进程因错误而终止
Thu May 05 13:30:43 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_mman_660.trc:
ORA-00472: PMON 进程因错误而终止
Thu May 05 13:30:43 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_dbw0_1384.trc:
ORA-00472: PMON 进程因错误而终止
Thu May 05 13:30:43 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_psp0_2288.trc:
ORA-00472: PMON 进程因错误而终止
Thu May 05 13:30:44 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_smon_544.trc:
ORA-00472: PMON 进程因错误而终止
Thu May 05 13:30:44 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_ckpt_300.trc:
ORA-00472: PMON 进程因错误而终止
Thu May 05 13:30:49 2011
Errors in file d:\oracle\product\10.2.0\admin\suredd\bdump\suredd_reco_1700.trc:
ORA-00472: PMON 进程因错误而终止
3.经查询metalink,有如下提示
Short Description of ORA-00600[4194]
---------------------------------------
A mismatch has been detected between Redo records and rollback (Undo)
records.
ARGUMENTS:
Arg [a] Maximum Undo record number in Undo block
Arg [b] Undo record number from Redo block
Refer to Note:39283.1 for more details on the description of this error.
4.根据metalink的提示方案来解决问题(ID 281429.1)(我的数据库版本是10.2.1,window32的)
代码如下:
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 5月 5 14:28:31 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已连接到空闲例程。
/**//** 第一步:启动到nomount状态,创建pfile,
将pfile里面的自动undo管理改为手工管理,并打开数据库*/
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 222301060 bytes
Database Buffers 381681664 bytes
Redo Buffers 7135232 bytes
SQL> create pfile='c:\p1.ora' from spfile;
文件已创建。
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> startup mount pfile='c:\p1.ora';
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 222301060 bytes
Database Buffers 381681664 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string MANUAL
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> alter database open;
数据库已更改。
/**//**第二步:先创建一个回滚段并使用,
再新建一个新的undo表空间,并将老的undo表空间drop*/
SQL> Create rollback segment r01 ;
回退段已创建。
SQL>
SQL> Alter rollback segment r01 online ;
回退段已变更。
SQL> Create undo tablespace undotbs_new datafile 'D:\oracle\product\10.2.0\oradata\suredd\untotbs_new_01.dbf' size 50M;
表空间已创建。
SQL> drop tablespace UNDOTBS1 including contents and datafiles;
表空间已删除。
/**//**第三步:关闭数据库,使用spfile启动到nomount状态(其实就是让undo继续自动管理),
将undo表空间指向新创建的undo表空间,再关闭数据库再启动数据库*/
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 222301060 bytes
Database Buffers 381681664 bytes
Redo Buffers 7135232 bytes
SQL> alter system set undo_tablespace=undotbs_new scope=spfile;
系统已更改。
SQL> shutdown immediate
ORA-01507: ??????
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 222301060 bytes
Database Buffers 381681664 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
SQL> select * from dd.t1;
ID NAME
---------- ----------
1 test1
2 test2
SQL> /
ID NAME
---------- ----------
1 test1
2 test2
SQL> alter system checkpoint;
系统已更改。
SQL> alter system archive log current;
系统已更改。
SQL> select * from dd.t1;
ID NAME
---------- ----------
1 test1
2 test2
SQL> /
ID NAME
---------- ----------
1 test1
2 test2
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS_NEW
SQL>
posted on 2011-05-05 14:53
xrzp 阅读(9772)
评论(2) 编辑 收藏 所属分类:
oracle-备份恢复