RAC下使用者登入失敗ORA-01017
1.1. RAC下使用者登入失敗ORA-01017
1.1.1. 參考
記一個12c的chm bug導致的ORA-01017
https://blogs.oracle.com/database4cn/12cchm-bugora-01017
SEC_CASE_SENSITIVE_LOGON and ORA-1017
官方文件:
GIMR (Management Database) Registers Into Same Service that the Database Instance also registers On RAC (文件 ID 2024572.1)
MGMTDB registers Database Service (文件 ID 2063662.1)
1.1.2. 問題現象
一個19.3叢集資料庫,發現所有所有使用SCANIP登入CDB或PDB連線報ORA-01017錯誤,錯誤內容:“使用者名稱/口令無效; 登入被拒絕”。
首先,重置使用者名稱密碼,確認了使用者名稱和密碼正確無問題。
實際測試過程如下:
1) 兩個節點都提供服務,1節點重啟後,
mgmt和scanip 在2節點,
透過scan連線失敗;
1節點物理和vip都失敗
2節點兩ip都成功;
2) 兩個節點都提供服務,2節點重啟後
mgmt和scanip 在1節點,
透過scan連線失敗;
1節點物理和vip都失敗
2節點兩ip都成功;
3) 兩個節點都提供服務,兩個節點都重啟後
mgmt在1節點,scanip切換到2節點
透過scan連線失敗;
1節點物理和vip都失敗
2節點兩ip都成功;
4) 關閉1節點,只用2節點提供服務
mgmt在2節點,scanip切換到2節點
透過scan連線成功;
2節點兩ip都成功;
1.1.3. 網上資料
1.1.4. 問題分析
仔細回憶做過的變更,為什麼只有1節點有問題?!
修改過profile配置,如執行alter system set sec_case_sensitive_logon=false scope=both sid='*';
查相關文件,發現 Lockout of all database authenticated users getting error ORA-01017: invalid username/password; logon denied ( 文件 ID 2040705.1)
該mos提示,修改set sec_case_sensitive_logon引數為false後,必須修改sqlnet.ora檔案中SQLNET.ALLOWED_LOGON_VERSION_SERVER小於12,否則將導致所有連線登入失敗,同時報ORA-01017錯誤。
看到這,回憶起為解決ORA-01017錯誤,保證低版本客戶端可連線資料庫,修改oracle使用者下的sqlnet.ora檔案。檔案新增如下內容,即將密碼版本從預設12降低到9,支援Oracle 10G客戶端訪問。:
SQLNET.ALLOWED_LOGON_VERSION_SERVER=9
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=9
SQLNET.INBOUND_CONNECT_TIMEOUT = 120
當時記得兩個節點都增加了該內容,今天檢查發現2節點增加了內容,1節點沒有增加該內容。
1節點sqlnet.ora新增引數後,資料庫連線恢復正常。
這就解釋了為什麼2節點能登入,而1節點登入不了。
按官方文件建議:
維持set sec_case_sensitive_logon為預設值TRUE,以提高資料庫安全性,可執行如下語句:alter system set sec_case_sensitive_logon=true scope=both sid='*';
同時在叢集所有節點增加sqlnet.ora內容,內容如下:,
SQLNET.ALLOWED_LOGON_VERSION_SERVER=9
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=9
SQLNET.INBOUND_CONNECT_TIMEOUT = 120
增加內容後,需重新修改資料庫使用者名稱密碼,以支援低版本10G資料庫客戶端。當然,如素有客戶但11.2.0.4以上,則不需要修改sqlnet.ora檔案。
檢視使用者支援的密碼版本:select username, password_versions from DBA_USERS where username='SYSTEM';
1.1.5. 分析過程走過的彎路:
一種說法是叢集名和CDB資料庫名相同,叢集MGMTDB註冊到CDB服務下,導致使用者連線CDB失敗,可參考文件:
MGMTDB registers Database Service (Doc ID 2063662.1)
GIMR (Management Database) Registers Into Same Service that the Database Instance also registers On RAC (Doc ID 2024572.1)
搭建測試叢集,建立和叢集名相同CDB,未發現服務異常問題,可正常訪問CDB,初步排除是CDB和叢集名相同衝突導致。該bug可能以在19.3修復。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2657636/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- gitment 登入失敗Git
- docker login 登入harbor失敗Docker
- postgresql登入失敗怎麼辦SQL
- SQL登入失敗注意事項SQL
- MSSQL不能遠端登入--使用者 'sa' 登入失敗。 (Microsoft SQL Server,錯誤: 18456)SQLROSServer
- win7系統下SQL2008使用者sa登入失敗如何解決Win7SQL
- 表單登入失敗左右晃動
- sqlplus as sysdb登入報ora-01017SQL
- ssh免密碼登入失敗解決密碼
- dedecms網站連續登入失敗使用者鎖定怎麼辦?網站
- Oracle RAC啟動失敗(DNS故障)OracleDNS
- win10系統安全登入失敗初始化失敗如何解決Win10
- 【USER】Oracle 檢視使用者登入失敗次數及詳細資訊Oracle
- 啟用系統登入失敗處理功能
- 無法開啟登入所請求的資料庫,登入失敗資料庫
- PbootCMS出現登入失敗,表單提交校驗失敗等情況怎麼辦?boot
- laravel社會化登入 iframe微信網頁登入失敗的問題Laravel網頁
- oracle windows sqlplus ora-01017 登入被拒絕OracleWindowsSQL
- 後臺登入提示:”登入失敗:資料庫目錄寫入許可權不足!“資料庫
- PbootCMS後臺“登入失敗:表單提交校驗失敗,請重新整理後重試”boot
- 出現“登入失敗,表單提交校驗失敗”,請檢查伺服器環境伺服器
- 主機安裝zblog 無法登陸:錯誤原因:登入失敗
- Oracle RAC常見啟動失敗故障分析Oracle
- PbootCMS後臺出現“登入失敗:登入失敗次數太多已被鎖定,請600s重試!”情況,怎麼辦?boot
- pbootcms後臺出現"登入失敗:登入失敗次數太多已被鎖定,請600s重試!" 情況,怎麼辦?boot
- PbootCMS後臺登入提示:“登入失敗:資料庫目錄寫入許可權不足!”boot資料庫
- PbootCMS後臺登入提示:”登入失敗:資料庫目錄寫入許可權不足!“boot資料庫
- Centos7密碼登入失敗鎖定設定CentOS密碼
- 監測Linux上失敗的登入嘗試方法分享Linux
- SSH 登入失敗:Host key verification failed 的處理方法AI
- Laravel 登入失敗次數限制 等待時間遞增Laravel
- windwos下mysql5.7安裝connection_control外掛,限制多次登入失敗,限定使用者重試時間MySql
- 華為遊戲登入驗籤失敗can not find publicKey of the cp遊戲
- win10應用商店登入失敗的解決方法Win10
- 19c登入pdb密碼報錯ORA-01017密碼
- 虛擬機器搭建rac ASM盤啟動失敗虛擬機ASM
- Oracle RAC啟動失敗-軟連結惹的禍Oracle
- RAC節點啟動失敗--ASM無法連線ASM