sqlplus 登陸 RAC 11.2.0.4 數據庫緩慢問題完美解決方案

近日發現一套數據庫在節點一使用 sqlplus 登錄時反應巨慢,但在節點 2 卻很迅速登錄進去,節點一無任何報錯,只是反應巨慢,觀察大約需要 81s 的時間纔可以正常登錄。如下圖所示:

  

首先想到的是不是由於審計目錄過大的原因,因爲 sqlplus / as sysdba 使用的是操作系統鑑權,猜想在進行審計是寫入過慢導致,但去查看相關的目錄均不到 1G 大小,這種問題也無法通過其他類似 AWR 報告的東西查看。所以也想不到更好的辦法了,便只能去尋找幫助了,諮詢了一圈同事後無果,便灰溜溜的去 MOS SR 了。

 

不過 SR 首先回復的也是目錄過大的問題,並給出瞭如下參考文檔 Slow SYSDBA OS authentication ( Doc ID 2225093.1 ) 

 

當在 MOS 上打開此文檔時發現給出的意見就是前面所提到的,感覺無果,繼續更新 SR。

Clearthe old OS audit files under /u01/app/oracle/admin/adump

 

 

第二次 SR 建議使用 truss 查看,如下命令:

 

truss -adefo/tmp/sqlplusconnection.log sqlplus / as sysdba

 

log 輸出以便檢查問題。

 

檢查此 log 後便定位於此文件 /etc/netsvc.conf oracle 用戶無權訪問 /etc/netsvc.conf 導致 sqlplus / as sysdba 去嘗試 LDAP 解析。但唯一的不同是您這裏訪問 /etc/netsvc.conf 時報的是 Err#25 ENOTTY 而不是 Err#13 EACCES檢查下 RDBMS 屬主用戶是否對 /etc/netsvc.conf 有讀取權限,是否爲 664 權限,使用 oracle 用戶查看有訪問權限,權限無問題,並給出參考文檔  SQL*Plus Appears to Hang on Logon to the Database on IBM AIX (文檔 ID 2017323.1)

 

Correctthe permission for /etc/netsvc.conf to -rw-rw-r--.

 

# chmod664 /etc/netsvc.conf

 

當查看文件權限時無任何問題,文件內容可讀,但發現文件內容都是註釋行,那麼 SR的回覆是說明走的是默認的地址解析順序,即 DNS,NIS,本機 /etc/hosts

所以我們可以讓本地解析優先,在 /etc/netsvc.conf 中增加這行:

hosts =local, bind4

 

保存退出後,sqlplus / as sysdba 則可正常登錄,那麼簡單說明一下此文件的作用及解析順序。

 

/etc/netsvc.conf 是 AIX 系統配置主機地址解析順序的,如果沒配置它,默認是按照DNS,NIS,本機 /etc/hosts 這樣的順序來的。所以如果 DNS 服務器響應比較慢,連接就會延遲。

hosts=local,bind4 就是設置先從本地解析,本地解析不了的 IPv4 地址再走 DNS 解析。詳情參考 IBM 官方文檔:

https://www.ibm.com/support/knowledgecenter/en/ssw_aix_72/filesreference/netsvc.conf.html

  

以下爲全英文, Google 翻譯雖不是標準但可湊合着看,哦了!

 

netsvc.conf File:該 /etc/netsvc.conf 中的文件是用來指定名稱解析的順序爲sendmail 的命令,調用 gethostbyname 子程序,gethostaddr 子程序和gethostent 子程序和別名分辨率的 sendmail 的命令。有幾種用於解析主機名和別名的機制。在調用 gethostbynamegethostbyaddr 和 gethostent 子程序使用這些機制的解析名稱。存在默認順序,其中解析程序子例程嘗試使用解析主機名和Internet 協議(IP)地址的機制。

好咯,今天就到這裏了,詳細內容需查看官方文檔,感謝你能讀到這裏,如果此文對你有那麼一丁點的幫助,那麼只需要您點個 在看 或是 轉發,則是對我最大的支持。您的小小舉動將是我不斷更新的動力,騷年努力向上吧。

80%

推薦閱讀:

Linux Oracle 11.2.0.4 單機數據庫升級至最新補丁安裝指北

萬字詳解Oracle架構、原理、進程,學會世間再無複雜架構

模擬真實環境下超簡單超詳細的 MySQL 5.7 安裝

CentOS6.7安裝PostgreSQL10.9詳細教程

Oracle 12C 最新補丁下載與安裝操作指北

Oracle 12CR2 安裝配置與基礎學習

Linux CentOS 7 安裝教程

Linux RHEL7 安裝教程

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章