oracle 中显示用户表和数据库

来源:互联网 发布:爱奇艺扫号器一手数据 编辑:程序博客网 时间:2024/05/23 23:18

oracle 中如何查看用户表和数据库

首先需要了解oracle中的数据字典有哪些???

用户表:由用户创建,包含用户的内容
  
  数据字典:由系统建立,包含数据库的信息
  
  前缀:
  USER_ :由用户创建,显示用户拥有的所有对象。
  
  ALL_ :由受权的用户访问, 用户可以访问的对象名。
  
  DBA_ :由受了DBA权限的人访问,显示数据库的所有对象。
  
  V$ :由受了DBA权限的人访问,显示数据字典数据库
务器性能信息。通常是DBA用于显示系统的统计表和动态性能表。
  
  数据字典
  
  DICTIONARY数据字典提供用户可以访问的数据字典表和视图的描述。
  USER_OBJECTS显示用户拥有的对象。
  USER_VIEWS显示用户拥有的视图。
  USER_TABLES显示用户拥有的表。
  ALL_TABLES显示用户可以访问的表。
  ALL_VIEWS显示用户可以访问的视图。
  USER_CATALOG显示用户拥有的所有表,视图,同义词和序列。
  USER_CONS_COLUMNS显示带约束的列。
  DBA_CONS_COLUMNS显示数据库里的所有表,视图和同义词。
  USER_TAB_PRIVS_MADE:本用户赋给别的用户赋予权限的表
  USER_TAB_PRIVS_RECD:其他用户给本用户赋予权限的表
  USER_COL_PRIVS_MADE:本用户赋给别的用户赋予权限的字段
  USER_COL_PRIVS_RECD:其他用户给本用户赋予权限的字段
  ROLE_SYS_PRIVS:有什么系统权限赋给role
  ROLE_TAB_PRIVS:有什么关于表的权限赋给role
  USER_ROLE_PRIVS:role和用户的对应表

知道了上述概念我们就可以很容易的查询某个用户下的表了,我们以SCOTT用户为例:

c:>sqlplus "scott/tiger"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 12月 4 15:24:31 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> desc user_tables
名称 是否为空? 类型
----------------------------------------- -------- ---------------
TABLE_NAME NOT NULL VARCHAR2(30)
TABLESPACE_NAME VARCHAR2(30)
CLUSTER_NAME VARCHAR2(30)
IOT_NAME VARCHAR2(30)
STATUS VARCHAR2(8)
PCT_FREE NUMBER
PCT_USED NUMBER
INI_TRANS NUMBER
MAX_TRANS NUMBER
INITIAL_EXTENT NUMBER
NEXT_EXTENT NUMBER
MIN_EXTENTS NUMBER
MAX_EXTENTS NUMBER
PCT_INCREASE NUMBER
FREELISTS NUMBER
FREELIST_GROUPS NUMBER
LOGGING VARCHAR2(3)
BACKED_UP VARCHAR2(1)
NUM_ROWS NUMBER
BLOCKS NUMBER
EMPTY_BLOCKS NUMBER
AVG_SPACE NUMBER
CHAIN_CNT NUMBER
AVG_ROW_LEN NUMBER
AVG_SPACE_FREELIST_BLOCKS NUMBER
NUM_FREELIST_BLOCKS NUMBER
DEGREE VARCHAR2(10)
INSTANCES VARCHAR2(10)
CACHE VARCHAR2(5)
TABLE_LOCK VARCHAR2(8)
SAMPLE_SIZE NUMBER
LAST_ANALYZED DATE
PARTITIONED VARCHAR2(3)
IOT_TYPE VARCHAR2(12)
TEMPORARY VARCHAR2(1)
SECONDARY VARCHAR2(1)
NESTED VARCHAR2(3)
BUFFER_POOL VARCHAR2(7)
ROW_MOVEMENT VARCHAR2(8)
GLOBAL_STATS VARCHAR2(3)
USER_STATS VARCHAR2(3)
DURATION VARCHAR2(15)
SKIP_CORRUPT VARCHAR2(8)
MONITORING VARCHAR2(3)
CLUSTER_OWNER VARCHAR2(30)
DEPENDENCIES VARCHAR2(8)
COMPRESSION VARCHAR2(8)
DROPPED VARCHAR2(3)

SQL>select table_name from user_tables;

TABLE_NAME
------------------------------
DEPT
EMP
BONUS
SALGRADE

下面我们仍以SCOTT用户为例,看看如何查询数据库名:

c:>sqlplus "scott/tiger"

SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 12月 4 15:24:31 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL>desc v$database

名称 是否为空? 类型
----------------------------------------- -------- --------------------
DBID NUMBER
NAME VARCHAR2(9)
CREATED DATE
RESETLOGS_CHANGE# NUMBER
RESETLOGS_TIME DATE
PRIOR_RESETLOGS_CHANGE# NUMBER
PRIOR_RESETLOGS_TIME DATE
LOG_MODE VARCHAR2(12)
CHECKPOINT_CHANGE# NUMBER
ARCHIVE_CHANGE# NUMBER
CONTROLFILE_TYPE VARCHAR2(7)
CONTROLFILE_CREATED DATE
CONTROLFILE_SEQUENCE# NUMBER
CONTROLFILE_CHANGE# NUMBER
CONTROLFILE_TIME DATE
OPEN_RESETLOGS VARCHAR2(11)
VERSION_TIME DATE
OPEN_MODE VARCHAR2(10)
PROTECTION_MODE VARCHAR2(20)
PROTECTION_LEVEL VARCHAR2(20)
REMOTE_ARCHIVE VARCHAR2(8)
ACTIVATION# NUMBER
SWITCHOVER# NUMBER
DATABASE_ROLE VARCHAR2(16)
ARCHIVELOG_CHANGE# NUMBER
ARCHIVELOG_COMPRESSION VARCHAR2(8)
SWITCHOVER_STATUS VARCHAR2(20)
DATAGUARD_BROKER VARCHAR2(8)
GUARD_STATUS VARCHAR2(7)
SUPPLEMENTAL_LOG_DATA_MIN VARCHAR2(8)
SUPPLEMENTAL_LOG_DATA_PK VARCHAR2(3)
SUPPLEMENTAL_LOG_DATA_UI VARCHAR2(3)
FORCE_LOGGING VARCHAR2(3)
PLATFORM_ID NUMBER
PLATFORM_NAME VARCHAR2(101)
RECOVERY_TARGET_INCARNATION# NUMBER
LAST_OPEN_INCARNATION# NUMBER
CURRENT_SCN NUMBER
FLASHBACK_ON VARCHAR2(18)
SUPPLEMENTAL_LOG_DATA_FK VARCHAR2(3)
SUPPLEMENTAL_LOG_DATA_ALL VARCHAR2(3)
DB_UNIQUE_NAME VARCHAR2(30)
STANDBY_BECAME_PRIMARY_SCN NUMBER
FS_FAILOVER_STATUS VARCHAR2(21)
FS_FAILOVER_CURRENT_TARGET VARCHAR2(30)
FS_FAILOVER_THRESHOLD NUMBER
FS_FAILOVER_OBSERVER_PRESENT VARCHAR2(7)
FS_FAILOVER_OBSERVER_HOST VARCHAR2(512)

SQL> select name from v$database;

NAME
---------
ORCL

ORCL 就是全局数据库名。