ORA-28547 連線伺服器失敗,可能是Oracle Net 管理錯誤
ORA-28547 連線伺服器失敗,可能是Oracle Net 管理錯誤
原文地址:上週去給客戶培訓,講到DG部分做實際配置演示的時候,碰到了ORA-28547故障,客戶的資料庫時11.2.0.1的版本,Window平臺。
之前已經按照步驟把DG全部配置完成了,當準備在備庫啟用redo apply的時候,照例先檢查一下兩邊遠端歸檔路徑是否有效:
# listener.ora Network Configuration File: D:\oracle\product\11.2.0\dbhome_1\network\admin\listener.ora
# Generated by Oracle configuration tools.
#CLRExtProc
#DIRECT_HANDOFF_TTC_LISTENER = OFF
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = D:\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = D:\oracle
tnsnames.ora
# tnsnames.ora Network Configuration File: D:\oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
orcl =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
sqlnet.ora
# sqlnet.ora Network Configuration File: D:\oracle\product\11.2.0\dbhome_1\network\admin\sqlnet.ora
# Generated by Oracle configuration tools.
# This file is actually generated by netca. But if customers choose to
# install "Software Only", this file wont exist and without the native
# authentication, they will not be able to connect to the database on NT.
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
Information in this document applies to any platform.
ORA-28547: connection to server failed, probable Oracle Net admin error
However, local BEQUEATH connections (without the Listener) work fine.
改變:
New installation or changes to an existing listener.ora file
The listener.ora file's SID_LIST section may INCORRECTLY contain a "PROGRAM" line and/or an "ENVS" line for all database instances.
For example, for a listener called LISTENER1 the following may be set for a "static" SID_LIST section:
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL1)
(ORACLE_HOME = E:\app\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\app\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
In the example above, the first section contains the SID_NAME and ORACLE_HOME values for the Database instance required for connection to.
However, it also contains a PROGRAM and an ENVS value which will also attach to client connections through the SID_NAME Value.
This can result in Oracle*Net connection errors such as ORA-28547.
These are ONLY for External Procedures and/or Heterogeneous Services (HS) Gateway use, which is as per the second section example and correctly used for that section.
ORA-28547: connection to server failed, probable Oracle Net admin error (文件 ID 1645680.1)
In this Document
Symptoms |
Changes |
Cause |
Solution |
APPLIES TO:
Oracle Net Services - Version 11.2.0.1 and laterInformation in this document applies to any platform.
SYMPTOMS
When connecting through the Listener to a Database, an error is thrown:
ORA-28547: connection to server failed, probable Oracle Net admin error
However, local BEQUEATH connections (without the Listener) work fine.
CHANGES
New installation or changes to an existing listener.ora file
CAUSE
The listener.ora file's SID_LIST section may INCORRECTLY contain a "PROGRAM" line and/or an "ENVS" line for all database instances.
For example, for a listener called LISTENER1 the following may be set for a "static" SID_LIST section:
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL1)
(ORACLE_HOME = E:\app\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\app\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
In the example above, the first section contains the SID_NAME and ORACLE_HOME values for the Database instance required for connection to.
However, it also contains a PROGRAM and an ENVS value which will also attach to client connections through the SID_NAME Value.
This can result in Oracle*Net connection errors such as ORA-28547.
These are ONLY for External Procedures and/or Heterogeneous Services (HS) Gateway use, which is as per the second section example and correctly used for that section.
SOLUTION
To resolve this issue, make sure that if a static SID_LIST section is required, then it only contains the SID_NAME value and (if the instance is not in the same Home) the ORACLE_HOME value.
So edit the listener.ora file and remove any other values (unless directed by Oracle Support, such as inclusion of ENVS values specific to your instance).
In the above example, the corrected entry will be as follows:
(SID_LIST =
(SID_DESC =
(SID_NAME = ORCL1)
(ORACLE_HOME = E:\app\oracle\product\11.2.0\dbhome_1)
)
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = E:\app\oracle\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
Restart the Listener using "lsnrctl stop LISTENER1" and "lsnrctl start LISTENER1" (or via the Windows Services if on Windows).
About Me
...............................................................................................................................
● 本文作者:小麥苗,只專注於資料庫的技術,更注重技術的運用
● 本文在itpub(http://blog.itpub.net/26736162)、部落格園(http://www.cnblogs.com/lhrbest)和個人微信公眾號(xiaomaimiaolhr)上有同步更新
● 本文itpub地址:http://blog.itpub.net/26736162/viewspace-2135162/
● QQ群:230161599 微信群:私聊
● 聯絡我請加QQ好友(642808185),註明新增緣由
● 文章內容來源於小麥苗的學習筆記,部分整理自網路,若有侵權或不當之處還請諒解
● 版權所有,歡迎分享本文,轉載請保留出處
...............................................................................................................................
拿起手機使用微信客戶端掃描下邊的左邊圖片來關注小麥苗的微信公眾號:xiaomaimiaolhr,掃描右邊的二維碼加入小麥苗的QQ群,學習最實用的資料庫技術。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26736162/viewspace-2135162/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- DedeCms錯誤警告:連線資料庫失敗資料庫
- 織夢DedeCms錯誤警告,連線資料庫失敗資料庫
- 遠端桌面連線失敗 批次管理雲伺服器伺服器
- 我的postgresql資料庫報埠錯誤,連線失敗SQL資料庫
- CF連線伺服器失敗怎麼回事 cf連線失敗解決辦法伺服器
- Dedecms錯誤警告:連線資料庫失敗,出錯怎麼解決?資料庫
- 【常見的SQL Server連線失敗錯誤以及解決方法】SQLServer
- perl連線Oracle錯誤Oracle
- MongoVUE 連線失敗GoVue
- RDM 連線阿里雲伺服器 失敗阿里伺服器
- Oracle備庫TNS連線失敗的分析Oracle
- Dell伺服器遠端卡java連線失敗伺服器Java
- 伺服器管理中若伺服器連線失敗,需要做些什麼檢查伺服器
- minio連線失敗報錯ValueError: path in endpoint is not allowedError
- 解決使用SSH連線Linux伺服器時連線失敗的故障Linux伺服器
- 達夢資料庫關於[-70028]:建立SOCKET連線失敗的錯誤原因資料庫
- 連線oracle錯誤解決辦法Oracle
- 無法連線到雲伺服器失敗怎麼辦伺服器
- postgresql連線失敗如何處理SQL
- 在容器外部連線kafka失敗Kafka
- telnet23埠連線失敗怎麼處理win10_win10系統telnet在埠23連線失敗解決方法Win10
- Error infos: DedeCms錯誤警告:連線資料庫失敗,可能資料庫密碼不對或資料庫伺服器出錯!Error資料庫密碼伺服器
- Error infos:DedeCms錯誤警告:連線資料庫失敗,可能資料庫密碼不對或資料庫伺服器出錯!Error資料庫密碼伺服器
- vsphere報錯: 連線到虛擬機器控制檯失敗並顯示錯誤:VMRC 控制檯的連線已斷開。正在嘗試重新連線虛擬機
- 阿里雲伺服器安裝mysql後本地連線失敗阿里伺服器MySql
- Jdbc連線Oracle常見錯誤彙總JDBCOracle
- 遠端主機mysql連線失敗MySql
- 資料庫連線設定失敗!資料庫
- VSCode 遠端連線失敗VSCode
- 資料庫遠端連線失敗資料庫
- Kettle8.2連線Oracle資料庫失敗解決方法Oracle資料庫
- win10連線遠端桌面失敗提示“出現身份驗證錯誤”怎麼解決Win10
- 網頁提示連線資料庫失敗是怎麼回事(網站資料庫連線失敗)網頁資料庫網站
- Dedecms錯誤警告:連線資料庫失敗,可能資料庫密碼不對或資料庫伺服器出錯怎麼解決?資料庫密碼伺服器
- PbootCMS錯誤提示:檔案上傳失敗boot
- 【Bug】vs生成失敗但沒提示錯誤
- 雲伺服器ubuntu系統下mysql連線失敗怎麼辦伺服器UbuntuMySql
- 寬頻連線錯誤678 寬頻連線錯誤691錯誤的解決辦法