處理的兩個圖省事才出來的問題,喜歡copy ORACLE_HOME的人應該看看
案例1
關鍵詞:複製導致檔案許可權變化
環境 9i 具體版本忘了
solaris 9
源於一次故障診斷
第一天上午:接到電話說oracle 報錯
執行批量插入的過程或報表程式報錯:
SQL> BEGIN brpt_get_daily_report_p; END;
*
ERROR 位於第 1 行:
ORA-00604: 遞迴 SQL 層 1 出現錯誤
ORA-01115: 從檔案 1 讀取塊時出現 IO 錯誤 (塊 # 28738)
ORA-01110: 資料檔案 1: '/dev/md/billds/rdsk/d301'
ORA-27091: skgfqio: 無法進行 I/O 操作
ORA-27072: skgfdisp: I/O 錯誤
SVR4 Error: 12: Not enough space
Additional information: 28737
ORA-06508: PL/SQL: 無法在呼叫之前找到程式單元
ORA-06512: 在"UNITELE.BRPT_GET_DAILY_REPORT_P", line 87
ORA-06512: 在line 1
alert log有大量類似:
Additional information: 15497
ORA-01115: IO error reading block from file 93 (block # 62842)
ORA-01110: data file 93: '/dev/md/billds/rdsk/d84'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
SVR4 Error: 12: Not enough space
Additional information: 62841
Fri Mar 14 07:31:07 2008
Errors in file /arraybill/oracle/admin/orabill/udump/orabill_ora_28779.trc:
ORA-00600: internal error code, arguments: [kdtdelrow-2], [63], [63], [], [], [], [], []
ORA-01115: IO error reading block from file 556 (block # 94232)
ORA-01110: data file 556: '/dev/md/billds/rdsk/d679'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
SVR4 Error: 12: Not enough space
Additional information: 94231
Fri Mar 14 07:31:40 2008
Errors in file /arraybill/oracle/admin/orabill/udump/orabill_ora_29096.trc:
ORA-00604: 遞迴 SQL 層 1 出現錯誤
ORA-01115: 從檔案 265 讀取塊時出現 IO 錯誤 (塊 # 114425)
ORA-01110: 資料檔案 265: '/dev/md/billds/rdsk/d259'
ORA-27091: skgfqio: 無法進行 I/O 操作
ORA-27072: skgfdisp: I/O 錯誤
SVR4 Error: 12: Not enough space
Additional information: 114424
ORA-06512: 在line 3
Fri Mar 14 07:49:28 2008
經過詢問和檢查,在中午之前排除了作業系統、硬體和空間問題的可能性。
下午把問題方向 瞄準了bug:
Bug 4439465 - OERI [kdtdelrow-2] / ORA-604 from BULK inserts 被排除,懷疑ora-600的錯誤只是表象,是由其他問題引起的,所以放棄了根據ora-600找問題。
Bug 6370741引起了注意:
Bug 4439465 - OERI [kdtdelrow-2] / ORA-604 from BULK inserts
Experiencing the errors as follows: .
ORA-01115: IO error reading block from file 18 (block # 2613966)
ORA-01110: data file 18: '/dev/vx/rdsk/bre25knet01_vg05/spo_smstg202'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
SVR4 Error: 12: Not enough space
Additional information: 2613965 .
Unsetting SGA_MAX_SIZE stops the error from occurring.
This is unaccpetable to customer as without setting the parameter they experience ORA-4031 errors.
但是使用者拒絕接受sga_max_size會引起問題,一定要有理由,並且該bug並沒有正式宣告(很可能不是bug)
下午拿到了vpn帳號,遠端登入上去,在alert log中又看到了一些可疑的東西:
Tue Mar 11 23:33:14 2008
WARNING: -------------------------------
WARNING: oradism not set up correctly.
Dynamic ISM can not be locked. Please
setup oradism, or unset sga_max_size.
[diagnostic 0, 16, 1001]
----------------------------------------
這是在上次修改之後啟動DB的時候得warning,(因為錯誤多,給我發過來的錯誤資訊裡沒有包含這些資訊,只有4天左右的)
根據這個資訊找到:
Note:338751.1 Database Crashed Due to ORA-600 [ksfd_odmgo1] and Ora-17500
Symptoms
Database doesn't open because of:
ORA-00600: internal error code, arguments: [ksfd_odmgo1], [4294967274], [0xFFFFFFFF7FFF85A8],
..
Fri Sep 30 08:10:41 2005
Errors in file /oracle/ew01/ewt1/admin/bdump/ewt11_p002_16730.trc:
ORA-01115: IO error reading block from file 8 (block # 45354)
ORA-01110: data file 8: '/dbf/ew01/dba01/ewt1/ppvd.001'
ORA-17500: ODM err:ODM ERROR V-41-4-12 Not enough space
ORA-10388: parallel query server interrupt (failure)
Alert.log also shows:
WARNING: -------------------------------
WARNING: oradism not set up correctly.
Dynamic ISM can not be locked.
Cause
ORADISM doesn't have the right permission.
Solution
Shutdown the databases running from this ORACLE_HOME.
chgrp dba $ORACLE_HOME/bin/oradism
As root:
chown root $ORACLE_HOME/bin/oradism
chmod 06550 $ORACLE_HOME/bin/oradism
回憶起來,使用者曾說過這臺oracle的軟體是從其它伺服器copy過來的,於是檢查oradism的許可權,發現確實有問題:
[oracle]> ls -l oradism*
-r-xr-x--- 1 oracle dba 12928 2004 3月 25 oradism
-r-xr-x--- 1 oracle dba 10424 2002 4月 27 oradism.sav
正常情況下,安裝過程最後會用root使用者執行root.sh,這個指令碼有相應的命令會把許可權修改好:
[oracle]> pwd
/arraybill/oracle/product/9205
[oracle]> cat root.sh|grep oradism
if [ -f $ORACLE_HOME/bin/oradism ]; then
$CHOWN root $ORACLE_HOME/bin/oradism
$CHMOD 06550 $ORACLE_HOME/bin/oradism
原因可能是在copy的過程中,檔案的許可權發生了改變,或者整個$ORACLE_HOME被特意修改為oracle:dba了。
所以:一直以來DISM都是有問題的,但是因為sga_max_size一直以來是default,問題也就沒有顯現出來。直道前兩天有人增加shared pool的時候alter system 給sga_max_size設定了一個值
問題才顯明出來。
第二天晚上,客戶申請到了停機,讓前方人員執行$ORACLE_HOME/root.sh但是因為copy過來目錄不同,所以執行報錯。
於是只好把root.sh裡的
$CHOWN root $ORACLE_HOME/bin/oradism
$CHMOD 06550 $ORACLE_HOME/bin/oradism
單獨執行了,經測試問題已經解決。
關鍵詞:複製導致檔案許可權變化
環境 9i 具體版本忘了
solaris 9
源於一次故障診斷
第一天上午:接到電話說oracle 報錯
執行批量插入的過程或報表程式報錯:
SQL> BEGIN brpt_get_daily_report_p; END;
*
ERROR 位於第 1 行:
ORA-00604: 遞迴 SQL 層 1 出現錯誤
ORA-01115: 從檔案 1 讀取塊時出現 IO 錯誤 (塊 # 28738)
ORA-01110: 資料檔案 1: '/dev/md/billds/rdsk/d301'
ORA-27091: skgfqio: 無法進行 I/O 操作
ORA-27072: skgfdisp: I/O 錯誤
SVR4 Error: 12: Not enough space
Additional information: 28737
ORA-06508: PL/SQL: 無法在呼叫之前找到程式單元
ORA-06512: 在"UNITELE.BRPT_GET_DAILY_REPORT_P", line 87
ORA-06512: 在line 1
alert log有大量類似:
Additional information: 15497
ORA-01115: IO error reading block from file 93 (block # 62842)
ORA-01110: data file 93: '/dev/md/billds/rdsk/d84'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
SVR4 Error: 12: Not enough space
Additional information: 62841
Fri Mar 14 07:31:07 2008
Errors in file /arraybill/oracle/admin/orabill/udump/orabill_ora_28779.trc:
ORA-00600: internal error code, arguments: [kdtdelrow-2], [63], [63], [], [], [], [], []
ORA-01115: IO error reading block from file 556 (block # 94232)
ORA-01110: data file 556: '/dev/md/billds/rdsk/d679'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
SVR4 Error: 12: Not enough space
Additional information: 94231
Fri Mar 14 07:31:40 2008
Errors in file /arraybill/oracle/admin/orabill/udump/orabill_ora_29096.trc:
ORA-00604: 遞迴 SQL 層 1 出現錯誤
ORA-01115: 從檔案 265 讀取塊時出現 IO 錯誤 (塊 # 114425)
ORA-01110: 資料檔案 265: '/dev/md/billds/rdsk/d259'
ORA-27091: skgfqio: 無法進行 I/O 操作
ORA-27072: skgfdisp: I/O 錯誤
SVR4 Error: 12: Not enough space
Additional information: 114424
ORA-06512: 在line 3
Fri Mar 14 07:49:28 2008
經過詢問和檢查,在中午之前排除了作業系統、硬體和空間問題的可能性。
下午把問題方向 瞄準了bug:
Bug 4439465 - OERI [kdtdelrow-2] / ORA-604 from BULK inserts 被排除,懷疑ora-600的錯誤只是表象,是由其他問題引起的,所以放棄了根據ora-600找問題。
Bug 6370741引起了注意:
Bug 4439465 - OERI [kdtdelrow-2] / ORA-604 from BULK inserts
Experiencing the errors as follows: .
ORA-01115: IO error reading block from file 18 (block # 2613966)
ORA-01110: data file 18: '/dev/vx/rdsk/bre25knet01_vg05/spo_smstg202'
ORA-27091: skgfqio: unable to queue I/O
ORA-27072: skgfdisp: I/O error
SVR4 Error: 12: Not enough space
Additional information: 2613965 .
Unsetting SGA_MAX_SIZE stops the error from occurring.
This is unaccpetable to customer as without setting the parameter they experience ORA-4031 errors.
但是使用者拒絕接受sga_max_size會引起問題,一定要有理由,並且該bug並沒有正式宣告(很可能不是bug)
下午拿到了vpn帳號,遠端登入上去,在alert log中又看到了一些可疑的東西:
Tue Mar 11 23:33:14 2008
WARNING: -------------------------------
WARNING: oradism not set up correctly.
Dynamic ISM can not be locked. Please
setup oradism, or unset sga_max_size.
[diagnostic 0, 16, 1001]
----------------------------------------
這是在上次修改之後啟動DB的時候得warning,(因為錯誤多,給我發過來的錯誤資訊裡沒有包含這些資訊,只有4天左右的)
根據這個資訊找到:
Note:338751.1 Database Crashed Due to ORA-600 [ksfd_odmgo1] and Ora-17500
Symptoms
Database doesn't open because of:
ORA-00600: internal error code, arguments: [ksfd_odmgo1], [4294967274], [0xFFFFFFFF7FFF85A8],
..
Fri Sep 30 08:10:41 2005
Errors in file /oracle/ew01/ewt1/admin/bdump/ewt11_p002_16730.trc:
ORA-01115: IO error reading block from file 8 (block # 45354)
ORA-01110: data file 8: '/dbf/ew01/dba01/ewt1/ppvd.001'
ORA-17500: ODM err:ODM ERROR V-41-4-12 Not enough space
ORA-10388: parallel query server interrupt (failure)
Alert.log also shows:
WARNING: -------------------------------
WARNING: oradism not set up correctly.
Dynamic ISM can not be locked.
Cause
ORADISM doesn't have the right permission.
Solution
Shutdown the databases running from this ORACLE_HOME.
chgrp dba $ORACLE_HOME/bin/oradism
As root:
chown root $ORACLE_HOME/bin/oradism
chmod 06550 $ORACLE_HOME/bin/oradism
回憶起來,使用者曾說過這臺oracle的軟體是從其它伺服器copy過來的,於是檢查oradism的許可權,發現確實有問題:
[oracle]> ls -l oradism*
-r-xr-x--- 1 oracle dba 12928 2004 3月 25 oradism
-r-xr-x--- 1 oracle dba 10424 2002 4月 27 oradism.sav
正常情況下,安裝過程最後會用root使用者執行root.sh,這個指令碼有相應的命令會把許可權修改好:
[oracle]> pwd
/arraybill/oracle/product/9205
[oracle]> cat root.sh|grep oradism
if [ -f $ORACLE_HOME/bin/oradism ]; then
$CHOWN root $ORACLE_HOME/bin/oradism
$CHMOD 06550 $ORACLE_HOME/bin/oradism
原因可能是在copy的過程中,檔案的許可權發生了改變,或者整個$ORACLE_HOME被特意修改為oracle:dba了。
所以:一直以來DISM都是有問題的,但是因為sga_max_size一直以來是default,問題也就沒有顯現出來。直道前兩天有人增加shared pool的時候alter system 給sga_max_size設定了一個值
問題才顯明出來。
第二天晚上,客戶申請到了停機,讓前方人員執行$ORACLE_HOME/root.sh但是因為copy過來目錄不同,所以執行報錯。
於是只好把root.sh裡的
$CHOWN root $ORACLE_HOME/bin/oradism
$CHMOD 06550 $ORACLE_HOME/bin/oradism
單獨執行了,經測試問題已經解決。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10701850/viewspace-526734/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 英文面試官最喜歡問的6個問題面試
- 資料庫出現兩個Listener問題的官方處理方法資料庫
- 我最喜歡問應聘者的問題 & 回答思路
- 工廠出產流程中的這些問題,應該怎麼處理?
- 來到圖靈,喜歡圖靈圖靈
- Go的http庫處理multipart的兩個問題解決GoHTTP
- iOS開發中兩個常見問題的處理iOS
- 10個我最喜歡問程式設計師的面試問題程式設計師面試
- 阿里的面試官都喜歡問哪些問題?阿里面試
- 阿里面試官最喜歡問的21個HashMap面試題阿里HashMap面試題
- 程式設計師面試,我最喜歡的10個問題程式設計師面試
- mysql問題處理兩則MySql
- 求職Python開發,面試官最喜歡問的幾個問題求職Python面試
- 一個NBU問題的處理
- windows的一個問題處理Windows
- Eternity:做遊戲應該先讓自己喜歡遊戲
- 阿里的面試官都喜歡問哪些技術問題?阿里面試
- 兩個小問題深入淺出List的效能問題
- Cookie出現兩個同名Key的問題Cookie
- 程式猿出鏡之我最喜歡的圖靈書圖靈
- 我在面試中最喜歡問開發者的問題,和回答思路面試
- 我最喜歡的圖靈書圖靈
- 每個CIO都應該問的IT轉型問題
- WEB開發者應該反問自己的10個問題Web
- JavaScript 中遇到的錯誤問題,該怎麼處理?JavaScript
- 老被跨域問題煩?看看都有哪些處理方法跨域
- 有用過velocity的嗎? 有個問題,進來看看吧
- CEO面試你時喜歡問這些問題面試
- 購買硬碟應該注意的幾個問題硬碟
- 大公司最喜歡問的Java集合類面試題Java面試題
- 處理問題的方法
- xml處理的問題XML
- 我喜歡 Bootstrap 的5個原因boot
- 我們來看看翻譯中的問題
- 我最喜歡的圖靈科普書圖靈
- Redux的應該注意的問題Redux
- EHA:調查顯示60%的歐洲人更喜歡AMD處理器
- 一個關於Struts傳引數的問題,請高手來看看............