起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > 编程语言 > 如何学Oracle常用数据字典表和Oracle视图

如何学Oracle常用数据字典表和Oracle视图

时间:2018-01-19 11:51:30来源:编程网 作者:IT培训网 已有: 名学员访问该课程

前言:静态数据字典视图的使用 *通常用户通过对静态数据字典视图的查询可以获取所需要的所有数据库信息。

收藏!Oracle常用数据字典表、视图的总结,都在这里了,小编对数据库Oracle常用数据字典表、视图进行了总结,非常全面,想要提升技能,学习Oracle的快来看看吧。

如何学Oracle常用数据字典表和Oracle视图_www.epx365.cn

一数据字典的分类

  1. 静态数据字典表

  2. 静态数据字典视图 

  3. 动态数据字典表

  4. 动态数据字典视图

二 数据字典的使用

1. 静态数据字典表的使用

静态数据字典表只能由 ORACLE 进行维护。

2. 静态数据字典视图的使用 *

通常用户通过对静态数据字典视图的查询可以获取所需要的所有数据库信息。

Oracle 静态数据字典分类

名称前缀                         含义

user_            包含了当前数据库用户所拥有的所有的模式对象的信息

all_                包含了当前数据库用户可以访问的所有的模式对象的信息

dba_             包含了所有数据库对象信息,只有具有 DBA 角色的用户才能而过访

问的这些视图 

如何学Oracle常用数据字典表和Oracle视图_www.epx365.cn

注: 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  用户拥有的关于列的对象权限

3.  动态性能表是数据库实例启动后 创建的表。

动态性能表都数据 SYS 用户; 用于存放数据库在运行的过程中的性能相关的信息。

通过以下的视图查看

s el e ct nam e fro m  v_$fixe d_tab le;

4. 动态性能视图的使用;

只有 sys 用户和拥有 DBA 角色的用户可以访问 。

在数据库启动到 NOMOUNT 的状态时 可以访问 v$ parameter v$sga  v$session v$process v$instance v$version v$option 

当数据库启动到 mount 的状态时 我们还可以访问 v$ log v$logfiel v$datafile v$controlfile  v$ database v$thread  v$datafile_header

当数据库完全启动后。可以访问 v_$fixed_table

动态性能视图的使用

v$access   包含当前被锁定的数据库对象及正在访问他们的会话 v$archive  包含归档所需的重做日志文件中的信息 v$ archived_log   包含从控制文件中获取的归档日志信息。 v$archive_processes  包含于一个实例相关的 arch 进程的状态信息  v$ backup   包含联机数据文件的备份状态信息  v$backup_async_io   包括从控制文件中获取的备份集的信息  v$ backup_corruption   包含从控制文件中获取的有关数据文件备份中损坏的信息。 v$ backup_datafile   包含从控制文件中获取的备份的数据文件和备份控制文件的信息 v$ backup_device   包含支持备份设备的信息 v$backup_piece     包含从控制文件中获取的备份块的信息 v$backup_redolog    包含从控制文件中获取的关于备份集的归档日志的信息 v$backup_set    包含从控制文件中获取的备份集的信息 v$bgprocess 包含数据库后台进程信息 v$ buffer_pool   包含当前实例中所有可用缓冲池的信息 v$ buffer_pool_statistics  包含当前实例所有可用缓冲池的统计信息 v$ cache   包含当前实例的 SGA 中的每一块的头部信息 v$context   包含当前对话的属性信息。 v$controlfile   包含控制文件信息 v$ controlfile_record_section   包含控制文件记录部分的信息 v$ copy_curruption 包含从控制问价中获取的数据文件副本损坏的信息  v$database  包含从控制文件中获取的数据库信息  v$datafile   包含从控制文件中获取的数据文件信息 v$datafile_copy  包括从控制文件中获取的数据文件副本的信息 v$datafile_header  包含数据文件头部信息 v$ db_object_cache  包含缓存在库高速缓冲中的数据库对象信息 v$db_pipes   包含当前数据库中的管道信息 v$deleted_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$sga  包含 SGA 区的主要组成部分的信息  v$ sgainfo   包含 SGA 区的详细消息  v$ parameter 包含初始化参数信息  v$ sversion   包含 Oracle 版本信息  v$ option  包含已安装的 Oraclette 组件的选项信息  v$session   包含当前所有会话信息  v$process   包含当前系统所有进程信息  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>s e l e c t username,default_tablespace from user_users;  查看当前用户的角色 SQL>s e l e c t * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>s e l e c t * from user_sys_privs; SQL>s e l e c t * from user_tab_privs; 查看用户下所有的表 SQL>s e l e c t * from user_tables; 查看用户下所有的表的列属性 SQL>s e l e c t * from USER_TAB_COLUMNS where table_name=:table_Name; 显示用户信息 (所属表空间)s e l e c t default_tablespace,temporary_tablespacefrom dba_users where username='GAME';

1、用户

查看当前用户的缺省表空间 SQL>s e l e c t username,default_tablespace from user_users;  查看当前用户的角色 SQL>s e l e c t * from user_role_privs;  查看当前用户的系统权限和表级权限 SQL>s e l e c t * from user_sys_privs; SQL>s e l e c t * from user_tab_privs;  显示当前会话所具有的权限 SQL>s e l e c t * from session_privs;  显示指定用户所具有的系统权限 SQL>s e l e c t * from dba_sys_privs where grantee='GAME';  显示特权用户 s e l e c t * from v$pwfile_users;  显示用户信息 (所属表空间) s e l e c t default_tablespace,temporary_tablespace  from dba_users where username='GAME';  显示用户的 PROFILE s e l e c t profile from dba_users where username='GAME';

2、表

查看用户下所有的表 SQL>s e l e c t * from user_tables; 查看名称包含 log 字符的表 SQL>s e l e c t object_name,object_id from user_objects where instr(object_name,'LOG')>0; 查看某表的创建时间 SQL>s e l e c t object_name,created from user_objects where object_name=upper('&table_name'); 查看某表的大小 SQL>s e l e c t sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name'); 查看放在 Oracle 的内存区里的表 SQL>s e l e c t table_name,cache from user_tables where instr(cache,'Y')>0;

3、索引

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

4、序列号

查看序列号,last_number 是当前值 SQL>s e l e c t * from user_sequences;

5、视图

查看视图的名称 SQL>s e l e c t view_name from user_views; 查看创建视图的 s e l e c t 语句 SQL>set view_name,text_length from user_views; SQL>set long 2000; 说明:可以根据视图的 text_length 值设定 set long 的大小 SQL>s e l e c t text from user_views where view_name=upper('&view_name');

6、同义词

查看同义词的名称 SQL>s e l e c t * from user_synonyms;

7、约束条件

查看某表的约束条件 SQL>s e l e c t constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name'); SQL>s e l e c t 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>s e l e c t object_name,status from user_objects where object_type='FUNCTION'; SQL>s e l e c t object_name,status from user_objects where object_type='PROCEDURE'; 查看函数和过程的源代码 SQL>s e l e c t text from all_source where owner=user and name=upper('&plsql_name');

动态性能视图的使用

v$access   包含当前被锁定的数据库对象及正在访问他们的会话 v$archive  包含归档所需的重做日志文件中的信息 v$ archived_log   包含从控制文件中获取的归档日志信息。 v$archive_processes  包含于一个实例相关的 arch 进程的状态信息  v$ backup   包含联机数据文件的备份状态信息  v$backup_async_io   包括从控制文件中获取的备份集的信息  v$ backup_corruption   包含从控制文件中获取的有关数据文件备份中损坏的信息。 v$ backup_datafile   包含从控制文件中获取的备份的数据文件和备份控制文件的信息 v$ backup_device   包含支持备份设备的信息 v$backup_piece     包含从控制文件中获取的备份块的信息 v$backup_redolog    包含从控制文件中获取的关于备份集的归档日志的信息 v$backup_set    包含从控制文件中获取的备份集的信息 v$bgprocess 包含数据库后台进程信息 v$ buffer_pool   包含当前实例中所有可用缓冲池的信息 v$ buffer_pool_statistics  包含当前实例所有可用缓冲池的统计信息 v$ cache   包含当前实例的 SGA 中的每一块的头部信息 v$context   包含当前对话的属性信息。 v$controlfile   包含控制文件信息 v$ controlfile_record_section   包含控制文件记录部分的信息 v$ copy_curruption 包含从控制问价中获取的数据文件副本损坏的信息  v$database  包含从控制文件中获取的数据库信息  v$datafile   包含从控制文件中获取的数据文件信息 v$datafile_copy  包括从控制文件中获取的数据文件副本的信息 v$datafile_header  包含数据文件头部信息 v$ db_object_cache  包含缓存在库高速缓冲中的数据库对象信息 v$db_pipes   包含当前数据库中的管道信息 v$deleted_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$sga  包含 SGA 区的主要组成部分的信息  v$ sgainfo   包含 SGA 区的详细消息  v$ parameter 包含初始化参数信息  v$ sversion   包含 Oracle 版本信息  v$ option  包含已安装的 Oraclette 组件的选项信息  v$session   包含当前所有会话信息  v$process   包含当前系统所有进程信息  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>s e l e c t username,default_tablespace from user_users;  查看当前用户的角色 SQL>s e l e c t * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>s e l e c t * from user_sys_privs; SQL>s e l e c t * from user_tab_privs; 查看用户下所有的表 SQL>s e l e c t * from user_tables; 查看用户下所有的表的列属性 SQL>s e l e c t * from USER_TAB_COLUMNS where table_name=:table_Name; 显示用户信息 (所属表空间)s e l e c t default_tablespace,temporary_tablespacefrom dba_users where username='GAME';

1、用户

查看当前用户的缺省表空间 SQL>s e l e c t username,default_tablespace from user_users;  查看当前用户的角色 SQL>s e l e c t * from user_role_privs;  查看当前用户的系统权限和表级权限 SQL>s e l e c t * from user_sys_privs; SQL>s e l e c t * from user_tab_privs;  显示当前会话所具有的权限 SQL>s e l e c t * from session_privs;  显示指定用户所具有的系统权限 SQL>s e l e c t * from dba_sys_privs where grantee='GAME';  显示特权用户 s e l e c t * from v$pwfile_users;  显示用户信息 (所属表空间) s e l e c t default_tablespace,temporary_tablespace  from dba_users where username='GAME';  显示用户的 PROFILE s e l e c t profile from dba_users where username='GAME';

2、表

查看用户下所有的表 SQL>s e l e c t * from user_tables; 查看名称包含 log 字符的表 SQL>s e l e c t object_name,object_id from user_objects where instr(object_name,'LOG')>0; 查看某表的创建时间 SQL>s e l e c t object_name,created from user_objects where object_name=upper('&table_name'); 查看某表的大小 SQL>s e l e c t sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name'); 查看放在 Oracle 的内存区里的表 SQL>s e l e c t table_name,cache from user_tables where instr(cache,'Y')>0;

3、索引

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

4、序列号

查看序列号,last_number 是当前值 SQL>s e l e c t * from user_sequences;

5、视图

查看视图的名称 SQL>s e l e c t view_name from user_views; 查看创建视图的 s e l e c t 语句 SQL>set view_name,text_length from user_views; SQL>set long 2000; 说明:可以根据视图的 text_length 值设定 set long 的大小 SQL>s e l e c t text from user_views where view_name=upper('&view_name');

6、同义词

查看同义词的名称 SQL>s e l e c t * from user_synonyms;

7、约束条件

查看某表的约束条件 SQL>s e l e c t constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name'); SQL>s e l e c t 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>s e l e c t object_name,status from user_objects where object_type='FUNCTION'; SQL>s e l e c t object_name,status from user_objects where object_type='PROCEDURE'; 查看函数和过程的源代码 SQL>s e l e c t text from all_source where owner=user and name=upper('&plsql_name');

文章出自:http://qh.itpxw.cn/peixun/software/201838010.html

文章标题:如何学Oracle常用数据字典表和Oracle视图



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

(责任编辑:IT培训网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.itpxw.cn 注册时间:2016-07-18 11:07 最后登录:2024-02-20 13:02
推荐内容