Oracle查看用户下所有表空间

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle查看用户下所有表空间相关的知识,希望对你有一定的参考价值。

参考技术A 查看用户下的表空间的语句:

select a.tablespace_name,

      a.bytes / 1024 / 1024 "sum MB",

      (a.bytes - b.bytes) / 1024 / 1024 "used MB",

      b.bytes / 1024 / 1024 "free MB",

      round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "used%"

  from (select tablespace_name, sum(bytes) bytes

          from dba_data_files

        group by tablespace_name) a,

      (select tablespace_name, sum(bytes) bytes, max(bytes) largest

          from dba_free_space

        group by tablespace_name) b

where a.tablespace_name = b.tablespace_name

order by ((a.bytes - b.bytes) / a.bytes) desc;

查看Oracle当前用户下的(表视图,同义词...)

查看Oracle当前用户下的信息(用户,表视图,索引,表空间,同义词,存储过程函数,约束条件)

    0、表空间

  SQL>select username,default_tablespace from user_users;

  查看当前用户的角色

  SQL>select * from user_role_privs;

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

  SQL>select * from user_sys_privs;

  SQL>select * from user_tab_privs;

  查看用户下所有的表

  SQL>select * from user_tables;

  1、用户

  查看当前用户的缺省表空间

  SQL>select username,default_tablespace from user_users;

  查看当前用户的角色

  SQL>select * from user_role_privs;

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

  SQL>select * from user_sys_privs;

  SQL>select * from user_tab_privs;

  显示当前会话所具有的权限

  SQL>select * from session_privs;

  显示指定用户所具有的系统权限

  SQL>select * from dba_sys_privs where grantee=‘GAME‘;

  2、表

  查看用户下所有的表

  SQL>select * from user_tables;

  查看名称包含log字符的表

  SQL>select object_name,object_id from user_objects

  where instr(object_name,‘LOG‘)>0;

  查看某表的创建时间

  SQL>select object_name,created from user_objects where object_name=upper(‘&table_name‘);

  查看某表的大小

  SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments

  where segment_name=upper(‘&table_name‘);

  查看放在ORACLE的内存区里的表

  SQL>select table_name,cache from user_tables where instr(cache,‘Y‘)>0;

  3、索引

  查看索引个数和类别

  SQL>select index_name,index_type,table_name from user_indexes order by table_name;

  查看索引被索引的字段

  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‘);

  4、序列号

  查看序列号,last_number是当前值

  SQL>select * from user_sequences;

  5、视图

  查看视图的名称

  SQL>select view_name from user_views;

  查看创建视图的select语句

  SQL>set view_name,text_length from user_views;

  SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小

  SQL>select text from user_views where view_name=upper(‘&view_name‘);

  6、同义词

  查看同义词的名称

  SQL>select * from user_synonyms;

  7、约束条件

  查看某表的约束条件

  SQL>select constraint_name, constraint_type,search_condition, r_constraint_name

  from user_constraints where table_name = upper(‘&table_name‘);

  SQL>select c.constraint_name,c.constraint_type,cc.column_name

  from user_constraints c,user_cons_columns cc

  where c.owner = upper(‘&table_owner‘) and c.table_name = upper(‘&table_name‘)

  and c.owner = cc.owner and c.constraint_name = cc.constraint_name

  order by cc.position;

  8、存储函数和过程

  查看函数和过程的状态

  SQL>select object_name,status from user_objects where object_type=‘FUNCTION‘;

  SQL>select object_name,status from user_objects where object_type=‘PROCEDURE‘;

  查看函数和过程的源代码

  SQL>select text from all_source where owner=user and name=upper(‘&plsql_name‘);

       9、查看建表语句:SELECT DBMS_METADATA.GET_DDL(‘TABLE‘,‘TABLE_NAME‘)FROM DUAL; (表名TABLE_NAME一定要来大写)











































































































































以上是关于Oracle查看用户下所有表空间的主要内容,如果未能解决你的问题,请参考以下文章

如何查看oracle中某个用户占用表空间大小情况

在Oracle数据库中如何查询某一个表空间下的某张表里面的数据;怎么查询某个表空间下的所有表的信息

oracle中新建的用户怎么查询它所有的表空间

oracle怎么删除表空间下所有的表

oracle关于同一表空间下的不同用户查询问题

怎么查看oracle表空间类型和大小?