我要获取本机上面所有的数据库名,本机上有2个数据库
别告诉我用select * from v$database或者global_name或者V$INSTANCE,那只是显示当前的数据库名,
也不要告诉我去读tnsnames.ora文件,那太麻烦了,
求高手指导。

解决方案 »

  1.   

    只能读tnsnames.ora文件。因为如果要用SQL查询的话,一般都会需要登陆。而登陆则需要登陆到具体的实例才可以写SQL查询。
      

  2.   

    不知道这个里面有没有你想要的东西?select   
                          SYS_CONTEXT('USERENV','TERMINAL')   terminal,   
                          SYS_CONTEXT('USERENV','LANGUAGE')   language,   
                          SYS_CONTEXT('USERENV','SESSIONID')   sessionid,   
                          SYS_CONTEXT('USERENV','INSTANCE')   instance,   
                          SYS_CONTEXT('USERENV','ENTRYID')   entryid,   
                          SYS_CONTEXT('USERENV','ISDBA')   isdba,   
                          SYS_CONTEXT('USERENV','NLS_TERRITORY')   nls_territory,   
                          SYS_CONTEXT('USERENV','NLS_CURRENCY')   nls_currency,   
                          SYS_CONTEXT('USERENV','NLS_CALENDAR')   nls_calendar,   
                          SYS_CONTEXT('USERENV','NLS_DATE_FORMAT')   nls_date_format,   
                          SYS_CONTEXT('USERENV','NLS_DATE_LANGUAGE')   nls_date_language,   
                          SYS_CONTEXT('USERENV','NLS_SORT')   nls_sort,   
                          SYS_CONTEXT('USERENV','CURRENT_USER')   current_user,   
                          SYS_CONTEXT('USERENV','CURRENT_USERID')   current_userid,   
                          SYS_CONTEXT('USERENV','SESSION_USER')   session_user,   
                          SYS_CONTEXT('USERENV','SESSION_USERID')   session_userid,   
                          SYS_CONTEXT('USERENV','PROXY_USER')   proxy_user,   
                          SYS_CONTEXT('USERENV','PROXY_USERID')   proxy_userid,   
                          SYS_CONTEXT('USERENV','DB_DOMAIN')   db_domain,   
                          SYS_CONTEXT('USERENV','DB_NAME')   db_name,   
                          SYS_CONTEXT('USERENV','HOST')   host,   
                          SYS_CONTEXT('USERENV','OS_USER')   os_user,   
                          SYS_CONTEXT('USERENV','EXTERNAL_NAME')   external_name,   
                          SYS_CONTEXT('USERENV','IP_ADDRESS')   ip_address,   
                          SYS_CONTEXT('USERENV','NETWORK_PROTOCOL')   network_protocol,   
                          SYS_CONTEXT('USERENV','BG_JOB_ID')   bg_job_id,   
                          SYS_CONTEXT('USERENV','FG_JOB_ID')   fg_job_id,   
                          SYS_CONTEXT('USERENV','AUTHENTICATION_TYPE')   
      authentication_type,   
                          SYS_CONTEXT('USERENV','AUTHENTICATION_DATA')   
      authentication_data   
            from   dual
      

  3.   

    这样行吗? ENV|grep ORACLE_SID
      

  4.   

    从Administration Assistant工具看