oracle 数据库字典表
2015-11-08 16:31
716 查看
数据字典内容包括:
1,数据库中所有模式对象的信息,如表、视图、簇、索引、集群、同义词、序列、过程、方法、包、触发器
2,分配多少空间,当前使用了多少空间等。 3,列的缺省值。
4,约束信息的完整性。 5,Oracle用户的名字。
6,用户及角色被授予的权限。
7,用户访问或使用的审计信息。
8,其它产生的数据库信息。
字典表
DBA:所有方案中的视图(可以看到所有数据字典里的信息)
ALL:用户可以访问的视图(可以看到所有这个用户可以看到的信息)
USER:用户方案中的视图(仅仅是这个用户拥有的信息)
三者直接的关系:
![](https://img-blog.csdn.net/20151108163709906?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Oracle为了便于汇总数据字典表的信息,把所有的数据字典都汇集到dictionary表里了,通过对这个表的查询,我们可以很方便的找到数据库提供的数据字典。(数据库中一共有835张表)
![](https://img-blog.csdn.net/20151108163641622?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
静态数据字典中的视图分为三类,它们分别由三个前缀够成: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;
![](https://img-blog.csdn.net/20151108163751536?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
user_free_space:查看用户表空间的剩余空间
案例:select tablespace_name,sum(bytes)/(1024*1024),sum(blocks)/(1024*1024) from user_free_space group by tablespace_name;
![](https://img-blog.csdn.net/20151108163844855?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
user_users:主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、缺省表空间、创建时间等。
select * from user_users;
![](https://img-blog.csdn.net/20151108163903840?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
user_role_privs:查看当前用户的角色。
SQL>SELECT * FROM user_role_privs;
SQL>SELECT * FROM user_role_privs;
![](https://img-blog.csdn.net/20151108163914593?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
比如下面是SYS的角色
SQL> select * from user_role_privs;部分截图
![](https://img-blog.csdn.net/20151108164004422?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
user_sys_privs:查看当前用户的系统权限和表级权限
SQL>SELECT * FROM user_sys_privs;
![](https://img-blog.csdn.net/20151108164025752?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
user_sys_privs:下面是SYS用户的系统权限和表级权限
![](https://img-blog.csdn.net/20151108164046932?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
table
user_tables:主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些。
SQL> select table_name,tablespace_name from user_tables;
![](https://img-blog.csdn.net/20151108164108929?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
user_objects:查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、序列、JAVA文件等
select * from user_objects;
![](https://img-blog.csdn.net/20151108164142688?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
select object_name,created from user_objects ;
![](https://img-blog.csdn.net/20151108164200885?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
all_objects:查询某一用户下的所有表、过程、函数等信息。
select owner,object_name,object_type from all_objects where owner='SCOTT';
![](https://img-blog.csdn.net/20151108164208924?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
user_segments:查看某表的大小
SQL> select sum(bytes)/(1024*1024) "表大小(M兆)"
2 from user_segments where segment_name=UPPER('&table_name');
![](https://img-blog.csdn.net/20151108164215535?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
索引
user_indexes 查看该用户拥有哪些索引
SQL> select index_name,table_owner,table_name,tablespace_name from user_indexes;
![](https://img-blog.csdn.net/20151108164222334?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
查看索引个数和类别
SQL>SELECT index_name,index_type,table_name
FROM user_indexes ORDER BY table_name;
![](https://img-blog.csdn.net/20151108164228634?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
查看索引被索引的字段
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');
![](https://img-blog.csdn.net/20151108164245844?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
查看索引的大小
SQL>SELECT SUM(bytes)/(1024*1024)AS
size(M)
FROM user_segments WHERE segment_name=UPPER('&index_name');
![](https://img-blog.csdn.net/20151108164254535?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
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';
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_name,index_type,table_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 SUM(bytes)/(1024*1024)AS
size(M)
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';
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- 数据库链接字符串查询网站
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- DB2实例管理
- DB2实例管理
- OS block size和Oracle block size,查找OS Blocksize的方法
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- 创建一个空的IBM DB2 ECO数据库的方法