【故障處理】RedHat5.1 下 Oracle10gR2 RAC 下 ORA-12545 錯誤
一、問題描述
1.作業系統資訊
$ uname -a
Linux racdb1 2.6.18-53.el5xen #1 SMP Wed Oct 10 16:48:44 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
2.資料庫版本資訊
sys@orcl> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
3.問題現象
當RAC部署完成後,從客戶端反覆連線資料庫時,出現時而能連通,時而斷開連線的錯誤,連線資料庫不穩定!
具體情況如下:
sys@orcl> conn system/system@tnsrac
已連線。
sys@orcl> conn system/system@tnsrac
ERROR:
ORA-12545: 因目標主機或物件不存在,連線失敗
警告: 您不再連線到 ORACLE。
sys@orcl> conn system/system@tnsrac
已連線。
sys@orcl> conn system/system@tnsrac
已連線。
sys@orcl> conn system/system@tnsrac
ERROR:
ORA-12545: 因目標主機或物件不存在,連線失敗
警告: 您不再連線到 ORACLE。
客戶端 tnsnames.ora 配置情況如下:
tnsrac =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.21)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.22)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
伺服器端hosts檔案內容:
orcl1@racdb1 /home/oracle$ cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
# Public IP - (eth0)
172.16.12.23 racdb1
172.16.12.24 racdb2
# Virtual IP (VIP) - (eth0)
172.16.12.21 racdb1-vip
172.16.12.22 racdb2-vip
# Private IP - (eth1)
10.10.10.1 racdb1-priv
10.10.10.2 racdb2-priv
二、問題處理
1.使用 sqlplus / as sysdba 登陸資料庫檢視local_listener設定情況
sys@orcl> show parameter list
NAME TYPE VALUE
------------------- -------------------- --------------------
local_listener string
remote_listener string LISTENERS_ORCL
2.在伺服器端racdb1,racdb2上分別編輯tnsnames.ora和listener.ora檔案,將兩個檔案中的host主機名字均修改為具體的VIP地址
如將下面部分
LISTENERS_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racdb1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = racdb2-vip)(PORT = 1521))
)
改為:
LISTENERS_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.21)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.22)(PORT = 1521))
)
3.在racdb1節點的tnsnames.ora增加如下內容
local_listener_rac =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.21)(PORT = 1521))
)
4.在racdb2節點的tnsnames.ora增加如下內容
local_listener_rac =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.22)(PORT = 1521))
)
4.使用 sqlplus / as sysdba 登陸資料庫修改local_listener引數
alter system set local_listener='local_listener_rac' scope=both;
5.重啟兩節點的例項和監聽
sys@orcl> shutdown immediate;
sys@orcl> startup;
$ lsnrctl stop
$ lsnrctl start
三、測試
system@orcl> conn system/system@tnsrac
已連線。
system@orcl> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
orcl2
system@orcl> conn system/system@tnsrac
已連線。
system@orcl> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
orcl1
system@orcl> conn system/system@tnsrac
已連線。
system@orcl> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
orcl2
system@orcl> conn system/system@tnsrac
已連線。
system@orcl> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
orcl1
到此,該問題已經處理完成。
Good luck.
secooler
10.09.21
-- The End --
1.作業系統資訊
$ uname -a
Linux racdb1 2.6.18-53.el5xen #1 SMP Wed Oct 10 16:48:44 EDT 2007 x86_64 x86_64 x86_64 GNU/Linux
2.資料庫版本資訊
sys@orcl> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bi
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
3.問題現象
當RAC部署完成後,從客戶端反覆連線資料庫時,出現時而能連通,時而斷開連線的錯誤,連線資料庫不穩定!
具體情況如下:
sys@orcl> conn system/system@tnsrac
已連線。
sys@orcl> conn system/system@tnsrac
ERROR:
ORA-12545: 因目標主機或物件不存在,連線失敗
警告: 您不再連線到 ORACLE。
sys@orcl> conn system/system@tnsrac
已連線。
sys@orcl> conn system/system@tnsrac
已連線。
sys@orcl> conn system/system@tnsrac
ERROR:
ORA-12545: 因目標主機或物件不存在,連線失敗
警告: 您不再連線到 ORACLE。
客戶端 tnsnames.ora 配置情況如下:
tnsrac =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.21)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.22)(PORT = 1521))
(LOAD_BALANCE = yes)
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
伺服器端hosts檔案內容:
orcl1@racdb1 /home/oracle$ cat /etc/hosts
127.0.0.1 localhost.localdomain localhost
# Public IP - (eth0)
172.16.12.23 racdb1
172.16.12.24 racdb2
# Virtual IP (VIP) - (eth0)
172.16.12.21 racdb1-vip
172.16.12.22 racdb2-vip
# Private IP - (eth1)
10.10.10.1 racdb1-priv
10.10.10.2 racdb2-priv
二、問題處理
1.使用 sqlplus / as sysdba 登陸資料庫檢視local_listener設定情況
sys@orcl> show parameter list
NAME TYPE VALUE
------------------- -------------------- --------------------
local_listener string
remote_listener string LISTENERS_ORCL
2.在伺服器端racdb1,racdb2上分別編輯tnsnames.ora和listener.ora檔案,將兩個檔案中的host主機名字均修改為具體的VIP地址
如將下面部分
LISTENERS_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = racdb1-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = racdb2-vip)(PORT = 1521))
)
改為:
LISTENERS_ORCL =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.21)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.22)(PORT = 1521))
)
3.在racdb1節點的tnsnames.ora增加如下內容
local_listener_rac =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.21)(PORT = 1521))
)
4.在racdb2節點的tnsnames.ora增加如下內容
local_listener_rac =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.12.22)(PORT = 1521))
)
4.使用 sqlplus / as sysdba 登陸資料庫修改local_listener引數
alter system set local_listener='local_listener_rac' scope=both;
5.重啟兩節點的例項和監聽
sys@orcl> shutdown immediate;
sys@orcl> startup;
$ lsnrctl stop
$ lsnrctl start
三、測試
system@orcl> conn system/system@tnsrac
已連線。
system@orcl> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
orcl2
system@orcl> conn system/system@tnsrac
已連線。
system@orcl> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
orcl1
system@orcl> conn system/system@tnsrac
已連線。
system@orcl> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
orcl2
system@orcl> conn system/system@tnsrac
已連線。
system@orcl> select instance_name from v$instance;
INSTANCE_NAME
--------------------------------
orcl1
到此,該問題已經處理完成。
Good luck.
secooler
10.09.21
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-674856/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【故障處理】CRS-1153錯誤處理
- 【故障處理】ORA-19809錯誤處理
- linux下gdb如何處理coredump錯誤Linux
- 【故障處理】ORA-12162 錯誤的處理
- 【故障處理】一次RAC故障處理過程
- ORA-01591錯誤故障處理
- 在Oracle11g RAC環境下處理ORA-00845錯誤案例Oracle
- 11gR2 ORA-12545故障處理
- Oracle RAC 錯誤記錄以及處理方法Oracle
- 轉載ORA-01591錯誤故障處理
- Oracle 10g RAC故障處理Oracle 10g
- 【故障處理】ORA-12545: Connect failed because target hostAI
- 錯誤處理
- 記一次Windows下啟動錯誤故障Windows
- 轉載ORA-01591錯誤故障處理(ji)
- Go多協程併發環境下的錯誤處理Go
- Oracle10gR2 RAC ORA-3136 錯誤解決方法Oracle
- 【原創】Oracle RAC故障分析與處理Oracle
- PHP 錯誤處理PHP
- php錯誤處理PHP
- Go 錯誤處理Go
- Swift錯誤處理Swift
- Zabbix錯誤處理
- mysqldump錯誤處理MySql
- 主從故障處理--session 級別引數複製錯誤Session
- oracle 10g rac 網路故障處理Oracle 10g
- 【故障處理】DBCA建庫詭異問題處理--rac環境不能建立rac庫
- 錯誤處理:如何通過 error、deferred、panic 等處理錯誤?Error
- 【故障處理】ORA-31600和ORA-04063錯誤
- 【故障處理】Oracle10.2.0.3 ORA-3136 錯誤解決Oracle
- 【故障處理】修改maxuproc引數解決TNS-00519錯誤
- PHP錯誤處理和異常處理PHP
- go的錯誤處理Go
- Python錯誤處理Python
- ORACLE 10G rac故障處理一例Oracle 10g
- 【故障處理】分散式事務ORA-01591錯誤解決分散式
- oracle10g rac 報ora-12545錯誤的解決方案(zt)Oracle
- 異常錯誤資訊處理