Oracle常用数据字典

Oracle数据字典的名称由前缀和后缀组成,使用_连接,含义说明如下:

  • dba_:包含数据库实例的所有对象信息
  • v$_:当前实例的动态视图,包含系统管理和系统优化等所使用的视图
  • user_:记录用户的对象信息
  • gv_:分布式环境下所有实例的动态视图,包括系统管理和系统优化使用的视图
  • all_:记录用户的对象信息机被授权访问的对象信息

一、基本数据字典

数据字典名称 说明
dba_tablespaces 关于表空间的信息
dba_ts_quotas 所有用户表空间限额
dba_free_space 所有表空间中的自由分区
dba_segments 描述数据库中所有段的存储空间
dba_extents 数据库中所有分区的信息
dba_tables 数据库中所有数据表的描述
dba_tab_columns 所有表、视图以及簇的列
dba_views 数据库中所有视图的信息
dba_synonyms 关于同义词的信息
dba_sequences 所有用户序列信息
dba_constraints 所有用户表的约束信息
dba_indexs 数据表中所有索引的描述
dba_ind_columns 所有表及簇上压缩索引的列
dba_triggers 所有用户的触发器信息
dba_source 所有用户存储过程信息
dba_data_files 查询关于数据库文件的信息
dba_tab_grants/privs 查询关于对象授权的信息
dba_objects 数据库所有对象
dba_users 关于数据库中所有用户的信息

二、动态性能视图

结构在内存中初始化,信息来源于内存和控制文件,数据库在mount状态可以访问的

数据字典名称 说明
v$database 描述关于数据库的相关信息
v$datafile 数据库使用的数据文件信息
v$log 从控制文件中提取有关重做日志组的信息
v$logfile 有关实例重置日志组文件名及其位置的信息
v$archived_log 记录归档日志文件的基本信息
v$archived_dest 记录归档日志文件的路径信息
v$controlfile 描述控制文件的相关信息
v$instance 记录实例的基本信息
v$system_parameter 显示实例当前有效的参数信息
v$sga 显示实例的SGA区大小
v$sgastat 统计SGA使用情况的信息
v$parameter 记录初始化参数文件中所有项的值
v$lock 通过访问数据库会话,设置对象锁的所有信息
v$session 有个会话的信息
v$sql 记录SQL语句的详细信息
v$sqltext 记录SQL语句的语句信息
v$bgprocess 显示后台进程信息
v$process 当前进程的信息

三、常用SQL

1.用户

select username,default_tablespace from user_users;       //查看当前用户的缺省表空间
select * from user_role_privs;                     //查看当前用户的角色
select * from user_sys_privs;                //查看当前用户的系统权限
select * from user_tab_privs;                //查看当前用户的表级权限
select * from session_privs;                 //当前会话所具有的权限
select * from dba_sys_privs;                 //显示所有用户所具有的系统权限

2.表

select * from user_tables;        //查看用户下所有的表
select object_name,created from user_objects where object_name=upper('&table_name');   //查看某表的创建时间
select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name');       //查看某表的大小

3.索引

select index_name,index_type,table_name from user_indexes order by table_name;   //查看索引个数和类别
select * from user_ind_columns where index_name=upper('&index_name');          //查看索引被索引的字段
select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name'); //查看索引的大小

4.序列号

select * from user_sequences;   //查看序列号,last_number是当前值

5.存储函数和过程

select object_name,status from user_objects where object_type='FUNCTION';   //查看函数和过程的状态
select object_name,status from user_objects where object_type='PROCEDURE';   //查看函数和过程的状态
select text from all_source where owner=user and name=upper('&plsql_name');   //查看函数和过程的源代码
posted @ 2018-12-06 11:38  reaperhero  阅读(190)  评论(0编辑  收藏  举报