我想查询出Oracle数据库名称列表,相当于Sql Server 里在Master里查询sysdatabases表

解决方案 »

  1.   

    select * from v$database
      

  2.   

    LZ是要看当前用户可以操作那些表么?
    与当前用户相关的几个字典:user_tabs , user_tab_columns.
    select table_names from user_tabs;
      

  3.   

    oracle的用户有点类似sqlserver的数据库  
      

  4.   

    select name from v$database
      

  5.   


    Connected as SYS
    1.v$database视图里面包含了当前所有数据库
      select name from v$database;
      查看数据库结构字段:desc v$databases 
      SQL> select DBID,NAME,CREATED,RESETLOGS_TIME,DATABASE_ROLE,DB_UNIQUE_NAME
      2  from v$database;         DBID NAME      CREATED     RESETLOGS_TIME DATABASE_ROLE    DB_UNIQUE_NAME
       ---------- --------- ----------- -------------- ---------------- ------------------------------
       1272412399 ORCL      2011-3-1 10 2011-3-1 10:07 PRIMARY          orcl
    2.怎样查看哪些用户拥有SYSDBA、SYSOPER权限:
       SQL> select * from V_$PWFILE_USERS;   USERNAME                       SYSDBA SYSOPER
       ------------------------------ ------ -------
       SYS                            TRUE   TRUE
    3.all_tables视图查看所有表
      SQL> select table_name from all_tables
      2  where table_name like '%ABC%';  TABLE_NAME
      ------------------------------
      TABCOMPART$
      LOGMNR_TABCOMPART$
      LOGMNRG_TABCOMPART$
      LOGMNRT_TABCOMPART$