我正在configuration数据守卫。 我想用两个tnsnames注册local_listener参数: tnsname1和tnsname2 。
我使用`ALTER SYSTEM SET LOCAL_LISTENER ='tnsname1','tnsname2';
但它不起作用。 谁能帮我?
谢谢
不知道我明白你到底在做什么。 LOCAL_LISTENER参数定义了一个Oracle监听器或监听器列表,通常在您的tnsnames.ora文件中定义,您的实例应注册。 例如:
my_listeners= (DESCRIPTION = (ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1521)) (ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1522)) )
这意味着您有两个侦听器在本地服务器上运行,一个在端口1521,另一个在1522.使用:
ALTER SYSTEM SET LOCAL_LISTENER=my_listeners
用这两个监听器注册你的数据库。 我不认为你可以在命令中指定多个tnsnames条目。
ALTER SYSTEM SET LOCAL_LISTENER ='tnsname1';
然后在tnsnames.ora文件中为该名称configuration两个侦听器。
tnsname1 =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = host1)(PORT = 1521))(ADDRESS =(PROTOCOL = TCP)(HOST = host1)(PORT = 6000)
如果侦听器不是本地的,使用ALTER SYSTEM SET REMOTE_LISTENER ='tnsname2';
tnsname2 =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = host2)(PORT = 3000))(ADDRESS =(PROTOCOL = TCP)(HOST = host3)(PORT = 4000)
对不起,这是正确的:alter system set LOCAL_LISTENER =“(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521))(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.2 )(PORT = 1526)))“;
干得好:
alter system set local_listener ='(ADDRESS =(PROTOCOL = TCP)(HOST =)(PORT =)),(ADDRESS =(PROTOCOL = TCP)(HOST =)(PORT =))'scope = both;
例如:alter system set local_listener ='(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.1)(PORT = 1521)),(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.1.2)(PORT = 1526) )'scope = both;