oracle 数据库字典表

数据字典内容包括:

    1, 数据库中所有模式对象的信息,如表、视图、簇、索引、集群、同义词、序列、过程、方法、包、触发器     2, 分配多少空间,当前使用了多少空间等。     3, 列的缺省值。     4, 约束信息的完整性。     5,Oracle 用户的名字。     6, 用户及角色被授予的权限。
    7, 用户访问或使用的审计信息。
    8, 其它产生的数据库信息。


字典表

DBA:所有方案中的视图(可以看到所有数据字典里的信息)

ALL:用户可以访问的视图(可以看到所有这个用户可以看到的信息)

USER:用户方案中的视图(仅仅是这个用户拥有的信息)

三者直接的关系:


 Oracle为了便于汇总数据字典表的信息,把所有的数据字典都汇集到dictionary表里了,通过对这个表的查询,我们可以很方便的找到数据库提供的数据字典。(数据库中一共有835张表)


静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_xxx all_xxx dba_xxx

USER_XXX该视图存储了当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)

ALL_XXX该试图存储了当前用户能够访问的对象的信息而不是当前用户拥有的对象。(与user_xxx相比,all_xxx 并不需要拥有该对象,只需要具有访问该对象的权限即可)

DBA_XXX该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)


user_tablespaces表空间使用状态

SQL> select tablespace_name,status from user_tablespaces;


user_free_space:查看用户表空间的剩余空间

案例:select tablespace_name,sum(bytes)/(1024*1024),sum(blocks)/(1024*1024) from user_free_space group by tablespace_name;



 user_users主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、缺省表空间、创建时间等。

     select * from user_users;
    



user_role_privs:查看当前用户的角色。

SQL>SELECT * FROM user_role_privs

SQL>SELECT * FROM user_role_privs


比如下面是SYS的角色

SQL> select * from user_role_privs;部分截图




user_sys_privs:查看当前用户的系统权限和表级权限

SQL>SELECT * FROM user_sys_privs


user_sys_privs:下面是SYS用户的系统权限和表级权限




table

user_tables主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些。

SQL> select table_name,tablespace_name from user_tables;



user_objects查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、序列、JAVA文件等

select * from user_objects;

select object_name,created from user_objects ;


all_objects:查询某一用户下的所有表、过程、函数等信息。

select owner,object_name,object_type from all_objects where owner='SCOTT';



user_segments查看某表的大小

SQL> select sum(bytes)/(1024*1024) "表大小(M)"

  2  from user_segments where segment_name=UPPER('&table_name');



索引


user_indexes 查看该用户拥有哪些索引

SQL> select index_name,table_owner,table_name,tablespace_name from user_indexes;

查看索引个数和类别

SQL>SELECT index_nameindex_typetable_name FROM user_indexes ORDER BY table_name

查看索引被索引的字段

SQL> col INDEX_NAME for a15

SQL> col TABLE_NAME for a10

SQL> col COLUMN_NAME for a30

SQL> col COLUMN_NAME for a15

SQL>SELECT * FROM user_ind_columns WHERE index_name=UPPER'&index_name');

查看索引的大小

SQL>SELECT SUMbytes/1024*1024AS sizeM

FROM user_segments WHERE segment_name=UPPER'&index_name');



user_views查询该用户拥有哪些视图以及视图名





查看数据库的版本信息 
     

版本信息:

SQL> select * from v$version;


查看数据库的数据大小 和 总的大小 

select sum(bytes/1024/1024/1024) from user_segment where owner = 'ETL' and segment_type = 'TABLE';
select sum(bytes/1024/1024/1024) from user_segment where owner = 'ETL';



  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值