1.
select * from DICTIONARY(DICT)
用户能够查看哪些数据字典视图
3类:
ALL_视图, DBA_视图,USER_视图
2.
select * from DICT_COLUMNS where table_name='DBA_2PC_NEIGHBORS'
能够查看DICTIONARY某一视图所拥有的列的信息
备注:DBA_2PC_NEIGHBORS的结构
select * from DBA_2PC_NEIGHBORS
3.目录
select * from USER_CATALOG(CAT)
可显示用户拥有的表,视图,同义词和序列。
列出了用户可以从中选择记录的所有对象,即可在查询的from子句中列出的任何对象。
4.对象
select * from USER_OBJECTS(OBJ)
可检索所有类型的信息,包含表,视图,同义词,序列,触发器,java类,程序包,库,索引函数等。
5.表
SELECT * FROM USER_TABLES(TABS)
显示USER_OBJECTS视图中对象的更多信息
6.列
select * from USER_TAB_COLUMNS(COLS) WHERE table_name='BD_PSNDOC'
显示对象的列的信息
7.视图
select * from USER_VIEWS
8.同义词
select * from USER_SYNONYMS(SYN)
9.序列
select * from USER_SEQUENCES(SEQ)
10.回收站
select * from USER_RECYCLEBIN(RECYCLEBIN)
可以使用flashback table 命令恢复已经删除的表和相关对象。为了查询回收站中当前的对象,可以查询USER_RECYCLEBIN视图。无论对象是否可以恢复(Can_Undrop列),或者对象是否由于其相关的基对象被删除而删除(Base_Object列值),都可以查看源对象名。
通过DBA_RECYCLEBIN视图,DBA可以查看所有用户的回收站的所有对象。
11.约束
select * from USER_CONSTRAINTS
Constraint_Type列的有效值如下:
C CHECK约束,包含一些NOT NULL
P 主键约束
R 外键(引用)约束
U 唯一约束
V WITH CHECK OPTION约束(用于视图)
O WITH READ ONLY约束(用于视图)
通过这个视图,可以访问约束信息。此信息在试图更改数据约束或解决应用程序的数据问题时非常有用。
如果在创建约束时未给约束赋予名称,则Oracle将生成一个唯一的约束名。如果约束名由系统生成,则通过Generated列指出该事实。
如果延迟一个约束(由Deferred列指出),则该约束不能在事务处理期间实施。列如,如果在相关表中执行大量的更新操作,并且不能保证事务处理的顺序正确。就可以决定延迟在表上检查的约束,直到所有的更新操作完成为止。
ALL_CONSTRAINTS 视图列出了用户或PUBLIC能访问的所有表的约束。
DBA_CONSTRAINTS视图列出了数据库中的所有约束。
12. 约束列
select * from USER_CONS_COLUMNS
Position列很重要,组合列索引的顺序,与where的查询效率有关。
13 约束异常
EXCEPTIONS
对于已经有数据的表来说,启用约束时可能会遇到数据内的约束冲突问题。
列如,你可能想在某一列上创建主键约束,但在这样的列上创建主键约束会失败
(因为违反了约束的唯一性)
创建EXCEPTIONS表
在Oracle主目录下的rbdms/admin目录中存在一个脚本文件,utlexcpt.sql 用于创建EXCEPTIONS表。
alter table NEWSPAPER enable PRIMARY KEY
exceptions into EXCEPTIONS;
ORA-02437:cannot enable (NEWSPAPER .SYS_C00516) - primary key violated
此约束创建失败,并且违反约束的人所有行的引用都被放置在EXCEPTIONS表中。
select owner ,table_name , constraint from EXCEPTIONS;
owner table_name constraint
-------------------------------------------------------------------
PRACTICE NEWSPAPER SYS_C00516
PRACTICE NEWSPAPER SYS_C00516
有2行违反了SYS_C00516约束。
通过以下sql能查到NEWSPAPER 表中的哪些行对应于这些异常
select * from NEWSPAPER where RowID in (select Row_ID from EXCEPTIONS);
14.表注释
USER _TAB_COMMENTS
select * from USER_TAB_COMMENTS
为表添加注释,使用comment命令。
comment on table BIRTHDAY is 'BIRTHDAY list for Blacksburg employees';
删除注释
comment on table BIRTHDAY is '';
15. 列注释
select * from USER_COL_COMMENTS
为列添加注释,使用comment命令。
comment on table BIRTHDAY.AGE is 'Age in years';
删除注释
comment on table BIRTHDAY.AGE is '';
16.索引USER_INDEXES (IND)
select * from USER_INDEXES where table_name='BD_PSNDOC'
17 索引列
select * from USER_IND_COLUMNS where table_name='BD_PSNDOC'
18 集群
select * from USER_CLUSTERS(CLU)
19 集群列
select * from USER_CLU_COLUMNS
20.抽象数据类型
select * from USER_TYPES
数据类型属性
select * from USER_TYPE_ATTRS
数据类型方法
select * from USER_TYPE_METHODS
select * from USER_METHOD_PARAMS
其他数据类型
USER_REFS,USER_COLL_TYPES,USER_NESTED_TABLES
大对象
select * from USER_LOBS
21 数据库连接
select * from USER_DB_LINKS
select * from ALL_DB_LINKS
22. 物化视图
select * from USER_MVIEWS
物化视图日志
select * from USER_MVIEW_LOGS
23 触发器
select * from USER_TRIGGERS
该用户所拥有的触发器
select * from ALL_TRIGGERS
24 过程、函数、程序包
select * from USER_SOURCE
select * from ALL_SOURCE
25 错误代码
select * from USER_ERRORS
SQL*Plus中的show errors 命令检查USER_ERRORS数据字典视图,已显示与过程对象最近的编译有关的错误。
26 代码大小
select * from USER_OBJECT_SIZE
用于查询对象在SYSTEM表空间中所使用的空间量。
27.维度
select * from USER_DIMENSIONS
28.表空间
select * from USER_TABLESPACES
空间限额
select * from USER_TS_QUOTAS
段
select * from USER_SEGMENTS
区
select * from USER_EXTENTS
分区
select * from USER_PART_TABLES
可用空间
select * from USER_FREE_SPACE
29.用户
select * from USER_USERS
资源限制
select * from USER_RESOURCE_LIMITS
表的权限
select * from USER_TAB_PRIVS
列权限
select * from USER_COL_PRIVS
系统权限
select * from USER_SYS_PRIVS
30.角色
select * from USER_ROLE_PRIVS