单击此处编辑母版标题样式,*,*,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,使用数据字典和动态性能视图,目标,完成这一,课,课的学习,后,后,您应,该,该能达到,下,下列目标,:,:,了解,内,内置数据,库,库对象,了解,数,数据字典,的,的内容和,使,使用,了解,数,数据字典,视,视图的创,建,建方式,了解,数,数据字典,视,视图的类,别,别,查询,数,数据字典,和,和动态性,能,能视图,了解,管,管理脚本,命,命名约定,数据字典,数据字典,是,是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,程,程序包,:,:向数据,库,库添加功,能,能的程序,单,单元。这,些,些程序包,在,在执行CREATE DATABASE 命,令,令之后运,行,行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(其,他,他:lock table,、,、setconstraint、settransaction),审计控制,:,:audit、noaudit,系统控制,:,:alter system,会话控制,:,:alter session,其他语句,:,:comment,(,(添加注,释,释)、explain plan、analyze、validate,、,、call,数据字,典,典,数据字,典,典是Oracle,数,数据库,最,最重要,的,的部分,之,之一,,它,它是一,组,组只读,表,表和视,图,图,提,供,供有关,其,其相关,数,数据库,的,的信息,。,。,只要执,行,行数据,定,定义语,言,言(DDL),命,命令,,,,Oracle 服,务,务器就,会,会更新,数,数据字,典,典。此,外,外,数,据,据操纵,语,语言(DML)命,令,令(如,引,引起表,扩,扩展的,命,命令),也,也可以,更,更新数,据,据字典,。,。,数据字,典,典不仅,是,是每个Oracle,数,数据,库,库最重,要,要的部,分,分,它,还,还是所,有,有用户,(,(从最,终,终用户,到,到应用,程,程序设,计,计者以,及,及数据,库,库管理,员,员)的,重,重要信,息,息来源,。,。,要访问,数,数据字,典,典,请,使,使用SQL,语,语句。,因,因为数,据,据库是,只,只读的,,,,所以,只,只能对,数,数据字,典,典的表,和,和视图,发,发出查,询,询。,基表和,数,数据字,典,典视图,数据字,典,典包含,以,以下两,个,个部分,:,:,基,表,表,存,储,储数据,库,库的说,明,明,使,用,用,CREATEDATABASE,命令创,建,建,数,据,据字典,视,视图,用,于,于简化,基,基表信,息,息,通,过,过公共,同,同义词,访,访问,使,用,用,catalog.sql,脚本创,建,建,基表和,数,数据字,典,典视图,数据字,典,典包含,对,对数据,库,库中的,对,对象的,说,说明。,它包括,两,两种对,象,象类型,。,。,基表:,基表是,存,存储有,关,关数据,库,库的信,息,息的底,层,层表。,基,基表是,在,在任何Oracle,数,数据,库,库中首,先,先创建,的,的对象,。,。,在使用CREATEDATABASE,创,创建,数,数据库,时,时,只,要,要Oracle 服,务,务器运,行,行sql.bsq,脚,脚本,,就,就会自,动,动创建,这,这些对,象,象。只,有,有Oracle 服,务,务器才,能,能对这,些,些基表,执,执行写,入,入操作,。,。用户,很,很少直,接,接访问,基,基表,,因,因为其,中,中的数,据,据大多,数,数都是,以,以隐含,格,格式存,储,储的。,切,切勿使,用,用DML 命,令,令直接,更,更新基,表,表,但AUD$表,除,除外。,例,例如,IND$表,就,就是一,个,个基表,,,,它包,含,含有关,数,数据库,中,中的索,引,引的信,息,息。,数据字,典,典视图,:,:,数据字,典,典视图,是,是基表,的,的汇总,,,,可以,更,更有效,地,地显示,基,基表信,息,息。例,如,如,在,数,数据字,典,典视图,中,中,除,了,了显示,对,对象编,号,号外还,会,会使用,对,对象名,。,。数据,字,字典视,图,图是在,运,运行CREATEDATABASE,命,命令之,后,后使用catalog.sql,脚,脚本创,建,建的。,创建数,据,据字典,视,视图,创建数,据,据字典,视,视图,创建数,据,据库时,,,,会自,动,动创建,数,数据字,典,典的基,表,表。使,用,用Oracle UniversalInstaller,创,创建,数,数据库,时,时,会,自,自动运,行,行用于,创,创建数,据,据字典,和,和动态,性,性能视,图,图的脚,本,本以及Oracle,服,服务,器,器选项,的,的脚本,。,。,手动创,建,建新数,据,据库时,,,,需要,手,手动运,行,行这些,脚,脚本。,此,此外,,将,将Oracle 服,务,务器升,级,级为新,版,版本时,,,,可能,也,也需要,重,重新运,行,行这些,脚,脚本。,只,只有具,有,有SYSDBA 权,限,限的用,户,户SYS 才,能,能运行,这,这些脚,本,本。,以上脚,本,本位于,下,下列目,录,录中:,UNIX,:$ORACLE_HOME/rdbms/admin,NT,:%ORACLE_HOME%rdbmsadmin,数据字,典,典内容,数据字,典,典提供,有,有关以,下,下方面,的,的信息,:,:,逻,辑,辑数据,库,库结构,和,和物理,数,数据库,结,结构,对,象,象的定,义,义和空,间,间分配,完,整,整性约,束,束,用,户,户,角,色,色,权,限,限,审,计,计,数据字,典,典内容,数据字,典,典包含,以,以下内,容,容:,数,据,据库内,所,所有方,案,案对象,的,的定义,,,,这些,对,对象包,括,括表、,视,视图、,索,索引、,簇,簇、同,义,义词、,序,序列、,过,过程、,函,函数、,程,程序包,、,、触发,器,器等等,已,为,为方案,对,对象分,配,配的空,间,间量以,及,及它们,当,当前使,用,用的空,间,间量,列,的,的缺省,值,值,完,整,整性约,束,束信息,Oracle,用,用户的,名,名称,已,授,授予每,个,个用户,的,的权限,和,和角色,审,计,计信息,,,,如有,哪,哪些人,访,访问或,更,更新了,各,各种方,案,案对象,数据字,典,典的使,用,用方式,主要用,途,途:,Oracle,服务器,使,使用它,来,来查找,有,有关以,下,下内容,的,的信息,:,:,用,户,户,方,案,案对象,存,储,储结构,执,行,行,DDL,语句时,,,,,Oracle,服务器,会,会对它,进,进行修,改,改。,用,户,户和,DBA,可将它,作,作为数,据,据库相,关,关信息,的,的只读,参,参考,数据字,典,典的使,用,用方式,Oracle,服务器,使,使用数,据,据字典,的,的方式,:,:,数据字,典,典基表,中,中的数,据,据是Oracle,服,服务器,运,运行所,必,必需的,。,。因此,,,,应该,只,只能由Oracle,服,服务,器,器来写,入,入或更,改,改数据,字,字典信,息,息。在,数,数据库,操,操作过,程,程中,Oracle,服,服务,器,器通过,读,读取数,据,据字典,来,来确定,方,方案对,象,象是否,存,存在,,以,以及用,户,户是否,对,对它们,具,具有适,当,当的访,问,问权限,。,。Oracle 服,务,务器还,会,会不断,地,地更新,数,数据字,典,典,及,时,时反映,数,数据库,结,结构方,面,面的变,化,化。,用户和数据,库,库管理员使,用,用数据字典,的,的方式:,数据字典的,视,视图可以作,为,为所有数据,库,库用户的参,考,考。某些视,图,图可由所有Oracle 用户访,问,问;另外一,些,些视图只供,数,数据库管理,员,员使用。,数据字典视,图,图的类别,三种静,态,态视图集,按范围,分,分类为:,DBA,:所有方案,中,中的视图,ALL,:用户可以,访,访问的视图,USER,:用户方案,中,中的视图,数据字典视,图,图的类别,带有,DBA,前缀的视图,:,:,带有DBA,前,前缀的视,图,图显示整个,数,数据库的全,局,局视图。只,有,有数据库管,理,理员才能查,询,询它们。如,果,果用户被授,予,予了系统权,限,限SELECT ANY TABLE,则也,可,可以查询数,据,据字典中前,缀,缀为DBA,的,的视图。,若要查询数,据,据库中的所,有,有对象,DBA 可以,发,发出下列语,句,句:,SELECT owner,object_name,object_type,FROMdba_objects;,数据字典视,图,图的类别,带有,ALL,前缀的视图,:,:,带有ALL,前,前缀的视,图,图指的是从,用,用户角度看,到,到的完整数,据,据库视图。,这,这些视图