Database 如何从主主机获取备用主机名

Database 如何从主主机获取备用主机名,database,oracle,database-administration,Database,Oracle,Database Administration,我需要从主主机获取备用服务器的主机名。 通常的方法是使用别名。但在某些情况下,在log\u archive\u dest中,standby的别名设置为scan,而不是hostname。所以我们无法获得待命的详细信息 任何替代者都会非常感激:您需要为sqlplus创建一个脚本。 在脚本中,首先从log\u archive\u dest参数获取tns\u alias standby bd。 然后作为sysdba连接到备用bd sqlplus sys/password@tns_alias as sys

我需要从主主机获取备用服务器的主机名。 通常的方法是使用别名。但在某些情况下,在log\u archive\u dest中,standby的别名设置为scan,而不是hostname。所以我们无法获得待命的详细信息


任何替代者都会非常感激:

您需要为sqlplus创建一个脚本。 在脚本中,首先从log\u archive\u dest参数获取tns\u alias standby bd。 然后作为sysdba连接到备用bd

sqlplus sys/password@tns_alias as sysdba
然后运行SQL

select host_name  from  v$instance
Uodate 1 您可以在主服务器上运行查询,并从备用服务器查看活动会话

    select  machine,program
    from v$session
    where username='PUBLIC' 
    and osuser='oracle'
    and machine <>'db-01.domen'

    MACHINE                                PROGRAM                                                
    ----------------------------- ------------------------------------                                        
db-02.domen    oracle@db-02.domen (TNS V1-V3)   

如何从primarynode获取standy节点的sys密码?谢谢:通常它们在主屏幕和备用屏幕上都是一样的。嗨,迪米蒂,非常感谢你的回复。它工作得和预期的一样好。只是一个小查询,v$session应该只返回主会话,对吗?还是我在这里遗漏了什么。?我们只需使用select machine,即v$session中的程序,其中username='PUBLIC'和osuser='oracle_instance_name'就可以得到所需的结果;你能告诉我机器“db-01.domen”的用途吗?非常感谢您在本例中,db-01主数据库、db-02备用数据库、备用数据库连接到主数据库并接收存档日志和日志交换机上的数据,如果条件db-01已删除,则我们将获得数据库主数据库的系统进程Exadata服务器是否有其他方法?服务器运行在infiniBand连接sqlplus/as sysdba SQL>select machine from v$session,其中username='PUBLIC';没有选择行SQL>