win10安裝oracle 19c後,設定用戶端(navicat12)遠端連線

2020-08-08 14:16:01

背景:下載了oracle19c的windows安裝包,解壓在C:\a_file\WINDOWS.X64_193000_db_home,執行目錄裡的setup.exe啓動安裝,oracle目錄設在C:\a_software\oracle 。

 

1.啓動navicat12進行連線,報ORA-12541:TNS:no listener錯誤

是listener.ora檔案沒設定的問題,接下來進行設定:

(1)檔案在哪?

檔案在解壓資料夾(C:\a_file\WINDOWS.X64_193000_db_home)的\network\admin下面 下麪,不在那個oracle目錄下。

(2)設定什麼?

原來只有 HOST = localhost 這一個設定,再加一個設定,把HOST改成本地ip

(3)重新啓動oracle監聽程式

執行cmd,輸入lsnrctl stop命令,報錯,當前使用者無許可權。

用管理員方式執行cmd,輸入lsnrctl stop命令,再輸入lsnrctl start命令,就可以了。

 

2.再次進行連線,報tid或server name未找到

(1)還是listener.ora檔案沒設定的問題,接下來進行設定:

加上紅框的部分,SID_NAME爲oracle安裝時設定的SID,預設是orcl

(2)重新啓動oracle監聽程式

 

3.再次進行連線,報ORA-28040: No matching authentication protocol

是oracle伺服器端 與 oracle用戶端版本不匹配的問題。

在oracle伺服器端修改用戶端最低版本可以解決。

(1)找到sqlnet.ora檔案

與剛纔的listener.ora檔案在同一個目錄。

沒有的話,就手動新建一個txt文字,檔名改爲sqlnet,後綴改爲ora。

(2)修改內容

新增

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

這兩行,不用重新啓動數據庫,也不用重新啓動監聽程式。

 

4.再次進行連線,報使用者名稱口令無效

因爲改了第三步的sqlnet.ora,修改了最低用戶端版本。

本地登錄無影響;但用戶端登錄想要生效,得重新修改密碼。

修改使用者密碼:

(1)輸入 sqlplus / as sysdba

(2)輸入alter user sys identified by oracle;

藍色的部分,第一個是使用者名稱,第二個是密碼

 

5.navicat登陸成功

 

(1)要是報角色錯誤

點「高階」索引標签,把第二行的角色改成SYSDBA