shutdown immediate 太慢,需要進行程式查殺
問題引出:測試環境,進行oralce的shutdown immediate,等待時間很長,長的無法等待
ORACLE shutdown 過程:
1、shutdown normal(正常關閉方式):阻止任何使用者建立新的連線;等待當前所有正在連線的使用者主動斷開連線;當所有的使用者都斷開連線後,將立即關閉資料庫
2、shutdown transactional(實務關閉方式):阻止使用者連線新的連線和開始新事務;等待所有活動事務提交後,再斷開使用者連線;當所有的活動實務提交完畢、所有的使用者都斷開連線後,將關閉資料庫
3、shutdown immediate(立即關閉方式):阻止使用者連線新連線和開始新事務;將未提交的活動事務回退;關閉資料庫
4、shutdown abort(終止關閉方式):阻止使用者建立新連線和開始新事務;取消未提交的活動事務,而不是回退;立即終止正在執行的任何SQL語句;立即關閉資料庫
無疑,shutdown abort是最開速關閉資料庫的方式,但是很可能會使資料庫處於不一致狀態,嚴重可能損壞資料庫,導致資料庫起不來,特別是生產環境。雖然現在是測試環境,但是也不建議這樣做。推薦使用shutdown immediate方式關閉資料庫。
快速關閉資料庫的因素:
1、連線的客戶端程式數量
2、未提交的事務佔用的UNDO BLOCK數量
3、長時間執行的會話
4、SMON程式清理臨時段的速度
問題分析與解決:
金融業務,頻繁使用PL/SQL developer連線資料庫進行查詢
輸入ps aux | grep oracle檢視程式
可以看到LOCAL=NO,即透過監聽進行的網路連線,看了下環境,大概有好幾千個
可以進行kill -9 pid進行結束會話,但是好幾千個會話,一個個的輸入是要累死的節奏。shutdown immediate的時候,oracle也會自動去斷開所有的客戶端連線,這樣也很慢。
使用如下語句進行批次殺會話,這樣就可以快速關閉資料庫了
ps aux |grep
"LOCAL=NO"
|awk '{printf "%s/n", $2}' |xargs kill -9
或者linux作業系統
ps -ef |grep "LOCAL=NO" |awk '{print $2}'|xargs kill -9
正常關閉資料庫流程:
1、關監聽
2、斷session
3、shutdown immediate
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28869493/viewspace-1982684/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- zt_Resolving Shutdown Immediate Hang Situations_shutdown immediate關庫慢
- shutdown immediate alert出現SHUTDOWN: waiting for active calls to complete.AI
- 資料庫無法shutdown immediate的案例資料庫
- ORA-01089: immediate shutdown in progress - no operations are permittedMIT
- Shutdown immediate命令長時間等待分析一例
- OGG OCI Error ORA-01089: immediate shutdown in progressError
- DML_LOCKS設定為0導致SHUTDOWN IMMEDIATE失敗
- shutdown immediate 持久無法關閉資料庫之解決方案資料庫
- shutdown immediate物理備庫長時間無法關閉案列
- oracle 正常關閉shutdown immediate與開啟open資料庫alertOracle資料庫
- Oracle OCP 1Z0 053 Q77(ASM&Shutdown Immediate)OracleASM
- mysql查詢太慢,我們如何進行效能優化?MySql優化
- 11G的SYS連線阻止SHUTDOWN IMMEDIATE關閉資料庫資料庫
- 資料庫shutdown immediate,control.ctl 檔案不能刪除資料庫
- ORA-01097錯誤解決辦法及探索shutdown immediate
- Oracle OCP IZ0-053 Q687(ASM Shutdown immediate when users connected)OracleASM
- 通過ASP.NET程式設計進行遠端殺死程式ASP.NET程式設計
- 因歸檔日誌無法歸檔造成的 oracle shutdown immediate無法關閉Oracle
- 效能查詢並殺CPU高耗程式
- 根據檔案查殺linux程式Linux
- 誰說有序連結串列不能進行二分查詢,只是需要進化而已?!
- 關於gin利用src.Shutdown進行平滑關閉原理分享
- 容器化應用環境安全:需要進行這8條安全檢查
- 【YashanDB知識庫】資料庫審計shutdown immediate操作導致資料庫異常退出資料庫
- Oracle動態執行語句(Execute Immediate)Oracle
- 查殺oracle的阻塞Oracle
- 【Shutdown】同一會話存在未提交事務時使用immediate選項無法關閉資料庫會話資料庫
- 強行關閉“殺”不了的程式(轉)
- shutdown命令被job程式hang住
- 查殺程式小工具——WPF和MVVM初體驗MVVM
- 奇虎360安全衛士推出木馬程式查殺功能
- ue修改datafile資料檔案導致shutdown immediate失敗一例_ora-01208
- 殺死一個正在執行的程式 (轉)
- 使用blueZ進行藍芽程式設計時需要注意的問題藍芽程式設計
- shutdown命令被job程式hang住(續)
- 儲存過程執行EXECUTE IMMEDIATE沒反應儲存過程
- 嫌 OSS 查詢太慢?看我們如何將速度提升 10 倍!
- Mysql殺程式MySql