oracle10g rac 報ora-12545錯誤的解決方案(zt)
一、問題描述
作業系統Windows 2003 ,oracle 10g 10.2.0.2
當客戶端連過來時客戶端有時能連通,有時卻斷開提示錯誤
SQL> conn
已連線。
SQL> conn
SQL> conn
ERROR:
ORA-12545: 因目標主機或物件不存在,連線失敗
ORA-12545: 因目標主機或物件不存在,連線失敗
警告: 您不再連線到 ORACLE。
SQL> conn
已連線。
SQL> conn
SQL> conn
已連線。
SQL> conn
SQL> conn
ERROR:
ORA-12545: 因目標主機或物件不存在,連線失敗
ORA-12545: 因目標主機或物件不存在,連線失敗
警告: 您不再連線到 ORACLE。
SQL>
客戶端tns配置
GZMDC=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.18)(PORT = 5880))
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.20)(PORT = 5880))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.18)(PORT = 5880))
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.20)(PORT = 5880))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)
伺服器端
201.150.14.18 node1-vip
201.150.14.20 node2-vip 是虛擬ip(vip)
201.150.14.5 node1
201.150.14.7 node2 是公網ip
201.150.14.7 node2 是公網ip
二、解決方案
有人提議把客戶端hosts檔案中加入對兩個服務名的名字解析,經測試的確能解決問題,但總覺得不是很好,維護上百臺電腦的hosts檔案是很困難的.
下面的方法是我測試成功的.
1, 伺服器2個節點群集 機器名為 node1,node2.
2,在伺服器端用system使用者登入
SQL> show parameter list
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
local_listener string
remote_listener string LISTENERS_TEST
------------------------------------ ----------- ------------------------------
local_listener string
remote_listener string LISTENERS_TEST
可以看到這兩個引數,remote_listener為 LISTENERS_TEST
3,在node1,node2上分別編輯伺服器端tnsname.ora (注意,是伺服器端的)
將下面部分
LISTENERS_TEST =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 5880))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 5880))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 5880))
(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 5880))
)
改為:
LISTENERS_TEST =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.18)(PORT = 5880))
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.20)(PORT = 5880))
)
也就是將host主機名改為ip地址
LISTENERS_TEST =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.18)(PORT = 5880))
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.20)(PORT = 5880))
)
也就是將host主機名改為ip地址
在node1上增加以下部分
LOCAL_TEST =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.5)(PORT = 5880))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.5)(PORT = 5880))
)
在node2上增加以下部分
LOCAL_TEST =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.7)(PORT = 5880))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 201.150.14.7)(PORT = 5880))
)
儲存退出
檢視兩個節點的 listener.ora檔案,最好將裡面的主機名都改為ip地址
4,用system使用者登入
執行
alter system set local_listener='LOCAL_TEST' scope=both;
5 重啟所有例項 所有監聽.
再從客戶端連線 正常,
每次連線用 show parameter instance_name檢視例項名, 負載均衡已經生效.
有人把remote_listener 引數置空 雖然連線正常但已經破壞了負載均衡.
以上做法不知道是不是有什麼不妥.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-85106/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 解決:客戶端連線11gR2 RAC報ORA-12545錯誤客戶端
- ORACLE RAC中連線ScanIP報錯ORA-12545的問題解決Oracle
- 【Oracle】11g RAC ORA-12545 解決方案Oracle
- ORA-12545 RAC 解決
- latex 錯誤以及解決方案
- 執行create table as 報ora-600的錯誤的解決方案
- ORA-01157錯誤解決(zt)
- Linux下錯誤解決方案Linux
- 解決MySQL server has gone away錯誤的解決方案MySqlServerGo
- Qt報Multiple definition錯誤的解決QT
- 客戶端使用SCNAIP連線11G RAC資料庫報錯ORA-12545解決客戶端AI資料庫
- RAC: SRVCTL and VIPCA 命令報錯解決方法PCA
- navicat連線MySQL8.0.11報2059錯誤的解決方案MySql
- 關於 RAC VIP (Oracle10G RAC) 的探討(zt)Oracle
- dbfread報錯ValueError錯誤解決方法Error
- Ubuntu Cannot allocate memory 錯誤解決方案Ubuntu
- ORA-28000錯誤解決方案
- ORA-07445: 錯誤解決方案
- ORA-00054錯誤解決方案(摘)
- 安裝sass報錯解決方案
- ORA-00845的錯誤與解決方案
- SVN 遇到的一些錯誤解決方案
- PbootCMS中常見的錯誤提示及其解決方案boot
- 11g RAC ORA-12545 解決方案 +11g scan IP新特性
- [重慶思莊每日技術分享]-ORACLE RAC中連線ScanIP報錯ORA-12545的問題解決Oracle
- Django(21)migrate報錯的解決方案Django
- ORA-01756報錯的解決方案
- Oracle10g的ORA-3136錯誤解決辦法Oracle
- Oracle10g RAC ASM磁碟組[zt]OracleASM
- zt_RMAN-06026 錯誤分析與解決
- Hadoop常見錯誤及解決方案Hadoop
- HTTP 錯誤 500.21 - Internal Server Error 解決方案HTTPServerError
- MySQL插入資料1366錯誤解決方案MySql
- 開發常見錯誤及解決方案
- MySQL錯誤Incorrect file format解決方案薦MySqlORM
- Java java.lang.ExceptionInInitializerError 錯誤解決方案JavaExceptionError
- DataGuard ORA-10458錯誤解決方案
- informatica SORT_40406 錯誤解決方案ORM