91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ORA-600(2662)錯誤的重現和解決(二)

發布時間:2020-08-17 09:08:46 來源:ITPUB博客 閱讀:315 作者:路途中的人2012 欄目:建站服務器

前兩天同事在測試DATA GUARD的時候將主庫的ONLINE日志意外覆蓋,造成數據庫無法打開,采用隱含參數的方法打開又碰到ORA-600錯誤,最后采用設置EVENTS的方式解決。

由于是在別人的機器上操作,而且很多操作都是摸索進行,因此沒有將操作記錄下來。現在打算重現一下問題并簡單記錄解決過程。

上篇已經描述了問題的產生步驟,下面描述解決這個問題的方法。

ORA-600(2662)錯誤的重現和解決(一):http://yangtingkun.itpub.net/post/468/464682

 

 

產生問題的根源在于啟動STANDBY數據庫的時候,覆蓋了PRIMARY數據庫的在線LOGFILE

嘗試恢復數據庫:

SQL> CONN /@YTK AS SYSDBA
已連接到空閑例程。
SQL> STARTUP MOUNT
ORACLE
例程已經啟動。

Total System Global Area  251658240 bytes
Fixed Size                  1290012 bytes
Variable Size             167772388 bytes
Database Buffers           75497472 bytes
Redo Buffers                7098368 bytes
數據庫裝載完畢。
SQL> RECOVER DATABASE UNTIL CANCEL;
ORA-00279:
更改 5706539056 ( 12/11/2007 15:49:26 生成) 對于線程 1 是必需的
ORA-00289:
建議: E:\ORACLE\ORADATA\YTK\ARCHIVELOG\ARC01333_0577472831.001
ORA-00280:
更改 5706539056 (用于線程 1) 在序列 #1333


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547:
警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01194:
文件 1 需要更多的恢復來保持一致性
ORA-01110:
數據文件 1:
'E:\ORACLE\ORADATA\YTK\DATAFILE\O1_MF_SYSTEM_1TDY2CXS_.DBF'


ORA-01112:
未啟動介質恢復

看來數據庫已經無法通過正常方式啟動了。這時候最好的辦法是通過數據庫的備份來進行恢復,通過不完全恢復來恢復數據庫。

但是同事當時沒有數據庫的備份,那么就只能通過非常規的方式打開了。

由于丟失在線日志,所以只能通過添加隱含參數的方式:

SQL> ALTER SYSTEM SET "_allow_resetlogs_corruption" = TRUE SCOPE = SPFILE;

系統已更改。

SQL> SHUTDOWN IMMEDIATE
ORA-01109:
數據庫未打開


已經卸載數據庫。
ORACLE
例程已經關閉。
SQL> STARTUP MOUNT
ORACLE
例程已經啟動。

Total System Global Area  251658240 bytes
Fixed Size                  1290012 bytes
Variable Size             171966692 bytes
Database Buffers           71303168 bytes
Redo Buffers                7098368 bytes
數據庫裝載完畢。
SQL> RECOVER DATABASE UNTIL CANCEL
ORA-00279:
更改 5706539056 ( 12/11/2007 15:49:26 生成) 對于線程 1 是必需的
ORA-00289:
建議: E:\ORACLE\ORADATA\YTK\ARCHIVELOG\ARC01333_0577472831.001
ORA-00280:
更改 5706539056 (用于線程 1) 在序列 #1333


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547:
警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01194:
文件 1 需要更多的恢復來保持一致性
ORA-01110:
數據文件 1:
'E:\ORACLE\ORADATA\YTK\DATAFILE\O1_MF_SYSTEM_1TDY2CXS_.DBF'


ORA-01112:
未啟動介質恢復


SQL> ALTER DATABASE OPEN RESETLOGS;
ALTER DATABASE OPEN RESETLOGS
*
1 行出現錯誤:
ORA-01092: ORACLE
實例終止。強制斷開連接

檢查alert文件:

ALTER DATABASE   MOUNT
Tue Dec 11 17:16:19 2007
Setting recovery target incarnation to 1
Tue Dec 11 17:16:19 2007
Successful mount of redo thread 1, with mount id 160883103
Tue Dec 11 17:16:19 2007
Database mounted in Exclusive Mode
Completed: ALTER DATABASE   MOUNT
Tue Dec 11 17:16:46 2007
ALTER DATABASE RECOVER  DATABASE UNTIL CANCEL 
Tue Dec 11 17:16:46 2007
Media Recovery Start
 parallel recovery started with 2 processes
ORA-279 signalled during: ALTER DATABASE RECOVER  DATABASE UNTIL CANCEL  ...
Tue Dec 11 17:16:49 2007
ALTER DATABASE RECOVER    CANCEL 
ORA-1547 signalled during: ALTER DATABASE RECOVER    CANCEL  ...
Tue Dec 11 17:16:51 2007
ALTER DATABASE RECOVER CANCEL
ORA-1112 signalled during: ALTER DATABASE RECOVER CANCEL ...
Tue Dec 11 17:17:00 2007
ALTER DATABASE OPEN RESETLOGS
Tue Dec 11 17:17:01 2007
RESETLOGS is being done without consistancy checks. This may result
in a corrupted database. The database should be recreated.
Tue Dec 11 17:17:01 2007
Errors in file e:\oracle\admin\ytk\udump\ytk_ora_2412.trc:
ORA-00265:
要求實例恢復, 無法設置 ARCHIVELOG 模式

Archive all online redo logfiles failed:265
RESETLOGS after incomplete recovery UNTIL CHANGE 5706539056
Resetting resetlogs activation ID 97264511 (0x5cc237f)
Online log E:\ORACLE\ORADATA\YTK\ONLINELOG\REDO01.LOG: Thread 1 Group 1 was previously cleared
Online log E:\ORACLE\ORADATA\YTK\ONLINELOG\REDO02.LOG: Thread 1 Group 2 was previously cleared
Online log E:\ORACLE\ORADATA\YTK\ONLINELOG\REDO03.LOG: Thread 1 Group 3 was previously cleared
Tue Dec 11 17:17:01 2007
Setting recovery target incarnation to 2
Tue Dec 11 17:17:02 2007
Assigning activation ID 160883103 (0x996e19f)
LGWR: STARTING ARCH PROCESSES
ARC0 started with pid=18, OS id=2904
Tue Dec 11 17:17:02 2007
ARC0: Archival started
ARC1: Archival started
ARC1 started with pid=19, OS id=2584
Tue Dec 11 17:17:03 2007
LGWR: STARTING ARCH PROCESSES COMPLETE
LNS1 started with pid=20, OS id=3328
Tue Dec 11 17:17:06 2007
Thread 1 advanced to log sequence 2
Thread 1 opened at log sequence 2
  Current log# 2 seq# 2 mem# 0: E:\ORACLE\ORADATA\YTK\ONLINELOG\REDO02.LOG
Successful open of redo thread 1
Tue Dec 11 17:17:06 2007
ARC1: Becoming the 'no FAL' ARCH
ARC1: Becoming the 'no SRL' ARCH
Tue Dec 11 17:17:06 2007
ARC0: Becoming the heartbeat ARCH
Tue Dec 11 17:17:06 2007
ARC1: LGWR is scheduled to archive destination LOG_ARCHIVE_DEST_2 after log switch
ARC1: Attempting destination LOG_ARCHIVE_DEST_2 network reconnect (270)
ARC1: Destination LOG_ARCHIVE_DEST_2 network reconnect abandoned
Tue Dec 11 17:17:07 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_arc1_2584.trc:
ORA-00270:
創建歸檔日志  時出錯

ARC1: Error 270 Closing archive log file 'ytks'
Tue Dec 11 17:17:07 2007
******************************************************************
LGWR: Setting 'active' archival for destination LOG_ARCHIVE_DEST_2
******************************************************************
Tue Dec 11 17:17:07 2007
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Tue Dec 11 17:17:07 2007
SMON: enabling cache recovery
Tue Dec 11 17:17:08 2007
Errors in file e:\oracle\admin\ytk\udump\ytk_ora_2412.trc:
ORA-00600:
內部錯誤代碼, 參數: [2662], [1], [1411571767], [1], [1411576360], [4194309], [], []

Tue Dec 11 17:17:11 2007
Errors in file e:\oracle\admin\ytk\udump\ytk_ora_2412.trc:
ORA-00600:
內部錯誤代碼, 參數: [2662], [1], [1411571767], [1], [1411576360], [4194309], [], []

Tue Dec 11 17:17:11 2007
Error 600 happened during db open, shutting down database
USER: terminating instance due to error 600
Tue Dec 11 17:17:11 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_lns1_3328.trc:
ORA-00600:
內部錯誤代碼, 參數: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:11 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_p001_1936.trc:
ORA-00600:
內部錯誤代碼, 參數: [15784], [600], [], [], [], [], [], []
ORA-00600:
內部錯誤代碼, 參數: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:11 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_p000_576.trc:
ORA-00600:
內部錯誤代碼, 參數: [15784], [600], [], [], [], [], [], []
ORA-00600:
內部錯誤代碼, 參數: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:11 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_pmon_3424.trc:
ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:12 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_psp0_1720.trc:
ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:12 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_mman_3256.trc:
ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:12 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_lgwr_3528.trc:
ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:12 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_ckpt_2696.trc:
ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:12 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_dbw0_2148.trc:
ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:14 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_reco_1928.trc:
ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Tue Dec 11 17:17:14 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_smon_1940.trc:
ORA-00600: ??????, ??: [], [], [], [], [], [], [], []

Instance terminated by USER, pid = 2412
ORA-1092 signalled during: ALTER DATABASE OPEN RESETLOGS...

現在出現了前文提到的ORA-600[2662]錯誤。

查詢metalinkOracle給出了兩種解決方法,如果6002662錯誤中第三個參數和第五個參數差別很小,那么就可以通過多次打開關閉數據庫實例的方式來增加SCN的值。

不過這種方式每次啟動只SCN只增加1,重啟三次系統:

ORA-00600: 內部錯誤代碼, 參數: [2662], [1], [1411571770], [1], [1411576360], [4194309], [], []

而目前的SCN和期望的SCN還相差4000多,顯然通過重啟的方法不現實。

Oracle給出的第二種方式是通過設置EVENTS來提高OracleCURRENT SCN,這個方法的前提就是設置_allow_resetlogs_corruption隱含參數為true

SQL> CONN /@YTK AS SYSDBA
已連接到空閑例程。
SQL> STARTUP MOUNT
ORACLE
例程已經啟動。

Total System Global Area  251658240 bytes
Fixed Size                  1290012 bytes
Variable Size             209715428 bytes
Database Buffers           33554432 bytes
Redo Buffers                7098368 bytes
數據庫裝載完畢。
SQL> ALTER SESSION SET EVENTS '10015 TRACE NAME ADJUST_SCN LEVEL 1';

會話已更改。

SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
*
1 行出現錯誤:
ORA-00314:
日志 2 (用于線程 1) 要求的序號 2 0 不匹配
ORA-00312:
聯機日志 2 線程 1: 'E:\ORACLE\ORADATA\YTK\ONLINELOG\REDO02.LOG'

數據庫并沒有打開,而是報錯ORA-314。這個錯誤倒是很容易理解,由于目前的日志被STANDBY數據庫的重置歸檔所覆蓋,造成了這個期望的日志和當前的不滿足。

下面將三個連接日志改名,使PRIMARY數據庫找不到聯機日志:

E:\>CD E:\ORACLE\ORADATA\YTK\ONLINELOG

E:\oracle\oradata\YTK\ONLINELOG>MOVE REDO01.LOG REDO01.LOG.BAK

E:\oracle\oradata\YTK\ONLINELOG>MOVE REDO02.LOG REDO02.LOG.BAK

E:\oracle\oradata\YTK\ONLINELOG>MOVE REDO03.LOG REDO03.LOG.BAK

再次嘗試打開:

SQL> ALTER DATABASE OPEN;
ALTER DATABASE OPEN
*
1 行出現錯誤:
ORA-00313:
無法打開日志組 2 (用于線程 1) 的成員
ORA-00312:
聯機日志 2 線程 1: 'E:\ORACLE\ORADATA\YTK\ONLINELOG\REDO02.LOG'
ORA-27041:
無法打開文件
OSD-04002:
無法打開文件
O/S-Error: (OS 2)
系統找不到指定的文件。

報錯找不到文件,通過RESETLOGS方式創建新的日志:

SQL> RECOVER DATABASE UNTIL CANCEL
ORA-00279:
更改 5706539077 ( 12/12/2007 14:17:14 生成) 對于線程 1 是必需的
ORA-00289:
建議: E:\ORACLE\ORADATA\YTK\ARCHIVELOG\ARC00002_0641139429.001
ORA-00280:
更改 5706539077 (用于線程 1) 在序列 #2


指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
CANCEL
ORA-01547:
警告: RECOVER 成功但 OPEN RESETLOGS 將出現如下錯誤
ORA-01194:
文件 1 需要更多的恢復來保持一致性
ORA-01110:
數據文件 1:
'E:\ORACLE\ORADATA\YTK\DATAFILE\O1_MF_SYSTEM_1TDY2CXS_.DBF'


ORA-01112:
未啟動介質恢復


SQL> ALTER DATABASE OPEN RESETLOGS;
ALTER DATABASE OPEN RESETLOGS
*
1 行出現錯誤:
ORA-01092: ORACLE
實例終止。強制斷開連接

再次嘗試設置EVENTS

SQL> CONN /@YTK AS SYSDBA
已連接到空閑例程。
SQL> STARTUP MOUNT
ORACLE
例程已經啟動。

Total System Global Area  251658240 bytes
Fixed Size                  1290012 bytes
Variable Size             218104036 bytes
Database Buffers           25165824 bytes
Redo Buffers                7098368 bytes
數據庫裝載完畢。
SQL> ALTER SESSION SET EVENTS '10015 TRACE NAME ADJUST_SCN LEVEL 1';

會話已更改。

SQL> ALTER DATABASE OPEN;
ERROR:
ORA-03113:
通信通道的文件結束

錯誤和剛才已經有區別了,看來有打開的希望,檢查alert文件發現:

ORA-00316: ?? 2 (???? 1) ?????? 0 ??????
ORA-00312: ???? 2 ?? 1: 'E:\ORACLE\ORADATA\YTK\ONLINELOG\REDO02.LOG'

Wed Dec 12 14:45:55 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_lgwr_3712.trc:
ORA-00316: ?? 2 (???? 1) ?????? 0 ??????
ORA-00312: ???? 2 ?? 1: 'E:\ORACLE\ORADATA\YTK\ONLINELOG\REDO02.LOG'

Wed Dec 12 14:45:55 2007
LGWR: terminating instance due to error 316
Wed Dec 12 14:45:55 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_lns1_3508.trc:
ORA-00316:
日志  (用于線程 ) 頭部中的類型  不是日志文件

Wed Dec 12 14:45:55 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_arc1_536.trc:
ORA-00316:
日志  (用于線程 ) 頭部中的類型  不是日志文件

Wed Dec 12 14:45:55 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_arc1_536.trc:
ORA-00316:
日志  (用于線程 ) 頭部中的類型  不是日志文件

Wed Dec 12 14:45:55 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_arc1_536.trc:
ORA-00316:
日志  (用于線程 ) 頭部中的類型  不是日志文件

Wed Dec 12 14:45:55 2007
Master background archival failure: 316
Wed Dec 12 14:45:56 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_arc0_3656.trc:
ORA-00316:
日志  (用于線程 ) 頭部中的類型  不是日志文件

Wed Dec 12 14:45:56 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_arc0_3656.trc:
ORA-00316:
日志  (用于線程 ) 頭部中的類型  不是日志文件

Wed Dec 12 14:45:56 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_arc0_3656.trc:
ORA-00316:
日志  (用于線程 ) 頭部中的類型  不是日志文件

Wed Dec 12 14:45:56 2007
Master background archival failure: 316
Wed Dec 12 14:45:56 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_dbw0_3716.trc:
ORA-00316: ??  (???? ) ??????  ??????

Wed Dec 12 14:45:58 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_pmon_3608.trc:
ORA-00316: ??  (???? ) ??????  ??????

Wed Dec 12 14:45:58 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_psp0_1816.trc:
ORA-00316: ??  (???? ) ??????  ??????

Wed Dec 12 14:45:58 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_mman_2304.trc:
ORA-00316: ??  (???? ) ??????  ??????

Wed Dec 12 14:45:58 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_reco_3408.trc:
ORA-00316: ??  (???? ) ??????  ??????

Wed Dec 12 14:45:58 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_ckpt_2296.trc:
ORA-00316: ??  (???? ) ??????  ??????

Wed Dec 12 14:45:58 2007
Errors in file e:\oracle\admin\ytk\bdump\ytk_smon_3416.trc:
ORA-00316: ??  (???? ) ??????  ??????

Wed Dec 12 14:45:59 2007
Instance terminated by LGWR, pid = 3712

報了一堆的ORA-316ORA-312錯誤。為了避免現在仍然啟動的STANDBY數據庫干擾,關閉STANDBY數據庫,再次嘗試以RESETLOGS方式打開數據庫:

SQL> CONN /@YTKS AS SYSDBA
已連接。
SQL> SHUTDOWN IMMEDIATE
ORA-01109:
數據庫未打開


已經卸載數據庫。
ORACLE
例程已經關閉。
SQL> CONN /@YTK AS SYSDBA
已連接到空閑例程。
SQL> STARTUP MOUNT
ORACLE
例程已經啟動。

Total System Global Area  251658240 bytes
Fixed Size                  1290012 bytes
Variable Size             222298340 bytes
Database Buffers           20971520 bytes
Redo Buffers                7098368 bytes
數據庫裝載完畢。
SQL> RECOVER DATABASE UNTIL CANCEL
完成介質恢復。
SQL> ALTER DATABASE OPEN RESETLOGS;

數據庫已更改。

數據庫終于打開。下面要做的就是去掉隱含參數,再次重啟,驗證是否可以啟動。

SQL> ALTER SYSTEM RESET "_allow_resetlogs_corruption" SCOPE = SPFILE SID = '*';

系統已更改。

SQL> SHUTDOWN IMMEDIATE
數據庫已經關閉。
已經卸載數據庫。
ORACLE
例程已經關閉。
SQL> STARTUP
ORACLE
例程已經啟動。

Total System Global Area  251658240 bytes
Fixed Size                  1290012 bytes
Variable Size             218104036 bytes
Database Buffers           25165824 bytes
Redo Buffers                7098368 bytes
數據庫裝載完畢。
數據庫已經打開。

數據庫已經正常打開,但是由于使用_allow_resetlogs_corruption方式打開,會造成數據的丟失,且數據庫的狀態不一致。因此,這種情況下Oracle建議通過EXP方式導出數據庫。重建新數據庫后,再導入。

 

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

光泽县| 锦州市| 邢台县| 厦门市| 林西县| 台东市| 仪陇县| 枣阳市| 丹东市| 开平市| 历史| 松滋市| 宣化县| 汨罗市| 隆尧县| 广德县| 那曲县| 开鲁县| 肇源县| 乐昌市| 通许县| 南川市| 益阳市| 汉川市| 全州县| 新蔡县| 繁昌县| 奉化市| 清徐县| 白朗县| 聊城市| 淮北市| 柯坪县| 那坡县| 交城县| 夏河县| 山东省| 肇东市| 会泽县| 崇明县| 仪陇县|