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