oracle12C ora-12518,ORA-12541:TNS-12560:ORA-12518:ORA-28040:ORA-01017

說明

環境(參考):

Oracle 12c

SQL Developer/Navicat Premium(64位)連接數據庫

后續出現的錯誤代碼:

ORA-12541: no listener

TNS-12560:協議適配器錯誤

TNS-00530:協議適配器錯誤

ORA-12518

ORA-12514

ORA-28040:沒有匹配的驗證協議

ORA-01017:用戶名:/口令無效

注冊表或服務沒有TNS監聽器項目

錯誤

eb59b4bca923ad0343947581050f738a.png

原因

找不到監聽器

net 卻說有監聽器

Windows服務中也找不到TNS服務

97e9c8111fd2f28c5334eb0e16be20fb.png

於是查閱資料說要找到安裝目錄下的bin/lsnrctl.exe

輸入start,報告協議適配器錯誤

a1bdcdac872354ff6601c90aa305dfc0.png

再次查閱,發現可能是bin/tnslsnr.exe文件不存在或者路徑配置問題,首先檢查注冊表

a273497076fd0632852661d00345aca9.png

發現沒有TNS的服務

又在bin目錄下找到該文件

運行tnslsnr.exe

2046e1df8ff27a17e6b0d0b7461fa966.png

報告說沒有配置OracleHome環境變量,筆者打開環境變量后發現只配了path,所以再次配置環境變量

ORACLE_HOME

D:\app\lenovo\virtual\product\12.2.0\dbhome_1

TNS_ADMIN

D:\app\lenovo\virtual\product\12.2.0\dbhome_1\network\admin

重啟! 然而沒什么卵用,注冊表和服務依然沒有TNS

start lsnrctl.exe,依然報錯

筆者只好絕望的再去打開tnslsnr.exe,令我茫然的是如下界面:

6e82768b10c78d581be01beb4bf5df34.png

一片空白!之后突然反應過來,這是不是啟動成功了?!

然后我再次運行lsnrctl.exe

cceeefe9093fe7551c99740196aece65.png

監聽程序已啟動!

筆者又檢查了服務和注冊表,依然沒有變化,但我打算用Navicat Premium連接了

很遺憾,連接失敗

79fb4c592af4833d52891acc0d6d5cf4.png

百度得知這個錯誤叫監聽器無法分發客戶機連接

cc049739d05b49c0ff35e2ce79c34117.png

查詢后感覺沒問題啊

關閉tnslsnr.exe窗口和,又出現了沒有監聽器的錯誤。。。。

啟動tnslsnr.exe,連接

95f3427fdce73f2ee4d64f6555aa914b.png

啟動lsnrctl.exe

又出現無法分發!!

很明顯,問題出在tnslsnr.exe上,沒有人來啟動它,本來應該是注冊表啟動,但我竟然整個TNS目錄都沒有,別人都是ImagePath改改就好。

所以我仿照MNS的格式手寫了注冊表。

fe44d6c9a1cb3b97b5c5e594339b78e9.png

重啟,發現服務里面有TNS這一項了,但是啟動時會報錯!說帳號密碼錯誤,筆者也不知道什么東東,直接不要帳號了,改本地登錄。

90b95e1a901b1017100943bfa21508f9.png

啟動后是這樣

70501cab0bd6fdf8e7d788c59b6a3f20.png

27280ac6740708df155d4f8c5cc004b8.png

我先嘗試了SQL Deveploper,哈哈,終於登上了!!!

35831e098055026107e8a4906751b61f.png

但是!!Navicat依舊不行!!!

96ec79090f0efde42b35e6fad96e77a7.png

繼續百度!!

原因是用weblogic去連Oracle12c的數據庫,創建連接池的時候報的這個錯誤。

此錯誤是用了Oracle11g的驅動連12c的數據庫,需要在$ORACLE_HOME\NETWORK\ADMIN\sqlnet.ora中配置:

SQLNET.ALLOWED_LOGON_VERSION=8

注意的是:

1.如果沒有這個文件,則需要建立這個文件。

2.如果是RAC,多個節點都需要加。

3.不需要重啟數據庫。

f2aec9ede550be310e8e590cdfd849c3.png

然而。。。。

5d576e11dea0809c1c2e315d0e10b9e4.png

新的問題出現,多次連接失敗(10次)后,System帳戶被鎖定!!解鎖

7064775ccbad90091577c4d3a0d28448.png

SQL Deveploper成功連接,Navicat還是不行,后來有看到大小寫的問題,可是當我把我的Oracle 12c 去除大小寫之后,連SQL Deveploper都登不上,只好改回去

目前基本上確定 ORA-01017 的問題出在編碼上或者大小寫,可能是軟件轉化大小寫的原因。

從注冊表得知我的編碼是GBK,暫時不動他,把system 密碼改成123456,哈哈,這樣不會有大小寫了吧!

c32e129006221ea9d34faa3db2fe204b.png

ce99133ad45c49048c1ca9f649fd1a66.png

哦,對了,我還設置了一樣東西,不知道有沒有用,菜鳥一個,啥都不懂哈哈, 我勾了兼容。

a01f385279d419068b59d6de7559af13.png

終於搞定了,不喜歡重裝,所以一直折騰,TNS注冊表那塊是我手寫的,有安全隱患,所以像這種建議重裝

很感謝您能看到最后,當出現監聽器時,我就感覺到這是一場硬戰,於是一邊調試一邊記錄,希望能給朋友提供參考意見。前前后后花了我8個小時,也去掉了一些嘗試過但沒有用的方法,思路不是很清晰,見諒。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值