Oracle中的数据字典技术及常用数据字典总结

  • 时间:
  • 浏览:0
  • 来源:5分3DAPP下载_5分3DAPP官网

user_objects视图

二、Oracle 中常用数据字典

--归档情况表的一点基本信息 

desc v$archived_log

select name,dest_id,blocks,block_size, 

       archived,status,backup_count 

from v$archived_log;

--DBA 用户的所有的存储过程的基本信息 

desc dba_source

select owner,name,type,line,text from dba_source;

 一、Oracle数据字典

--DBA 用户的所有的约束的信息 

desc dba_constraints

select owner,constraint_name,constraint_type, 

       table_name,status 

from dba_constraints;

原文链接:

--临时文件的基本信息 

desc dba_temp_files

select file_name,file_id,tablespace_name,status, 

       bytes/1024/1024 大小MB 

from dba_temp_files;

本文转自贺满博客园博客,原文链接:http://www.cnblogs.com/puresoul/archive/2010/06/29/1767591.html,如需转载请自行联系原作者。

3.小结 以上是Oracle的数据字典方面的基本内容,还有只是 有用视图不可能 篇幅原应这里非要一一讲解,希望大伙 在平时使用中多留心。总之,运用好数据字典技术,都要让数据库开发人员可不可否 更好的了解数据库的全貌,事先对于数据库优化、管理等有极大的帮助。

--控制文件的基本信息 

desc v$controlfile

select name,status,is_recovery_dest_file, 

       block_size,file_size_blks 

from v$controlfile;

--构成数据字典的所有的表信息 

desc dict

select table_name,comments from dict;



dba_*

该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问有有哪些数据库的权限,一般来说都要具有管理员权限)

从上边的描述都要看出,三者之间存储的数据肯定会有重叠,确实它们除了访问范围的不同以外(不可能 权限不一样,只是 访问对象的范围不一样),一点均具有一致性。具体来说,不可能 数据字典视图是由SYS(系统用户)所拥有的,只是 在却省情况表下,非要SYS和拥有DBA系统权限的用户都要看到所有的视图。越来越DBA权限的用户非要看到user_*和all_*视。不可能 越来越被授予相关的SELECT权限句子,大伙 是非要看到 dba_*视图的。

不可能 三者具有同类性,下面以user_为例介绍有几只常用的静态视图:

user_users视图

主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户情况表、表空间名、创建时间等。同类执行下列命令即可返回有有哪些信息。

select * from user_users

user_tables视图

--当前用户都要访问的所有的基表,视图,同义词 

desc system.tab

select tname,tabtype,clusterid from system.tab;

-- 查询关于表空间的一点基本的数据字典 

desc dba_tablespaces

select tablespace_name,block_size,status, 

       logging,extent_management 

from dba_tablespaces;       

desc dba_free_space

select tablespace_name,file_id,block_id, 

       bytes/1024/1024 大小MB,blocks,relative_fno 

from dba_free_space;

--DBA 用户的所有的索引的基本信息 

desc dba_indexes

select owner,index_name,index_type,table_owner,table_name, 

       table_type,uniqueness,compression,logging,status 

from dba_indexes;

--数据文件的基本信息 

desc v$datafile

select * from v$datafile; 

desc dba_data_files

select file_name,file_id,tablespace_name,bytes,blocks, 

       status,online_status 

from dba_data_files;

--访问参数文件 

desc v$parameter

select num,name,type,value,display_value, 

       isdefault,isses_modifiable, 

       issys_modifiable,isinstance_modifiable       

from v$parameter; 

select * from v$parameter; 

select name,value,description from v$parameter;

--DBA 用户的所有的序列的信息 

desc dba_sequences

select sequence_owner,sequence_name,min_value,max_value, 

       cycle_flag 

from dba_sequences;

--日志文件的基本信息 

desc v$logfile

select group#,status,type,member,is_recovery_dest_file 

from v$logfile;

desc v$sql

select sql_text,sql_id,cpu_time from v$sql;

--DBA 用户的所有的表的基本信息 

desc dba_tables

desc dba_tab_columns

select owner,table_name,column_name,data_type,data_length, 

       global_stats,data_upgraded,histogram 

from dba_tab_columns;



all_*

该试图存储了当前用户可不可否 访问的对象的信息。(与user_*相比,all_* 何必 都要拥有该对象,只都要具有访问该对象的权限即可)

--关于内存行态的一点信息 

desc v$sga

select name,value/1024/1024 大小MB from v$sga;

--当前用户都要访问的所有的基表 

desc cat

select table_name from cat;

--数据库的基本信息 

desc v$database

select * from v$database; 

select dbid,name,created,resetlogs_time,log_mode, 

       open_mode,checkpoint_change#,archive_change#, 

       controlfile_created,controlfile_type, 

       controlfile_sequence#,controlfile_change#, 

       controlfile_time,protection_mode,database_role 

from v$database;

上边的呢只是 我 Oracle 中较常使用的数据字典了,都要提一下的是,上边有只是 都不 以 “dba_”开头的数据字典,比如有 dba_tables ,确实呢,你这个是列出了数据库中所有的数据,比如使用 dba_tables 就会列出数据库中所有的数据表(n 多),因此您都要使用 user_tables 不可能 all_tables 来代替 dba_tables,当然有一点是越来越与之对应的,事先呢,就只会列出当前登录用户允许查看的数据表了,对于以“dba_”基本上都不 有与之相对应的“user_”和“all_”,其中“user_”对应的是记录当前登陆用户的对象,而“all_”则是记录当前登陆用户的对象信息以及被授权访问的对象信息,而“dba_”是富含数据库实例的所有对象信息!!!

http://9host.cn/oracle/3000742218394112481.html

  select object_type,status

from user_objects

where object_name=upper(‘package1’);

注意:upper的使用,数据字典里的所有对象均为大写形式,而PL/SQL里都不 大小写敏感的,只是 在实际操作中一定要注意大小写匹配。

  2. 动态数据字典

Oracle富含了一点潜在的由系统管理员如SYS维护的表和视图,不可能 当数据库运行的事先它们会不断进行更新,只是 称它们为动态数据字典(不可能 是动态性能视图)。有有哪些视图提供了关于内存和磁盘的运行情况表,只是 大伙 非要对其进行只读访问而非要修改它们。

Oracle暗富含哪些动态性能视图都不 以v$开头的视图,比如v$access。下面就有几只主要的动态性能视图进行介绍。

v$access

该视图显示数据库中锁定的数据库对象以及访问有有哪些对象的会话对象(session对象)。

运行如下命令:

select * from v$access


结果如下:(因记录较多,故这里只是 我节选了帕累托图记录)

  下面列出的有有哪些数据字典,均在 Oracle 11g R1 上,通过 Oracle Sql Developer 进行过测试的,完整版通过。其中只是 的数据字典都都要以 system 不可能 是 sysdba 用户登录可不可否 能使用的。

  数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一一1个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。当用户在对数据库中的数据进行操作时遇到困难就都要访问数据字典来查看完整版的信息。

Oracle中的数据字典有静态和动态之分。静态数据字典主只是 我在用户访问数据字典时日后占据 改变的,但动态数据字典是依赖数据库运行的性能的,反映数据库运行的一点内在信息,只是 在访问同类数据字典时往往都不 一成不变的。以下分别就这两类数据字典来论述。

1. 静态数据字典 同类数据字典主只是 我由表和视图组成,应该注意的是,数据字典中的表是非要直接被访问的,因此都要访问数据字典中的视图。静态数据字典中的视图分为三类,它们分别由一1个前缀够成:user_*、 all_*、 dba_*。

--DBA 用户的所有的同义词的基本信息 

desc dba_synonyms

select owner,synonym_name,table_owner, 

       table_name,db_link 

from dba_synonyms;

--DBA 用户的所有的区的基本信息 

desc dba_extents 

select owner,segment_name,segment_type, 

       tablespace_name,extent_id,file_id,blocks 

from dba_extents;

desc v$sgastat

select pool,name,bytes from v$sgastat;

--后台程序运行池池信息 

desc v$bgprocess

select paddr,pserial#,name,description,error from v$bgprocess;

--DBA 用户的所有的段的基本信息 

desc dba_segments

select owner,segment_name,segment_type, 

       tablespace_name,blocks,extents 

from dba_segments;

user_tab_privs视图

  select * from user_tab_privs where table_name=upper('table1')

了解了当前用户对该表的权限事先就都要清楚的知道,有哪些操作都要执行,有哪些操作非要执行。

前面的视图均为user_开头的,确实all_开头的也完都不 一样的,只是 我列出来的信息是当前用户都要访问的对象而都不 当前用户拥有的对象。对于dba_开头的都要管理员权限,一点用法也完整版一样,这里就不再赘述了。

SID

desc v$db_object_cache

select owner,name,db_link,type,namespace,locks from v$db_object_cache;

--DBA 用户的所有的视图的基本信息 

desc dba_views

select owner,view_name,read_only from dba_views;

user_* 

--DBA 用户的所有的对象的基本信息 

desc dba_objects

select owner,object_name,subobject_name, 

       object_id,data_object_id,object_type, 

       created,status,namespace 

from dba_objects;

--DBA 用户的所有的触发器的基本信息 

desc dba_triggers

select owner,trigger_name,trigger_type, 

       table_owner,table_name,column_name 

from dba_triggers;

---数据库实例的基本信息 

desc v$instance

select * from v$instance;

--日志文件参数信息 

show parameter log_archive_dest;

http://www.cnblogs.com/QinBaoBei/archive/2010/04/11/170953000.html



v$session

该视图列出当都不 话的完整版信息。不可能 该视图字段较多,这里就不列完整版字段,为了解完整版信息,都要直接在sql*plus命令行下键入:desc v$session即可。

v$active_instance

该视图主要描述当前数据库下的活动的实例的信息。依然都要使用select句子来观察该信息。

v$context

猜你喜欢

阿里巴巴数据中心双11守夜人:把机器当“媳妇”,愿做亿万网友背后的男人

相比跟人的交流,布赫与机器“对话”的时间更久。虽说有了“智能设备大脑”随时监控情况汇报,但布赫还是老会 会用最古老的“望布赫看不都都可否 互联网盛宴肩头的亿万网民,甚至体

2020-02-18

游客77bx3by63sngw的主页

云栖号小编在此^o^文章:253丨粉丝:1052丨话题:0TA还没法发布过内容~暂未提供暂无

2020-02-18

和前男友分手了,他不删我微信,但朋友圈把我屏蔽了,发微信也不回,这是什么意思?

下载百度知道APP,抢鲜体验他几块意思我想知道,怎么才能 让我亲身经历过有十个 多和你说的一模一样,也不 把你当备胎,一面搂着现女友秀恩爱,一面知道不你都时需彻底

2020-02-18

科学在别人的心里也最重要的英文

下载百度知道APP,抢鲜体验为你推荐:展开完整性Scienceisthemostimportantinotherpeople'sheart.怪怪的推荐可选中有一一两个 或多个

2020-02-18

我女朋友手机不给我看,她说有秘密,我该怎么办?

好奇心不要 了不好啊,呵呵即使她有了你男人,她都不 她的隐私。她有权力拒绝你查看手机。你对什儿 回答的评价是?相爱就要信任,你你们信任你才告诉你她有秘密,也不不信任你她

2020-02-18