[转贴]ORACLE主要的系统表和系统视图

  不知不觉搞Oracle也差不多2个月了,期间遇到了很多和我一样从MSSQL转过来都遇到的问题,印象最深的要算在PL/SQL中写了一个update语句而没有commit,导致在程序中执行select时,被挂起的问题,糊涂了很长时间。

  Oracle中关于系统表和系统视图有时候会帮我们做很多事,掌握这些表和视图是很重要的。最简单的一个应用就是收集所有表结构和注释了。后面给出这个SQL语句。

1.系统表

orACLE数据库的系统参数都存储在数据库中,可以通过SQL*PLUS,以用户SYSYTEM进行查询。几个重要的表或者视图如下:
v$controlfile:控制文件的信息;
v$datafile:数据文件的信息;
v$log:日志文件的信息;
v$process:处理器的信息;
v$session:会话信息;
v$transaction:事务信息;
v$resource:资源信息;
v$sga:系统全局区的信息。

上面的视图名中的‘v$’,只是视图名字中的字符。类似于上面的视图或表还有很多,位于:
$ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。

这些视图或表可以在SQLPLUS中用Select语句进行查询。

2.数据字典视图

表和列
DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。
DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。

完整性约束
DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。
DBA_CONS_COLUMNS、ALL_CONS_COLUMNS和USER_CONS_COLUMNS显示有关列的相关约束的一般信息。

视图
DBA_VIEWS、ALL_VIEWS和USER_VIEWS。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括视图。

序列
DBA_SEQUENCES、ALL_SEQUENCES和USER_SEQUENCES。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括序列。

同义词
DBA_SYNONYMS、ALL_SYNONYMS和USER_SYNONYMS。
注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括同义词。

索引
DBA_INDEXS、ALL_INDEXS、USER_INDEXS、DBA_IND_COLUMNS、ALL_IND_COLUMNS和USER_IND_COLUMNS。

用户
DBA_USERS。

角色
DBA_ROLES。

表空间定额
DBA_TS_QUOTAS。

配置表
DBA_PROFILES。

表空间
DBA_TABLESPACES。

数据文件
DBA_DATA_FILES。


DBA_SEGMENTS、USER_SEGMENT。

回滚段
DBA_ROLLBACK_SEGS、V$ROLLNAME、V$ROLLSTAT。

PS:获取所有用户表结构及其备注信息:
程序代码 程序代码
select A.Table_Name 表名,C.comments 表备注,A.column_name 字段名,A.data_type 数据类型,A.data_length 长,
A.data_precision 整数位, A.Data_Scale 小数位,
A.nullable 允许空值,A.Data_default 缺省值,
B.comments 备注
from user_tab_columns A,user_col_comments B, user_tab_comments C
where a.COLUMN_NAME=b.column_name and A.Table_Name = B.Table_Name and A.Table_Name=C.Table_Name


评论: 0 | 引用: 0 | 查看次数: 42
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 验证码
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭