欢迎来到天天文库
浏览记录
ID:49479289
大小:261.50 KB
页数:44页
时间:2020-02-25
《oracle数据字典简介.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Oracle数据字典简介本章目标理解数据字典含义能初步掌握数据字典的使用主要内容什么是数据字典数据字典分类常见的数据字典视图介绍什么是数据字典数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息的视图等。数据字典是由一系列拥有数据库元数据信息的数据字典表和用户可以读取的数据字典组成。数据字典表的所有者是sys用户,其数据字典表和数据字典视图都被保存在system表空间中。除了sys用户可以修改AUD$表之外,任何用
2、户(包括DBA)都不能直接更改数据字典,但可以查询其中的信息,即数据字典是只读的。当用户执行DDL语言(如createtable)或DML(如altertable、droptable),由ORACLE负责对相应的数据字典更新。数据字典表主要保存的信息各种方案定义的信息,如表、视图、索引、存储过程、序列、触发器等各种对象;存储空间的分配信息;安全信息,如账户、权限、角色、完整性约束等;例程(实例)运行是的性能和统计信息;其他数据库本身的基本信息。数据字典主要用途Oracle通过查询数据字典表和数据视图来获
3、取有关用户、方案对象、对象的定义信息以及其他存储结构的信息,确认权限、方案对象的存在性、正确性等信息,以便对SQL语句进行语法和语义的解析;在每次执行DDL语句修改方案对象后,Oracle都要在数据字典中记录下所作的修改;用户可以从数据字典的只读视图中,获取各种与方案对象、对象有关的信息;DBA可以从数据字典的动态性能视图中,监视例程的运行状态,为性能调整提供依据。数据字典表数据字典中的所有信息实际上都是存放在数据字典表中。数据字典表中存储的信息通常是经过加密的。数据字典表属于sys用户,通过在创建数据
4、库时,自动运行sql.bsq脚本来创建数据字典表,大部分的数据字典表的名称都包含‘$’等特殊符号。数据字典视图数据字典表中的信息经过解密和其他一些加工处理后,以数据字典的方式显示给用户。这些数据字典视图将各种信息分权限、分类存放,避免了编写许多复杂的查询语句,并将信息转换成易于理解和有用的格式,所以十分方便用户使用。通过在数据库创建时,运行catalog.sql脚本来创建数据字典视图,并随后创建公用同义词和授权,然后运行catproc.sql脚本来为PL/SQL建立过程选项和利用数据字典的实用程序。数据
5、字典分类静态数据字典动态数据字典静态数据字典静态数据字典是指在用户访问数据字典时内容不会发生改变。这类数据字典主要是由表和视图组成,应该注意的是,数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。静态数据字典静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_*all_*dba_*DBA_视图,全部数据库对象的信息All_视图,该用户可以访问的所有对象的信息User_视图,该用户方案对象的信息动态数据字典Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据
6、库运行的时候它们会不断进行更新,所以称它们为动态数据字典。动态数据字典这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。Oracle中这些动态性能视图都是以v$开头的视图,比如v$access。在例程的运行过程中,Oracle会在数据字典中维护一系列的“虚拟”表,在其中记录与数据库活动相关的性能统计信息,这些表被称为“动态性能表”。“虚拟”是指这些表不是永久表,即在例程启动时被创建,并将想其中添加信息,而当例程消亡时,这些表也就被删除了。“动态”是指在例程被启动后,这些
7、表中的内容是随时变化的。V$视图能够提供如下几方面的信息数据库连接方面的细节;从磁盘读写的数据量;统计信息,如某个数据文件的文件头,或SGA的汇总信息最近一次被修改的时间;用于数据库恢复的各种值DBA_视图与V$_视图的区别DBA_视图给出的是数据字典的状态和组成情况,是静态的视图。V$_视图给出的是能够放映数据库当前运转情况的实时数据,是动态的。有助于了解数据库是如何对数据请求做出响应的。当数据库处于不同的状态时,可以访问的动态性能视图有所不同。Nomount状态启动例程后,Oracle会打开初始化参
8、数文件,分配SGA区并启动各个后台进程。此时,只能访问从SGA区获得信息的动态视图。V$PARAMETERV$SGAV$OPTIONV$PROCESSV$SESSIONV$VERSIONV$INSTANCEMount状态当加载数据库时,Oracle会根据初始化参数control_files的指定,打开控制文件。此时,不仅可以访问从SGA区获得的信息视图,还可以访问从控制文件中获得信息的动态视图。V$THREADV$CONTROLFILEV$
此文档下载收益归作者所有