Oracle
Windows 8 上的 Oracle 連接突然被拒絕
我突然遇到了各種與 sql developer 的連接問題。它一直工作到昨天,並停止在 Windows 8 機器上工作。
我仍然可以通過命令提示符進行連接。
我專門打開了為監聽器配置的 1521 埠。
還為本地程序打開了所有埠。
添加了 TNS_ADMIN 來註冊密鑰。
但仍然沒有運氣
這是我的
listener.ora
:SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME=orcl) (SID_NAME = CLRExtProc) (ORACLE_HOME = C:\app\rani\product\11.2.0\dbhome_1) (程序 = extproc) (ENVS =“EXTPROC_DLLS=ONLY:C:\app\rani\product\11.2.0\dbhome_1\bin\oraclr11.dll”) ) ) 聽眾 = (DESCRIPTION_LIST = (描述= (地址 =(協議 = IPC)(密鑰 = EXTPROC1521)) (地址 =(協議 = TCP)(主機 = 本地主機)(埠 = 1521)) ) ) ADR_BASE_LISTENER = C:\app\rani
tnsnames.ora
內容:甲骨文 = (描述= (地址 = (協議 = TCP)(主機 = 127.0.0.1)(埠 = 1521)) (連接數據 = (伺服器 = 專用) (SERVICE_NAME = orcl) ) )
從命令提示符一切正常:
顯示參數 service_name; 名稱類型值 ------------------------------------ ----------- ----------------- service_names 字元串 orcl C:\Users\rani>lsnrctl services 監聽器 適用於 64 位 Windows 的 LSNRCTL:版本 11.2.0.1.0 - 2014 年 12 月 11 日 23:44 生產 :51 版權所有 (c) 1991、2010,甲骨文。版權所有。 連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) 服務總結... 服務“CLRExtProc”有 1 個實例。 實例“CLRExtProc”,狀態 UNKNOWN,有 1 個用於此服務的處理程序... 處理程序: “專用”建立:0 拒絕:0 本地伺服器
我想我已經盡我所能,但我仍然無法連接我的 sqlplus 開發人員。我不斷得到:
Network adapter could not establish connection
。sqlnet 日誌詳細資訊:
致命的 NI 連接錯誤 12505,連接到: (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521))(CONNECT_DATA=(SID=orcl)(CID=(PROGRAM=C:\app\rani\product\11.2.0\dbhome_1 \bin\emagent.exe)(HOST=PICKLE)(USER=SYSTEM)))) 版本資訊: 適用於 64 位 Windows 的 TNS:版本 11.2.0.1.0 - 生產 用於 64 位 Windows 的 Windows NT TCP/IP NT 協議適配器:版本 11.2.0.1.0 - 生產 時間:2014-12-11 23:09:10 跟踪到文件:C:\app\rani\product\11.2.0\dbhome_1\NETWORK\trace\sqlnet.trc Tns 錯誤結構: ns 主錯誤程式碼:12564 TNS-12564:TNS:連接被拒絕 ns 二級錯誤程式碼:0 nt主要錯誤程式碼:0 nt 二級錯誤程式碼:0 nt 作業系統錯誤程式碼:0
僅供參考:我的電腦名稱是 PICKLE,應該與 localhost 相同。
監聽器詳細資訊: C:\Users\rani>lsnrctl services 監聽器 適用於 64 位 Windows 的 LSNRCTL:版本 11.2.0.1.0 - 2014 年 12 月 12 日 00:14 生產 :15 版權所有 (c) 1991、2010,甲骨文。版權所有。 連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) 服務總結... 服務“CLRExtProc”有 1 個實例。 實例“CLRExtProc”,狀態 UNKNOWN,有 1 個用於此服務的處理程序... 處理程序: “專用”建立:0 拒絕:0 本地伺服器 命令成功完成 C:\Users\rani>lsnrctl 狀態 適用於 64 位 Windows 的 LSNRCTL:版本 11.2.0.1.0 - 2014 年 12 月 12 日 00:14 生產 :39 版權所有 (c) 1991、2010,甲骨文。版權所有。 連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) 監聽器的狀態 ------------------------ 別名監聽器 適用於 64 位 Windows 的版本 TNSLSNR:版本 11.2.0.1.0 - 產品 行動 開始日期 2014 年 12 月 12 日 00:13:54 正常執行時間 0 天 0 小時。0分鐘。45 秒 跟踪級別關閉 安全開啟:本地作業系統驗證 SNMP 關閉 監聽器參數文件 C:\app\rani\product\11.2.0\dbhome_1\NETWORK\ADMIN\list 能源.ora 偵聽器日誌文件 c:\app\rani\diag\tnslsnr\pickle\listener\alert\log.xml 偵聽端點摘要... (描述=(地址=(協議=ipc)(管道名稱=\\.\pipe\EXTPROC1521ipc))) (描述=(地址=(協議=tcp)(主機=127.0.0.1)(埠=1521))) 服務總結... 服務“CLRExtProc”有 1 個實例。 實例“CLRExtProc”,狀態 UNKNOWN,有 1 個用於此服務的處理程序... 命令成功完成
任何幫助,我認為 sql 開發人員還沒有為 Windows 8 做好準備
解決了!問題
LOCAL_LISTENER
未設置為orcl
。所以SQL> alter system register; SQL> alter system set LOCAL_LISTENER='(ADDRESS = (PROTOCOL=TCP)(HOST=localhost)(PORT=1521))' scope=both;
成功了!
我認為你應該有一個名為“orcl”的服務,當你做
lsnrctl status
但目前你沒有。或者反過來嘗試將您的 tnsname.ora (SERVICE_NAME = orcl) 更改為“CLRExtProc”。