Oracle 常用数据字典表、视图的总结

Oracle 常用数据字典表、视图的总结
一数据字典的分类
1.静态数据字典表的 2.静态数据字典视图 3 动态数据字典表 4 动态数据字典视图
二 数据字典的使用
1.静态数据字典表的使用
静态数据字典表只能由ORACLE 进行维护。
通常用户通过对静态数据字典视图的查询可以获取所需要的所有数据库信息。
Oracle 静态数据字典分类
名称前缀含义
user_ 包含了当前数据库用户所拥有的所有的模式对象的信息
all_ 包含了当前数据库用户可以访问的所有的模式对象的信息
dba_ 包含了所有数据库对象信息,只有具有DBA角色的用户才嫩而过访问的这些视图
例如:
select * from dba_tables
select * from all_tables
select * from user_tables;

注: dba_ 开头的 必须是sys 用户所有 ,非 sys 用户 需要在前面加 sys 前缀
下面都是一些常用的视图家族,都有一个DBA_ ALL_ USER_ 的视图
col_privs 包含了表的列权限信息,包含授予者,被授予者和权限名称等信息,
extents 存储分配信息,包括数据段名 表空间名和分区编号,分区大小
indexes 索引信息 包含索引类型, 唯一性, 索引作用等表的信息
ind_columns 索引列信息 包括索引上的列的排序方式等信息
object 对象信息, 包括对象名称 类型 创建时间 等信息
segments 表和索引的数据段信息,包括表空间,存储设置等信息
sequences 序列信息 包含序列名称 ,循环性,最大值等信息
source 除触发器之外的所有存储过程,函数,包的源代码信息
synonyms 同义词信息 包括引用的对象等信息
sys_privs 系统权限信息 包括系统权限名称 授予者
tab_columns 表和视图的列信息 ,包括列的数据类型等信息
tab_privs 表权限信息
tables 表信息 包括表所属的表空间 ,存储参数 ,数据行数量等信息。
triggers 触发器信息 包括触发器的类型,事件。触发器体等信息
users 用户信息 。包括用户临时和默认的表空间的类型
views 视图信息

看一下权限视图
role_sys_privs 角色拥有的系统权限视图
role_tab_privs 角色拥有的对象权限
user_role _ privs 用户拥有的角色
user_sys_privs 用户拥有的权限的角色
user_tab_privs_mads 用户分配的关于表对象权限
user_tab_privs_recd 用户拥有的关于表对象权限
user_col_privs_mads 用户分配的关于列的对象权限
user_col_privs_recd 用户拥有的关于列的对象权限

  1. 动态性能表是数据库实例启动后 创建的表。动态性能表都数据SYS 用户; 用于存放数据库在运行的过程中的性能相关的信息。 通过以下的视图查看
    select name from v_$fixed_table;

4.动态性能视图的使用;
只有sys 用户和拥有DBA 角色的用户可以访问 。
在数据库启动到 NOMOUNT 的状态时 可以访问 v$ parameter v s g a v sga v sgavsession v p r o c e s s v process v processvinstance v v e r s i o n v version v versionvoption
当数据库启动到 mount 的状态时 我们还可以访问 v$ log v l o g f i e l v logfiel v logfielvdatafile v c o n t r o l f i l e v controlfile v controlfilev database v t h r e a d v thread v threadvdatafile_header
当数据库完全启动后。可以访问 v_ f i x e d t a b l e v fixed_table v fixedtablevaccess 包含当前被锁定的数据库对象及正在访问他们的会话
v a r c h i v e 包 含 归 档 所 需 的 重 做 日 志 文 件 中 的 信 息 v archive 包含归档所需的重做日志文件中的信息 v archivev archived_log 包含从控制文件中获取的归档日志信息。
v a r c h i v e p r o c e s s e s 包 含 于 一 个 实 例 相 关 的 a r c h 进 程 的 状 态 信 息 v archive_processes 包含于一个实例相关的arch 进程的状态信息 v archiveprocessesarchv backup 包含联机数据文件的备份状态信息
v b a c k u p a s y n c i o 包 括 从 控 制 文 件 中 获 取 的 备 份 集 的 信 息 v backup_async_io 包括从控制文件中获取的备份集的信息 v backupasynciov backup_corruption 包含从控制文件中获取的有关数据文件备份中损坏的信息。
v$ backup_datafile 包含从控制文件中获取的备份的数据文件和备份控制文件的信息
v$ backup_device 包含支持备份设备的信息
v b a c k u p p i e c e 包 含 从 控 制 文 件 中 获 取 的 备 份 块 的 信 息 v backup_piece 包含从控制文件中获取的备份块的信息 v backuppiecevbackup_redolog 包含从控制文件中获取的关于备份集的归档日志的信息
v b a c k u p s e t 包 含 从 控 制 文 件 中 获 取 的 备 份 集 的 信 息 v backup_set 包含从控制文件中获取的备份集的信息 v backupsetvbgprocess 包含数据库后台进程信息
v$ buffer_pool 包含当前实例中所有可用缓冲池的信息
v$ buffer_pool_statistics 包含当前实例所有可用缓冲池的统计信息
v$ cache 包含当前实例的SGA 中的每一块的头部信息
v c o n t e x t 包 含 当 前 对 话 的 属 性 信 息 。 v context 包含当前对话的属性信息。 v contextvcontrolfile 包含控制文件信息
v$ controlfile_record_section 包含控制文件记录部分的信息
v$ copy_curruption 包含从控制问价中获取的数据文件副本损坏的信息
v d a t a b a s e 包 含 从 控 制 文 件 中 获 取 的 数 据 库 信 息 v database 包含从控制文件中获取的数据库信息 v databasevdatafile 包含从控制文件中获取的数据文件信息
v d a t a f i l e c o p y 包 括 从 控 制 文 件 中 获 取 的 数 据 文 件 副 本 的 信 息 v datafile_copy 包括从控制文件中获取的数据文件副本的信息 v datafilecopyvdatafile_header 包含数据文件头部信息
v$ db_object_cache 包含缓存在库高速缓冲中的数据库对象信息
v d b p i p e s 包 含 当 前 数 据 库 中 的 管 道 信 息 v db_pipes 包含当前数据库中的管道信息 v dbpipesvdeleted_object 包含从控制文件中获取的被删除的归档日志,数据文件副本和备份块的信息
v$ dispatcher_rate 包含调度进程速率统计量的信息
v$ dispatche 包含调度进程的信息
v$ DLM_ALL_LOCKS 包含当前所有锁
v$ DLM_CONVERT_LOCAL 包含本地锁转换操作所消耗的时间的信息
v$ EVENT_NAME 包含等待时间的信息
v$ fixed_table 包含所有可用的动态性能视图和动态性能表的信息
v$ sysstat 包含当前实例的性能统计信息
v$ instance 包含当前实例的详细信息
v s g a 包 含 S G A 区 的 主 要 组 成 部 分 的 信 息 v sga 包含 SGA 区的主要组成部分的信息 v sgaSGAv sgainfo 包含SGA 区的详细消息
v$ parameter 包含初始化参数信息
v$ sversion 包含Oracle 版本信息
v$ option 包含已安装的 Oraclette组件的选项信息
v s e s s i o n 包 含 当 前 所 有 会 话 信 息 v session 包含当前所有会话信息 v sessionvprocess 包含当前系统所有进程信息
v$ bgprocess 包含数据库所有后台进程信息
v$ database 包含当前数据库信息
v$ controlfile 包含当前数据库所有控制文件信息
v$ datafile 包含当前数据库所有的数据文件的信息
v$ dbfile 包含所有数据文件的编号信息
v$ logfile 包含当前数据库所有的重做日志文件信息
v$ log 包含当前数据库重做日志文件信息
v$ log_history 包含重做日志文件切换情况的历史信息
v$ thread 包含当前数据库线程的信息
v$ lock 包含锁的信息
v$ locked_object 包含被加锁的数据库对象信息
v$ rollname 包含当前处于联机状态的回退信息
v$ rollstat 包含当前所有的回退段的统计信息
v$ tablespace 包含当前数据库所有表空间信息
v$ tempfile 包含当前数据库多有的临时数据文件的信息 ;

查看当前用户的缺省表空间
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;

查看用户下所有的表的列属性
SQL>select * from USER_TAB_COLUMNS where table_name=:table_Name;

显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
from dba_users where username=‘GAME’;

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’;

显示特权用户
select * from v$pwfile_users;

显示用户信息(所属表空间)
select default_tablespace,temporary_tablespace
from dba_users where username=‘GAME’;

显示用户的PROFILE
select profile from dba_users where username=‘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’);

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值