日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

ORA12514遇到了怎么排查问题出在哪

發布時間:2023/12/15 综合教程 46 生活家
生活随笔 收集整理的這篇文章主要介紹了 ORA12514遇到了怎么排查问题出在哪 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

今天使用SQL Developer連接一臺測試服務器數據庫(ORACLE 11g)時,遇到了“ORA-12514, TNS:listener does not currently know of service requested in connect descriptor”錯誤,具體提示如下所示:

執行請求的操作時遇到錯誤:

Listener refused the connection with the following error:

ORA-12514, TNS:listener does not currently know of service requested in connect descriptor

供應商代碼 12514

Step 1: 首先檢查客戶端的tnsnames.ora里面的host、port、service_name等是否正確

myvm =
 (DESCRIPTION =
 (ADDRESS_LIST =
 (ADDRESS = (PROTOCOL = TCP)(HOST = 10.20.57.15)(PORT = 1521))
 )
 (CONNECT_DATA =
 (SERVER = SHARED)
 (SERVICE_NAME = gsp.localdomain)
 
 )
 )

逐一仔細檢查過后發現這些配置都是正確的。 其實前幾天還是正常來的。測試服務器和tnsnames.ora都沒有改動過。所以我們繼續后面排查。

Step 2:檢查確認數據庫實例是否啟動。

SQL> select status from v$instance;

STATUS
------------
OPEN

SQL> 

如上所示,數據庫實例正常,并沒有關閉。當數據庫實例異常關閉,也會出現ORA-12514錯誤,如下所示(如果我關閉一數據庫實例,然后使用SQL*Plus測試連接數據庫就會遇到這個錯誤):

C:\Users>sqlplus system/123456@mydb

SQL*Plus: Release 11.2.0.1.0 Production on 星期三 4月 12 11:56

Copyright (c) 1982, 2010, Oracle. All rights reserved.

ERROR:
ORA-12514: TNS: 監聽程序當前無法識別連接描述符中請求的服務

Step 3:檢查網絡是否正常,tnsping能否ping通

如下所示,ping 和tnsping 均都正常

監聽服務也正常,沒有問題

[oracle@DB-Server admin]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 12-APR-2017 10:36:40

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production
StartDate 12-APR-2017 10:31:20
Uptime 0 days 0 hr. 5 min. 20 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener ParameterFile /u01/app/oracle/product/11.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/DB-Server/listener/alert/log.xml
Listening Endpoints Summary...
 (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
 (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=DB-Server.localdomain)(PORT=1521)))
The listener supports no services
The command completed successfully

Step 4:檢查$ORACLE_BASE/diag/tnslsnr/DB-Server/listener/alert下的日志,發現host_addr為10.20.34.76,實際IP地址不是這個。因為監聽文件里面我使用的hostname DB-Server.localdomain,所以趕緊檢查/etc/hosts的配置

[root@DB-Server ~]# ifconfig
eth0 Link encap:Ethernet HWaddr B0:83:FE:55:32:E5 
 inet addr:10.20.57.15 Bcast:10.20.57.255 Mask:255.255.255.0
 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
 RX packets:2363981 errors:0 dropped:0 overruns:0 frame:0
 TX packets:180048 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:1000 
 RX bytes:225925147 (215.4 MiB) TX bytes:14349633 (13.6 MiB)
 Interrupt:233 Base address:0x4000 

lo Link encap:Local Loopback 
 inet addr:127.0.0.1 Mask:255.0.0.0
 UP LOOPBACK RUNNING MTU:16436 Metric:1
 RX packets:3692 errors:0 dropped:0 overruns:0 frame:0
 TX packets:3692 errors:0 dropped:0 overruns:0 carrier:0
 collisions:0 txqueuelen:0 
 RX bytes:2982961 (2.8 MiB) TX bytes:2982961 (2.8 MiB)

[root@DB-Server ~]# more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
10.20.34.76 DB-Server.localdomain DB-Server
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
[root@DB-Server ~]# 

果然發現/etc/hosts下配置為10.20.34.76, 具體原因是因為IT部門調換辦公室,從三樓撤到二樓,將這臺PC搬下來后,服務器IP地址變化了,修改/etc/hosts,然后重啟監聽服務,問題解決。

總結

以上是生活随笔為你收集整理的ORA12514遇到了怎么排查问题出在哪的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。