故障分析:
UNDO表空間資料檔案受損,導緻執行更新操作失敗。
故障解決:
建立的新的undo表空間,置為 預設,AUTO,正常打開資料庫。
Microsoft Windows [版本 5.2.3790]
(C) 版權所有 1985-2003 Microsoft Corp.
C:\Documents and Settings\Administrator>sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 26 15:27:45 2014
Copyright (c) 1982, 2005, Oracle. All rights reserved.
連接配接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> select open_mode from v$database;
OPEN_MODE
----------
READ WRITE
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string MANUAL
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> alter system set undo_management=auto scope=spfile;
系統已更改。
SQL> shutdown immediate
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 88081188 bytes
Database Buffers 176160768 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
ORA-00607: 當更改資料塊時出現内部錯誤
ORA-00600: 内部錯誤代碼, 參數: [4194], [19], [13], [], [], [], [], []
SQL> shutdown abort
ORACLE 例程已經關閉。
SQL> conn /as sysdba
已連接配接到空閑例程。
SQL> startup mount
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 88081188 bytes
Database Buffers 176160768 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> alter system set undo_management=manual scope=spfile;
系統已更改。
SQL> shutdown immediate;
ORA-01109: 資料庫未打開
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 88081188 bytes
Database Buffers 176160768 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
資料庫已經打開。
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE\SYSTEM01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE\UNDOTBS01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE\SYSAUX01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE\USERS01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE\EXAMPLE01.DBF
E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE\CCEN.ORA
已選擇6行。
SQL> create undo tablespace undotbs2 datafile 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\
ORACLE\UNDOTBS02.dbf' size 200m;
表空間已建立。
SQL> show parameter undo;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string MANUAL
undo_retention integer 900
undo_tablespace string UNDOTBS1
SQL> alter system set undo_tablespace=undotbs2 scope=spfile;
系統已更改。
SQL> alter system set undo_management=auto scope=spfile;
系統已更改。
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string E:\ORACLE\PRODUCT\10.2.0\DB_1\
DATABASE\SPFILEORACLE.ORA
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> startup
ORACLE 例程已經啟動。
Total System Global Area 272629760 bytes
Fixed Size 1248476 bytes
Variable Size 88081188 bytes
Database Buffers 176160768 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
資料庫已經打開。
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS2
SQL>