oracle 8i資料庫ORA-01092的診斷
OS: sun OS 5.8
DB: oracle 8.1.7
症狀:登陸資料庫總報告ORA-01092
DB: oracle 8.1.7
症狀:登陸資料庫總報告ORA-01092
$ uname -r
5.8
$ export ORACLE_HOME=/opt/oracle/u01/app/oracle/product/8.1.7
$ export ORACLE_SID=AAA
$ $ORACLE_HOME/bin/sqlplus "/ as sysdba"
5.8
$ export ORACLE_HOME=/opt/oracle/u01/app/oracle/product/8.1.7
$ export ORACLE_SID=AAA
$ $ORACLE_HOME/bin/sqlplus "/ as sysdba"
SQL*Plus: Release 8.1.7.0.0 - Production on Wed May 2 03:39:51 2012
(c) Copyright 2000 Oracle Corporation. All rights reserved.
ERROR:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-01092: ORACLE instance terminated. Disconnection forced
Enter user-name: ^C
$ truss -aefo login_AAA.log $ORACLE_HOME/bin/sqlplus "/ as sysdba"
SQL*Plus: Release 8.1.7.0.0 - Production on Wed May 2 03:55:02 2012
(c) Copyright 2000 Oracle Corporation. All rights reserved.
ERROR:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-01092: ORACLE instance terminated. Disconnection forced
Enter user-name:
跟蹤檔案看不出個名堂,檢視alertlog,發現已經很久沒有更新資訊
用ipcs檢查系統中共享記憶體段的使用情況,發現好幾個nattach=0的
$ ipcs -a | grep dba | grep m
m 2101 0x700a235c --rw-r----- oracle dba oracle dba 18 419438592 29224 20355 4:48:50 4:48:50 9:24:57
m 2802 0x124ee5c0 --rw-r----- oracle dba oracle dba 11 239075328 29408 20353 4:48:50 4:48:50 9:26:04
m 1503 0x89c085d8 --rw-r----- oracle dba oracle dba 8 140877824 698 20351 4:48:49 4:48:49 9:31:50
m 1804 0x97840f30 --rw-r----- oracle dba oracle dba 10 239075328 29826 19490 4:44:01 4:44:33 9:29:29
m 605 0x21f5182c --rw-r----- oracle dba oracle dba 15 507510784 35 20218 4:47:52 4:47:53 9:30:02
m 6 0x4f49bad8 --rw-r----- oracle dba oracle dba 0 35471360 11451 20344 4:48:45 4:48:45 13:43:12
m 407 0x7e9d7300 --rw-r----- oracle dba oracle dba 17 759169024 286 20139 4:46:14 4:46:57 9:30:39
m 608 0xd6cd3820 --rw-r----- oracle dba oracle dba 7 16375808 1214 18751 4:48:46 4:48:52 9:32:44
m 209 0x79000cad --rw-rw-rw- oracle dba oracle dba 0 404 12949 19487 16:01:01 16:01:20 15:20:23
m 10 0x79033087 --rw-rw-rw- oracle dba oracle dba 0 404 24986 25539 16:46:04 17:12:07 16:41:37
m 11 0x79623087 --rw-rw-rw- oracle dba oracle dba 0 404 21962 21987 15:25:01 15:25:01 15:25:00
m 112 0x79cd0087 --rw-rw-rw- oracle dba oracle dba 0 404 2243 2273 5:51:55 5:51:56 5:51:53
m 113 0x7923e087 --rw-rw-rw- oracle dba oracle dba 0 404 28770 28825 17:38:11 17:38:11 17:38:10
m 14 0x796f5087 --rw-rw-rw- oracle dba oracle dba 0 404 23509 23516 6:28:10 6:28:11 6:28:09
m 2815 0x5bbd08f0 --rw-r----- oracle dba oracle dba 8 35471360 1382 19190 4:40:58 4:41:44 9:33:22
採用ipcrm -m悉數清除nattach為0的共享記憶體段,此後可以透過sqlplus成功登陸
$ $ORACLE_HOME/bin/sqlplus "/ as sysdba"
$ $ORACLE_HOME/bin/sqlplus "/ as sysdba"
SQL*Plus: Release 8.1.7.0.0 - Production on Wed May 2 04:50:22 2012
(c) Copyright 2000 Oracle Corporation. All rights reserved.
Connected to an idle instance.
SQL> startup nomount;
ORACLE instance started.
ORACLE instance started.
Total System Global Area 34427040 bytes
Fixed Size 73888 bytes
Variable Size 32624640 bytes
Database Buffers 1638400 bytes
Redo Buffers 90112 bytes
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01102: cannot mount database in EXCLUSIVE mode
Fixed Size 73888 bytes
Variable Size 32624640 bytes
Database Buffers 1638400 bytes
Redo Buffers 90112 bytes
SQL> alter database mount;
alter database mount
*
ERROR at line 1:
ORA-01102: cannot mount database in EXCLUSIVE mode
SQL> select status from v$instance;
STATUS
-------
STARTED
-------
STARTED
SQL> show parameter control
NAME TYPE VALUE
------------------------------------ ------- ------------------------------
control_file_record_keep_time integer 7
control_files string /opt/oracle/u06/AAA/control
01.ctl, /opt/oracle/u07/AAA
/control02.ctl
------------------------------------ ------- ------------------------------
control_file_record_keep_time integer 7
control_files string /opt/oracle/u06/AAA/control
01.ctl, /opt/oracle/u07/AAA
/control02.ctl
使用fuser檢視哪些程式佔用了控制檔案
$ fuser control01.ctl
control01.ctl: 1399o 1391o 1389o 1387o
$ fuser control01.ctl
control01.ctl: 1399o 1391o 1389o 1387o
$ ps -ef | grep 1399
oracle 21568 10804 0 04:55:23 pts/1 0:00 grep 1399
oracle 1399 1 0 Apr 12 ? 0:00 ora_arc0_BBB
有的怪異,別的instance的arch程式居然在訪問其控制檔案。
幾分鐘後BBB莫名其妙的down了(alertlog顯示DBWR異常退出導致資料庫崩潰),AAA可以正常啟動。
檢視BBB的引數檔案,發現和AAA的一樣,只是檔案以BBB命名而已;看來是有人複製了AAA的引數檔案,將其以BBB的名義啟動,所以客戶端無法以SID=AAA模式連線資料庫了.
$ fuser control01.ctl
control01.ctl: 1399o 1391o 1389o 1387o
$ fuser control01.ctl
control01.ctl: 1399o 1391o 1389o 1387o
$ ps -ef | grep 1399
oracle 21568 10804 0 04:55:23 pts/1 0:00 grep 1399
oracle 1399 1 0 Apr 12 ? 0:00 ora_arc0_BBB
有的怪異,別的instance的arch程式居然在訪問其控制檔案。
幾分鐘後BBB莫名其妙的down了(alertlog顯示DBWR異常退出導致資料庫崩潰),AAA可以正常啟動。
檢視BBB的引數檔案,發現和AAA的一樣,只是檔案以BBB命名而已;看來是有人複製了AAA的引數檔案,將其以BBB的名義啟動,所以客戶端無法以SID=AAA模式連線資料庫了.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15480802/viewspace-722549/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Oracle】資料庫hang 診斷Oracle資料庫
- Oracle配置資料庫診斷Oracle資料庫
- Oracle___診斷案例__資料庫的exp故障Oracle資料庫
- 診斷Oracle資料庫Hanging問題Oracle資料庫
- mysql資料庫效能診斷MySql資料庫
- dbms_addm執行oracle資料庫診斷Oracle資料庫
- Oracle 11g資料庫緩慢診斷案例Oracle資料庫
- 資料庫診斷一例資料庫
- Oracle ADDM --dbms_addm執行oracle資料庫診斷Oracle資料庫
- 自管理的資料庫:自動效能診斷資料庫
- 資料庫異常智慧分析與診斷資料庫
- ODX 診斷資料庫轉換工具 — DDC資料庫
- 如何診斷oracle資料庫執行緩慢或hang住的問題Oracle資料庫
- Oracle 8i資料庫體系結構(轉)Oracle資料庫
- Part II 診斷和優化資料庫效能優化資料庫
- 大語言模型與資料庫故障診斷模型資料庫
- MySQL資料庫診斷:InnoDB關機問題MySql資料庫
- 使用awr來診斷資料庫效能問題資料庫
- 利用hanganalyz/systemstate dump診斷資料庫hang資料庫
- 使用SQL_TRACE進行資料庫診斷SQL資料庫
- 最佳化調整Oracle 8i資料庫(轉)Oracle資料庫
- ORACLE診斷案例Oracle
- Oracle故障診斷Oracle
- ORACLE診斷事件Oracle事件
- 2 Day DBA-管理方案物件-監控和優化資料庫-效能自我診斷:自動資料庫診斷監控物件優化資料庫
- 使用SQL_TRACE進行資料庫診斷(轉)SQL資料庫
- 使用SQL_TRACE進行資料庫診斷(1)SQL資料庫
- 使用SQL_TRACE進行資料庫診斷(2)SQL資料庫
- OCP課程50:管理II之診斷資料庫資料庫
- 使用SQL_TRACE進行資料庫診斷(zt)SQL資料庫
- 某物流系統資料庫故障診斷案例分析資料庫
- 【AWR】資料庫診斷工具AWR使用全程記錄資料庫
- oracle 效能診斷工具Oracle
- Oracle診斷事件列表Oracle事件
- ORACLE診斷事件(zt)Oracle事件
- MySQL使用event等待事件進行資料庫效能診斷MySql事件資料庫
- 轉載:使用SQL_TRACE進行資料庫診斷SQL資料庫
- 使用SQL_TRACE進行資料庫診斷(轉載)SQL資料庫