文章目录
大家好,我是只谈技术不剪发的 Tony 老师。前文介绍了如何查看 Oracle 中的用户、权限、用户资源配置等信息,今天我们来继续讨论如何通过 Oracle 数据字典查看数据库中的表、字段、约束、索引等信息。
数据表
列出数据库中的表
系统视图 dba_tables 中包含了数据库中所有的关系表信息,需要 DBA 权限才能查看:
select owner,table_name,tablespace_name,status,num_rows,avg_row_len
from dba_tables
where owner in ( -- 非系统模式用户
select username
from dba_users
where oracle_maintained = 'N');
其中,
- OWNER 是表的拥有者;
- TABLE_NAME 是表名;
- TABLESPACE_NAME 是表所在的表空间;
- STATUS 是表的状态,VALID 或者 UNUSABLE;
- NUM_ROWS 是表中的数据行数,通过表的统计分析获得,可能不准确;
- AVG_ROW_LEN 是数据行的平均长度,单位为字节。