Oracle服務端1521端口無法telnet,服務名未開啟監(jiān)聽的解決
場景
oracle服務安裝在windows本地,oracle客戶端在虛擬機中,使用虛擬機連接windows的oracle數(shù)據(jù)庫。
問題1:使用虛擬機telnet我本地oracle1521端口,不通
解決思路:
關閉虛擬機linux防火墻(這個方法有點粗暴,建議在只需要修改防火墻的端口允許通過即可)
# 1:查看防火狀態(tài) systemctl status firewalld service iptables status # 2:暫時關閉防火墻 systemctl stop firewalld service iptables stop # 3:永久關閉防火墻 systemctl disable firewalld chkconfig iptables off # 4:重啟防火墻 systemctl enable firewalld service iptables restart # 5:永久關閉后重啟 chkconfig iptables on
防火墻配置規(guī)則 端口 允許得端口
# 查看已打開的端口 netstat -anp # 添加允許的端口 firewall-cmd --add-port=1521/tcp --permanent # 若移除端口 firewall-cmd --permanent --remove-port=1521/tcp # 策略修改完成,請重啟: systemctl restart firewalld
添加windows防火墻對1521的入站允許規(guī)則
問題2:使用sqlplus登錄報錯,ORA-12514: TNS: 監(jiān)聽程序當前無法識別連接描述符中請求的服務
解決思路:關鍵字監(jiān)聽程序
查看監(jiān)聽服務狀態(tài)
# 關閉監(jiān)聽服務 lsnrctl stop # 啟動監(jiān)聽服務 lsnrctl start # 查看監(jiān)聽服務狀態(tài) lsnrctl stat
查看監(jiān)聽服務如果出現(xiàn)下列問題
說明監(jiān)聽服務沒有啟動
去啟動oracle監(jiān)聽服務,監(jiān)聽服務有兩個,這里只做單監(jiān)聽講,隨便啟動一個即可。
再通過lsnrctl stat
查看監(jiān)聽服務,如果出現(xiàn)下圖情況
只看到一個服務名"CLRExtProc"啟動了,而我們想要的是ORCL服務名
這是需要修改listener.ora
文件
修改listener.ora
文件
文件路徑,我本地的路徑是:D:\app\niaobulashi\product\11.2.0\dbhome_1\NETWORK\ADMIN
需要添加以下紅色部分代碼,將服務名為ORCL添加到監(jiān)聽配置文件中
貼出來如下:
SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = CLRExtProc) (ORACLE_HOME = D:\app\niaobulashi\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\niaobulashi\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) (SID_DESC= (SID_NAME = ORCL) (ORACLE_HOME = D:\app\niaobulashi\product\11.2.0\dbhome_1) (PROGRAM = extproc) (ENVS = "EXTPROC_DLLS=ONLY:D:\app\niaobulashi\product\11.2.0\dbhome_1\bin\oraclr11.dll") ) ) LISTENER = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-NNDNCEI)(PORT = 1521)) ) ADR_BASE_LISTENER = D:\app\niaobulashi
再查看監(jiān)聽服務狀態(tài),可以看到ORCL有了
修改tnsname.ora
的HOST
為本地主機名
ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-NNDNCEI)(PORT = 1521)) ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = DESKTOP-NNDNCEI)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = ORCL) ) )
最后使用虛擬機就可以正常連接本地oracle服務了
總結
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
如何將Oracle的一個大數(shù)據(jù)表快速遷移到 Sqlserver2008數(shù)據(jù)庫(圖文教程)
這篇文章主要介紹了如何將Oracle的一個大數(shù)據(jù)表快速遷移到 Sqlserver2008數(shù)據(jù)庫(圖文教程),本文圖文并茂給大家介紹的非常詳細,需要的的朋友參考下吧2017-05-05Oracle密碼錯誤次數(shù)過多賬號鎖定的問題(推薦)
一般數(shù)據(jù)庫默認是10次嘗試失敗后鎖住用戶。這篇文章主要介紹了Oracle密碼錯誤次數(shù)過多賬號鎖定的問題,需要的朋友可以參考下2017-03-03plsql developer修改sql窗口的大小實現(xiàn)
本文主要介紹了plsql developer修改sql窗口的大小實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-08-08修改計算機名或IP后Oracle10g服務無法啟動的解決方法
修改計算機名或IP后Oracle10g無法啟動服務即windows服務中有一項oracle服務啟動不了,報錯,下面是具體的解決方法2014-01-01ORACLE 修改表結構 之ALTER CONSTAINTS的使用
這篇文章主要介紹了ORACLE 修改表結構 之ALTER CONSTAINTS的使用,需要的朋友可以參考下2014-07-07Oracle 如何規(guī)范清理v$archived_log記錄實例詳解
這篇文章主要介紹了Oracle 如何規(guī)范清理v$archived_log記錄實例詳解的相關資料,需要的朋友可以參考下2017-05-05