UNDO表空间损坏,爆满,ORA-600[4194]/[4193]异常解决
UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决模拟手工删除UNDO表空间 在ORADATA 中把UNDOTBS01.DBF
UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决
模拟手工删除UNDO表空间 在ORADATA 中把UNDOTBS01.DBF 删除模拟启库SQL> STARUP;*第 1 行出现错误:ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 2: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF'
利用系统本身的默认手动管理 MANUAL UNDO 表空间 SYSTEM 启动库 SQL> CREATE PFILE='C:\PFILE20130930.ORA' FROM SPFILE;SQL> SHUTDOWN IMMEDIATE;编辑PFILE 文件 修改
*.undo_management='MANUAL' *.undo_tablespace='SYSTEM'保存SQL> startup pfile='c:\pfile1.ora'ORACLE 例程已经启动。Total System Global Area 167772160 bytesFixed Size 1247900 bytesVariable Size 83887460 bytesDatabase Buffers 79691776 bytesRedo Buffers 2945024 bytes数据库装载完毕。ORA-01157: 无法标识/锁定数据文件 2 - 请参阅 DBWR 跟踪文件ORA-01110: 数据文件 2: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF'SQL> show parameter undo;NAME TYPE VALUE------------------------------------ ----------- ----------------undo_management string MANUALundo_retention integer 900undo_tablespace string systemSQL> alter database datafile 2 offline;数据库已更改。SQL> alter database open;数据库已更改。SQL> create undo tablespace undotbs02 datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS02.DBF' size 100M;表空间已创建。SQL> alter system set undo_tablespace='undotbs02' scope=spfile;alter system set undo_tablespace='undotbs02' scope=spfile*第 1 行出现错误:ORA-32001: 已请求写入 SPFILE, 但是在启动时未指定 SPFILE
--因为我们是利用PFILE启动的 这个时候我们应该去修改PFILE 文件,再重新启库
*.undo_management='AUTO' *.undo_tablespace='UNDOTBS02'
SQL> shutdown immediate;数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup pfile='c:\pfile1.ora'ORACLE 例程已经启动。
Total System Global Area 167772160 bytesFixed Size 1247900 bytesVariable Size 83887460 bytesDatabase Buffers 79691776 bytesRedo Buffers 2945024 bytes数据库装载完毕。数据库已经打开。SQL>SQL>SQL> show parameter undo;
NAME TYPE VALUE------------------------------------ ----------- ------------------------------undo_management string AUTOundo_retention integer 900undo_tablespace string UNDOTBS02SQL>create spfile from pfile
文件已创建。这里我们UNDO表空间恢复完毕
此方法还可以解决启动的时候出现ORA-600[4194]/[4193]错误Tue Feb 14 09:34:11 2012Errors in file d:\oracle\product\10.2.0\admin\interlib\bdump\interlib_smon_2784.trc:ORA-01595: error freeing extent (2) of rollback segment (3))ORA-00607: Internal error occurred while making a change to a data blockORA-00600: internal error code, arguments: [4194], [6], [30], [], [], [], [], []如果出现极端的情况可能需要做如下处理:1.使用_offline_rollback_segments和_corrupted_rollback_segments屏蔽掉有问题的undo segment2.继续可能出现ora-600[2662],需要推进scn