背景:下載了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