我有一个带有节点的oracle data guard设置-一个作为主节点,另一个作为物理备用节点。我还在它上面配置了data guard代理。
问题是当我试图切换的时候,我得到了上面的错误。在使用DGMGRL (data guard broker)进行切换的过程中,成功地完成了切换工作,但切换后无法启动satndby数据库,必须手动启动并挂载备用数据库。
我还检查了tnsnames.ora中的tnsping和服务名称是否正确。tnsnames.ora文件的内容为:
PRI =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = vcslx502-rana-vm1)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = pri)
)
)
STBY =
(DESCRIPTION=
(ADDRESS = (PROTOCOL = TCP) (HOST = vcslx502-rana-vm2) (PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = stby)
)
)服务名的查询结果如下:
SQL> select value from v$parameter where name='service_names';
VALUE
--------------------------------------------------------------------------------
pri在待机状态:
SQL> select value from v$parameter where name='service_names';
VALUE
--------------------------------------------------------------------------------
stby我还检查了服务,发现这两个服务都在运行。下面是结果。在主服务器上:
[oracle@vcslx502-rana-vm1 admin]$ lsnrctl services
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 11:45:15
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
Services Summary...
Service "pri" has 2 instance(s).
Instance "pri", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Instance "pri", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:1 refused:0 state:ready
LOCAL SERVER
Service "priXDB" has 1 instance(s).
Instance "pri", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1022 state:ready
DISPATCHER <machine: vcslx502-rana-vm1, pid: 29432>
(ADDRESS=(PROTOCOL=tcp)(HOST=vcslx502-rana-vm1)(PORT=28706))
Service "pri_DGB" has 1 instance(s).
Instance "pri", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:1 refused:0 state:ready
LOCAL SERVER
The command completed successfully在待机状态:
[oracle@vcslx502-rana-vm2 admin]$ lsnrctl services
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 24-SEP-2014 11:40:30
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
Services Summary...
Service "stby" has 2 instance(s).
Instance "stby", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Instance "stby", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:1 refused:0 state:ready
LOCAL SERVER
Service "stby_DGB" has 1 instance(s).
Instance "stby", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:1 refused:0 state:ready
LOCAL SERVER
The command completed successfully有没有人可以帮助我,这样每次我使用DGMGRL进行切换时,我就不需要启动和挂载备用数据库了?
还有一件事,我可以通过运行所需的每个命令来手动执行切换过程,而不会收到任何此类错误。
谢谢,拉娜
发布于 2014-12-23 04:37:00
listener.ora文件应如下所示:
<unique_name>_LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = <hostname>)(PORT = <port>))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = <unique_name>_DGMGRL.<domain>)
(SID_NAME = <oracle_sid>)
(ORACLE_HOME = <oracle_home>)
)
)你可以在数据库里找到它。在我的例子中,它们如下所示:
SQL> select name as parameter,value from v$parameter
where name in ('service_names','db_domain','db_unique_name');
PARAMETER VALUE
--------------- --------------------
db_domain rgolovko.com
service_names RGTST.rgolovko.com
db_unique_name RGTST在我将域名添加到侦听器中并将service_name添加到数据库中之后,dataguard将正确地执行切换。
https://stackoverflow.com/questions/26031123
复制相似问题