ora-01000的處理思路
今天有開發的同學發過來一個問題,在執行程式的時候報ora-01000錯,所以研究了下。
從網上找了些帖子看了下,連結:
http://blog.csdn.net/msdnchina/article/details/49755025
從某種程度上說,ora-01000 是會阻塞業務的,應該是某個session 開啟的cursor數量超過了open_cursors之後,該session 就無法對外提供服務了。
FROM v$sesstat a, v$statname b, v$session s
WHERE a.statistic# = b.statistic#
AND s.sid=a.sid AND b.name = 'opened cursors current'
AND s.username IS NOT NULL
ORDER BY a.value desc;
2. 檢查可疑session的open cursor情況,從上一步獲得 open cursor高的sid,帶入下面的sql。
SELECT sid ,sql_text, user_name, count(*) as "OPEN CURSORS"
FROM v$open_cursor
WHERE sid IN ($SID)
GROUP BY sid ,sql_text, user_name;
注意,如上指令碼只能看current的的情況,不能分析已經過去的時間段(比如昨天早上)的資料庫的情況。因為v$open_cursor沒有對應的dba_hist檢視。
從網上找了些帖子看了下,連結:
http://blog.csdn.net/msdnchina/article/details/49755025
從某種程度上說,ora-01000 是會阻塞業務的,應該是某個session 開啟的cursor數量超過了open_cursors之後,該session 就無法對外提供服務了。
摘自:
IF: How to Find SQLs Causing ORA-1000 (文件 ID 2014381.1)
1.使用如下sql檢查當前各個session的open cursor情況:
SELECT s.sid, s.serial#, s.username, a.value "OPEN CURSOR COUNT"FROM v$sesstat a, v$statname b, v$session s
WHERE a.statistic# = b.statistic#
AND s.sid=a.sid AND b.name = 'opened cursors current'
AND s.username IS NOT NULL
ORDER BY a.value desc;
2. 檢查可疑session的open cursor情況,從上一步獲得 open cursor高的sid,帶入下面的sql。
SELECT sid ,sql_text, user_name, count(*) as "OPEN CURSORS"
FROM v$open_cursor
WHERE sid IN ($SID)
GROUP BY sid ,sql_text, user_name;
注意,如上指令碼只能看current的的情況,不能分析已經過去的時間段(比如昨天早上)的資料庫的情況。因為v$open_cursor沒有對應的dba_hist檢視。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21374452/viewspace-2142857/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle錯誤處理思路(一)Oracle
- 處理高併發的一般思路
- 處理VM的一種特殊方法和思路
- log file sync等待事件處理思路事件
- rac 遭遇GC BUFFER BUSY 處理思路GC
- 索引表空間不足的幾個處理思路索引
- 常見佇列等待事件處理思路佇列事件
- oracle常見異常等待——latch處理思路Oracle
- 資料庫連線異常處理思路資料庫
- ES6 換種思路處理資料
- 叢集故障處理之處理思路以及健康狀態檢查(三十二)
- crane:字典項與關聯資料處理的新思路
- PGA引發的ORA-04030報錯的處理思路
- 高併發處理思路與手段(一):擴容
- C#MVC基類實現事務處理思路C#MVC
- MySQL主從複製延遲原因及處理思路MySql
- [轉]ORA-00020處理思路及防範
- MySQL主從不同步問題分析與處理思路MySql
- ERROR:maximum cursor open,ORA-01000Error
- 多對一處理 和一對多處理的處理
- Go 錯誤處理新思路?用左側函式和表示式Go函式
- 簡述高併發解決思路-如何處理海量資料(中)
- expdp慢的一次處理思路,最後發現原來遇到了bug
- Mysql的鎖機制與PHP檔案鎖處理高併發簡單思路MySqlPHP
- 處理百萬級以上的資料處理
- Apache DolphinScheduler中處理任務/告警/事件相關核心思路曝光Apache事件
- 影像處理或其他多媒體處理中的值溢位處理
- ARC 的處理
- Apache Beam,批處理和流式處理的融合!Apache
- LTE-5G學習筆記11--零流量小區處理思路筆記
- 祂無處不在 -- 疾病的處理.
- error的處理方式Error
- CSS 的空格處理CSS
- 前%的處理--PostgreSQLSQL
- Swift Image 的處理Swift
- 如何處理例外的?
- KafkaSpout的處理流程Kafka
- EM 失效的處理