ORACLE数据库管理基础四_第1页
ORACLE数据库管理基础四_第2页
ORACLE数据库管理基础四_第3页
ORACLE数据库管理基础四_第4页
ORACLE数据库管理基础四_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用数据字典和动态性能视图目标完成这一课的学习后,您应该能达到下列目标:•了解内置数据库对象•了解数据字典的内容和使用•了解数据字典视图的创建方式•了解数据字典视图的类别•查询数据字典和动态性能视图•了解管理脚本命名约定数据字典

数据字典是ORACLE数据库的最重要部分之一,它由一组只读的表和视图所组成。它提供如下信息:

ORACLE用户名特权和角色模式对象信息完整性约束空间分配情况数据库结构审计信息数据字典视图数据字典视图:USER_XXX:任何用户可访问的视图,给出该用户的所有对象信息。ALL_XXX:任何用户可访问的视图,给出数据库所有用户的所有对象的基本信息。DBA_XXX:只有DBA特权的用户可访问的视图,给出数据库的所有详细信息。V$XXX:记录数据库的动态信息。数据字典的特点数据字典的特点:所有数据字典基表和视图都由SYS用户拥有。对于ALL_XXX和USER_XXX视图建立公共同义词。列名对所有视图都一致。后缀名对所有视图都一致。USER_XXX类视图无OWNER列。许多DBA_XXX视图无等价的USER_XXX和ALL_XXX视图。内置数据库对象随数据库一起创建的其它对象:•数据字典•性能表•PL/SQL程序包•数据库事件触发器内置数据库对象创建数据库时,除创建数据库文件外,还将创建其它几种结构。 •数据字典:包含对数据库中对象的说明 •动态性能表:包含由数据库管理员(DBA)用来监视和优化数据库及例程的信息 •PL/SQL程序包:向数据库添加功能的程序单元。这些程序包在执行CREATEDATABASE命令之后运行catproc.sql脚本时创建。PL/SQL程序包不在本课讨论的范围之内。•数据库事件触发器:触发器是在表或视图发生修改,或执行某些用户操作或数据库系统操作时隐式执行的过程。数据库事件触发器不在本课讨论的范围之内。数据字典•每个Oracle数据库的中心•描述数据库以及数据库对象•包含只读表和视图•存储在SYSTEM表空间内•由用户SYS拥有•由Oracle服务器进行维护•通过SELECT访问数据定义语言(DDL):create、alter、drop(创建、修改结构、删除)(其他:rename)数据操纵语言(DML):insert、delete、select、update(增、删、查、改)(其他:truncate)数据控制语言(DCL):grant、revoke(授权、回收)、setrole

事务控制:commit、rollback、savepoint(其他:locktable、setconstraint、settransaction)

审计控制:audit、noaudit

系统控制:altersystem会话控制:altersession

其他语句:comment(添加注释)、explainplan、analyze、validate、call

数据字典数据字典是Oracle数据库最重要的部分之一,它是一组只读表和视图,提供有关其相关数据库的信息。只要执行数据定义语言(DDL)命令,Oracle服务器就会更新数据字典。此外,数据操纵语言(DML)命令(如引起表扩展的命令)也可以更新数据字典。数据字典不仅是每个Oracle数据库最重要的部分,它还是所有用户(从最终用户到应用程序设计者以及数据库管理员)的重要信息来源。要访问数据字典,请使用SQL语句。因为数据库是只读的,所以只能对数据字典的表和视图发出查询。基表和数据字字典视图数据字典包含含以下两个部部分:•基表–存储数据据库的说明–使用CREATEDATABASE命令创建•数据字典典视图–用于简化化基表信息–通过公共共同义词访问问–使用catalog.sql脚本创建基表和数据字字典视图数据字典包含含对数据库中中的对象的说说明。它包括两种对对象类型。基表:基表是存储有有关数据库的的信息的底层层表。基表是是在任何Oracle数数据库中首首先创建的对对象。在使用CREATEDATABASE创建建数据库时,,只要Oracle服服务器运行sql.bsq脚本,,就会自动创创建这些对象象。只有Oracle服服务器才能能对这些基表表执行写入操操作。用户很很少直接访问问基表,因为为其中的数据据大多数都是是以隐含格式式存储的。切切勿使用DML命令直直接更新基表表,但AUD$表除外外。例如,IND$表表就是一个基基表,它包含含有关数据库库中的索引的的信息。数据据字字典典视视图图::数据据字字典典视视图图是是基基表表的的汇汇总总,,可可以以更更有有效效地地显显示示基基表表信信息息。。例例如如,,在在数数据据字字典典视视图图中中,,除除了了显显示示对对象象编编号号外外还还会会使使用用对对象象名名。。数数据据字字典典视视图图是是在在运运行行CREATEDATABASE命命令令之之后后使使用用catalog.sql脚脚本本创创建建的的。。创建建数数据据字字典典视视图图创建建数数据据字字典典视视图图创建建数数据据库库时时,,会会自自动动创创建建数数据据字字典典的的基基表表。。使使用用OracleUniversalInstaller创创建建数数据据库库时时,,会会自自动动运运行行用用于于创创建建数数据据字字典典和和动动态态性性能能视视图图的的脚脚本本以以及及Oracle服服务务器器选选项项的的脚脚本本。。手动创创建新新数据据库时时,需需要手手动运运行这这些脚脚本。。此外外,将将Oracle服服务器器升级级为新新版本本时,,可能能也需需要重重新运运行这这些脚脚本。。只有有具有有SYSDBA权权限的的用户户SYS才才能能运行行这些些脚本本。以上脚本位位于下列目目录中:UNIX:$ORACLE_HOME/rdbms/adminNT:%ORACLE_HOME%\rdbms\admin数据字典内内容数据字典提提供有关以以下方面的的信息:•逻辑数数据库结构构和物理数数据库结构构•对象的的定义和空空间分配•完整性性约束•用户•角色•权限•审计数据字典内内容数据字典包包含以下内内容:•数据库库内所有方方案对象的的定义,这这些对象包包括表、视视图、索引引、簇、同同义词、序序列、过程程、函数、、程序包、、触发器等等等•已为方方案对象分分配的空间间量以及它它们当前使使用的空间间量•列的缺缺省值•完整性性约束信息息•Oracle用用户的名名称•已授予予每个用户户的权限和和角色•审计信信息,如有有哪些人访访问或更新新了各种方方案对象数据字典的的使用方式式主要用途::•Oracle服务器使用用它来查找找有关以下下内容的信信息:–用户–方案对对象–存储结结构•执行DDL语句时,Oracle服务器会对对它进行修修改。•用户和和DBA可将它作为为数据库相相关信息的的只读参考考数据字典的的使用方式式Oracle服务器使用用数据字典典的方式::数据字典基基表中的数数据是Oracle服务器器运行所必必需的。因因此,应该该只能由Oracle服务务器来写入入或更改数数据字典信信息。在数数据库操作作过程中,,Oracle服服务器通过过读取数据据字典来确确定方案对对象是否存存在,以及及用户是否否对它们具具有适当的的访问权限限。Oracle服服务器还还会不断地地更新数据据字典,及及时反映数数据库结构构方面的变变化。用户和数据据库管理员员使用数据据字典的方方式:数据字典的的视图可以以作为所有有数据库用用户的参考考。某些视视图可由所所有Oracle用用户访问问;另外一一些视图只只供数据库库管理员使使用。数据字典视视图的类别别•三种静静态视图集集•按范围围分类为::–DBA:所所有有方方案案中中的的视视图图–ALL:用用户户可可以以访访问问的的视视图图–USER:用用户户方方案案中中的的视视图图数据据字字典典视视图图的的类类别别带有有DBA前缀缀的的视视图图::带有有DBA前前缀缀的的视视图图显显示示整整个个数数据据库库的的全全局局视视图图。。只只有有数数据据库库管管理理员员才才能能查查询询它它们们。。如如果果用用户户被被授授予予了了系系统统权权限限SELECTANYTABLE,,则则也也可可以以查查询询数数据据字字典典中中前前缀缀为为DBA的的视视图图。。若要要查查询询数数据据库库中中的的所所有有对对象象,,DBA可可以以发发出出下下列列语语句句::SELECTowner,object_name,object_typeFROMdba_objects;数据据字字典典视视图图的的类类别别带有ALL前缀的视图::带有ALL前前缀的视图图指的是从用用户角度看到到的完整数据据库视图。这这些视图返回回有关方案对对象的信息,,除了用户所所拥有的方案案对象外,还还包括那些通通过公开或显显式授予权限限和角色的方方式让用户获获得访问权限限的方案对象象。例如,以下查查询返回用户户具有访问权权限的全部对对象的信息::SELECTowner,object_name,object_typeFROMall_objects;数据据字字典典视视图图的的类类别别带有有USER前缀缀的的视视图图::典型型数数据据库库用用户户最最可可能能感感兴兴趣趣的的视视图图是是带带有有USER前前缀缀的的视视图图。。这些些视视图图::•涉涉及及数数据据库库中中用用户户自自己己独独有有的的环环境境•通常涉及及当前用户所所拥有的对象象•除OWNER列暗暗指当前用户户外,具有与与其它视图一一致的列•返回ALL视图中中信息的子集集•为方便起起见,可具有有缩写的公共共同义词例如,下列查查询返回用户户方案中包含含的所有对象象:SELECTowner,object_name,object_typeFROMusers_objects;数据字典视图图的类别数据字典视图图:数据字典视图图是静态视图图,从这些视视图中用户可可以知道:•是否曾经经创建了某个个对象?•该对象是是什么的一部部分?•谁拥有该该对象?•用户具有有哪些权限??•对该对象象有哪些限制制?注:有关全部部数据字典视视图的列表,,请参考Oracle9iDatabaseReference文档数据字典示例例•总览–DICTIONARY,DICT_COLUMNS•方案对象象–DBA_TABLES,DBA_INDEXES,DBA_TAB_COLUMNS,DBA_CONSTRAINTS•空间分配配–DBA_SEGMENTS,DBA_EXTENTS•数据库结结构–DBA_TABLESPACES,DBA_DATA_FILES数据字典示例例要获取数据字字典视图的概概览,可以查查询DICTIONARY视图或或其同义词DICT视视图。例如:SELECT*FROMdictionary;用where子句来缩缩小查询范围围:SELECT*FROMdictionaryWHEREtable_nameLIKE‘dba_seg%’要获得视图中中各列的列表表,请使用DESCRIBE关键键字:DESCRIBEdba_users;要获得数据据字典视图图中各列的的概览,可可以查询DICT_COLUMNS视视图。要查看数据据字典视图图的内容,,请使用SELECT命令令。SELECT*FROMdba_users;注:有关数数据字典视视图及其中中各列的完完整列表,,请参考““Oracle9iDatabaseReference””文档动态性能表表•虚拟表表•记录当当前的数据据库活动•在数据据库可操作作时不断更更新•通过内内存和控制制文件访问问信息•用于监监控和优化化数据库•由SYS用户拥有•同义词词以V$开头•在V$FIXED_TABLE中列出动态性能表表在Oracle服服务器的整整个操作过过程中,它它将当前数数据库活动动记录在称称为动态性性能视图的的一组虚拟拟表中。只只有数据库库处于运行行状态时,,这些虚拟拟表才驻留留在内存中中,反映数数据库操作作的实时状状况。它们们指向内存存和控制文文件中的实实际信息源源。这些表不是是真正的表表,大多数数用户都无无法访问它它们;但是是数据库管管理员可以以在这些视视图上查询询、授予SELECT权限限并创建视视图。这些些视图有时时称为固定定视图,因因为数据库库管理员无无法更改或或删除这些些视图。动态性能表表由SYS拥有,,它们的名名称均以V_$开开头。在这这些表上先先创建视图图,然后再再为这些视视图创建公公共同义词词。同义词词名以V$开头。。例如,V$DATAFILE视图图包含有关关数据库中中数据文件件的信息,,而V$FIXED_TABLE视视图包含有有关数据库库中所有动动态性能表表和视图的的信息。动态性能能表可使使用户了了解到以以下信息息:•该对对象是否否处于联联机状态态并可用用?•该对对象是否否已打开开?•目前前持有哪哪些锁??•该该会话话是否否处于于活动动状态态?动态性性能表表示例例•V$CONTROLFILE•V$DATABASE•V$DATAFILE•V$INSTANCE•V$PARAMETER•V$SESSION•V$SGA•$SPPARAMETER•V$TABLESPACE•V$THREAD•V$VERSION动态性性能表表示例例示例::•V$CONTROLFILE:列列出控控制文文件的的名称称•V$DATABASE::包含含控制制文件件中的的数据据库信信息•V$DATAFILE::包含含控制制文件件中的的数据据文件件信息息•V$INSTANCE::显示示当前前例程程的状状态•V$PARAMETER:列列出会会话的的当前前有效效参数数和值值•V$SESSION:列列出当当前每每个会会话的的会话话信息息•V$SGA:包包含有有关系系统全全局区区(SGA)的的摘摘要信信息•V$SPPARAMETER:列列出SPFILE的的内内容•V$TABLESPACE::显示示控制制文件件中的的表空空间信信息•V$THREAD::包含含控制制文件件中的的线程程信息息•V$VERSION:Oracle服服务务器中中核心心库组组件的的版本本号注:有有关动动态性性能视视图及及其中中各列列的完完整列列表,,请参参考““Oracle9iDatabaseReference””文文档。。动态性能能表示例例要获得动动态性能能视图的的概览,,可以查查询DICTIONARY视视图或或其同义义词DICT视视图。。例如:SELECT*FROMdictionary;用where子子句来来缩小查查询范围围:SELECT*FROMdictionaryWHEREtable_namelike‘V$data%’也可以查查询V$FIXED_TABLE视视图获获得动态态性能视视图列表表:SELECT*FROMV$FIXED_TABLE;要获获得得视视图图中中各各列列的的列列表表,,请请使使用用DESCRIBE关关键键字字::DESCRIBEV$INSTANCE;要获获得得动动态态性性能能视视图图中中各各列列的的概概览览,,可可以以查查询询DICT_COLUMNS视视图图。。要查看视图的的内容,请使使用SELECT命令令。SELECT*fromV$INSTANCE;管理脚本命命名约定管理脚本命命名约定管理脚本可可以根据各各自的文件件名划分为为以下几类类:cat*.sql:这些脚本本用于创建建数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论