[精选]ORACLE数据库管理基础5

上传人:我**** 文档编号:183794599 上传时间:2021-06-15 格式:PPTX 页数:34 大小:392.60KB
返回 下载 相关 举报
[精选]ORACLE数据库管理基础5_第1页
第1页 / 共34页
[精选]ORACLE数据库管理基础5_第2页
第2页 / 共34页
[精选]ORACLE数据库管理基础5_第3页
第3页 / 共34页
[精选]ORACLE数据库管理基础5_第4页
第4页 / 共34页
[精选]ORACLE数据库管理基础5_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《[精选]ORACLE数据库管理基础5》由会员分享,可在线阅读,更多相关《[精选]ORACLE数据库管理基础5(34页珍藏版)》请在金锄头文库上搜索。

1、使用数据字典和动态性能视图,目标,完成这一课的学习后,您应该能达到下列目标: 了解内置数据库对象 了解数据字典的内容和使用 了解数据字典视图的创建方式 了解数据字典视图的类别 查询数据字典和动态性能视图 了解管理脚本命名约定,数据字典,数据字典是ORACLE数据库的最重要部分之一,它由一组只读的表和视图所组成。它提供如下信息:,ORACLE用户名 特权和角色 模式对象信息 完整性约束 空间分配情况 数据库结构 审计信息,数据字典视图,数据字典视图: USER_XXX:任何用户可访问的视图,给出该用户的所有对象信息。 ALL_XXX:任何用户可访问的视图,给出数据库所有用户的所有对象的基本信息。

2、 DBA_XXX:只有DBA特权的用户可访问的视图,给出数据库的所有详细信息。 V$XXX:记录数据库的动态信息。,数据字典的特点,数据字典的特点: 所有数据字典基表和视图都由SYS用户拥有。 对于ALL_XXX和USER_XXX视图建立公共同义词。 列名对所有视图都一致。 后缀名对所有视图都一致。 USER_XXX类视图无OWNER列。 许多DBA_XXX视图无等价的USER_XXX和ALL_XXX视图。,内置数据库对象,随数据库一起创建的其它对象: 数据字典 性能表 PL/SQL 程序包 数据库事件触发器,内置数据库对象,创建数据库时,除创建数据库文件外,还将创建其它几种结构。 数据字典:

3、包含对数据库中对象的说明 动态性能表:包含由数据库管理员(DBA) 用来监视和优化数据库及例程的信息 PL/SQL 程序包:向数据库添加功能的程序单元。这些程序包在执行CREATE DATABASE 命令之后运行catproc.sql 脚本时创建。PL/SQL 程序包不在本课讨论的范围之内。 数据库事件触发器:触发器是在表或视图发生修改,或执行某些用户操作或数据库系统操作时隐式执行的过程。数据库事件触发器不在本课讨论的范围之内。,数据字典, 每个Oracle 数据库的中心 描述数据库以及数据库对象 包含只读表和视图 存储在SYSTEM 表空间内 由用户SYS 拥有 由Oracle 服务器进行维

4、护 通过SELECT 访问,数据定义语言(DDL):create、alter、drop(创建、修改结构、删除)(其他:rename) 数据操纵语言(DML):insert、delete、select、update(增、删、查、改)(其他:truncate) 数据控制语言(DCL):grant、revoke(授权、回收)、set role 事务控制:commit、rollback、savepoint(其他:lock table、set constraint、set transaction) 审计控制:audit、noaudit 系统控制:alter system 会话控制:alter sessi

5、on 其他语句:comment(添加注释)、explain plan、analyze、validate、call,数据字典,数据字典是Oracle 数据库最重要的部分之一,它是一组只读表和视图,提供有关其相关数据库的信息。 只要执行数据定义语言(DDL) 命令,Oracle 服务器就会更新数据字典。此外,数据操纵语言(DML) 命令(如引起表扩展的命令)也可以更新数据字典。 数据字典不仅是每个Oracle 数据库最重要的部分,它还是所有用户(从最终用户到应用程序设计者以及数据库管理员)的重要信息来源。 要访问数据字典,请使用SQL 语句。因为数据库是只读的,所以只能对数据字典的表和视图发出查询

6、。,基表和数据字典视图,数据字典包含以下两个部分: 基表 存储数据库的说明 使用CREATE DATABASE 命令创建 数据字典视图 用于简化基表信息 通过公共同义词访问 使用catalog.sql 脚本创建,基表和数据字典视图,数据字典包含对数据库中的对象的说明。 它包括两种对象类型。 基表: 基表是存储有关数据库的信息的底层表。基表是在任何Oracle 数据库中首先创建的对象。 在使用CREATE DATABASE 创建数据库时,只要Oracle 服务器运行sql.bsq 脚本,就会自动创建这些对象。只有Oracle 服务器才能对这些基表执行写入操作。用户很少直接访问基表,因为其中的数据

7、大多数都是以隐含格式存储的。切勿使用DML 命令直接更新基表,但AUD$ 表除外。例如,IND$ 表就是一个基表,它包含有关数据库中的索引的信息。 数据字典视图: 数据字典视图是基表的汇总,可以更有效地显示基表信息。例如,在数据字典视图中,除了显示对象编号外还会使用对象名。数据字典视图是在运行CREATE DATABASE 命令之后使用catalog.sql 脚本创建的。,创建数据字典视图,创建数据字典视图,创建数据库时,会自动创建数据字典的基表。使用Oracle Universal Installer 创建数据库时,会自动运行用于创建数据字典和动态性能视图的脚本以及Oracle 服务器选项的

8、脚本。 手动创建新数据库时,需要手动运行这些脚本。此外,将Oracle 服务器升级为新版本时,可能也需要重新运行这些脚本。只有具有SYSDBA 权限的用户SYS 才能运行这些脚本。 以上脚本位于下列目录中: UNIX:$ORACLE_HOME/rdbms/admin NT:%ORACLE_HOME%rdbmsadmin,数据字典内容,数据字典提供有关以下方面的信息: 逻辑数据库结构和物理数据库结构 对象的定义和空间分配 完整性约束 用户 角色 权限 审计,数据字典内容,数据字典包含以下内容: 数据库内所有方案对象的定义,这些对象包括表、视图、索引、簇、同义词、序列、过程、函数、程序包、触发器等

9、等 已为方案对象分配的空间量以及它们当前使用的空间量 列的缺省值 完整性约束信息 Oracle 用户的名称 已授予每个用户的权限和角色 审计信息,如有哪些人访问或更新了各种方案对象,数据字典的使用方式,主要用途: Oracle 服务器使用它来查找有关以下内容的信息: 用户 方案对象 存储结构 执行DDL 语句时,Oracle 服务器会对它进行修改。 用户和DBA 可将它作为数据库相关信息的只读参考,数据字典的使用方式,Oracle 服务器使用数据字典的方式: 数据字典基表中的数据是Oracle 服务器运行所必需的。因此,应该只能由Oracle 服务器来写入或更改数据字典信息。在数据库操作过程中

10、,Oracle 服务器通过读取数据字典来确定方案对象是否存在,以及用户是否对它们具有适当的访问权限。Oracle 服务器还会不断地更新数据字典,及时反映数据库结构方面的变化。 用户和数据库管理员使用数据字典的方式: 数据字典的视图可以作为所有数据库用户的参考。某些视图可由所有Oracle 用户访问;另外一些视图只供数据库管理员使用。,数据字典视图的类别, 三种静态视图集 按范围分类为: DBA:所有方案中的视图 ALL:用户可以访问的视图 USER:用户方案中的视图,数据字典视图的类别,带有DBA 前缀的视图: 带有DBA 前缀的视图显示整个数据库的全局视图。只有数据库管理员才能查询它们。如果

11、用户被授予了系统权限SELECT ANY TABLE,则也可以查询数据字典中前缀为DBA 的视图。 若要查询数据库中的所有对象,DBA 可以发出下列语句: SELECT owner, object_name, object_type FROM dba_objects;,数据字典视图的类别,带有ALL 前缀的视图: 带有ALL 前缀的视图指的是从用户角度看到的完整数据库视图。这些视图返回有关方案对象的信息,除了用户所拥有的方案对象外,还包括那些通过公开或显式授予权限和角色的方式让用户获得访问权限的方案对象。 例如,以下查询返回用户具有访问权限的全部对象的信息: SELECT owner, obj

12、ect_name, object_type FROM all_objects;,数据字典视图的类别,带有USER 前缀的视图: 典型数据库用户最可能感兴趣的视图是带有USER 前缀的视图。 这些视图: 涉及数据库中用户自己独有的环境 通常涉及当前用户所拥有的对象 除OWNER 列暗指当前用户外,具有与其它视图一致的列 返回ALL 视图中信息的子集 为方便起见,可具有缩写的公共同义词 例如,下列查询返回用户方案中包含的所有对象: SELECT owner, object_name, object_type FROM users_objects;,数据字典视图的类别,数据字典视图: 数据字典视图是

13、静态视图,从这些视图中用户可以知道: 是否曾经创建了某个对象? 该对象是什么的一部分? 谁拥有该对象? 用户具有哪些权限? 对该对象有哪些限制? 注:有关全部数据字典视图的列表,请参考Oracle9i Database Reference 文档,数据字典示例, 总览 DICTIONARY, DICT_COLUMNS 方案对象 DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS,DBA_CONSTRAINTS 空间分配 DBA_SEGMENTS, DBA_EXTENTS 数据库结构 DBA_TABLESPACES, DBA_DATA_FILES,数据字典示例,要获取

14、数据字典视图的概览,可以查询DICTIONARY 视图或其同义词DICT 视图。 例如: SELECT * FROM dictionary; 用where 子句来缩小查询范围: SELECT * FROM dictionary WHERE table_name LIKE dba_seg% 要获得视图中各列的列表,请使用DESCRIBE 关键字: DESCRIBE dba_users; 要获得数据字典视图中各列的概览,可以查询DICT_COLUMNS 视图。 要查看数据字典视图的内容,请使用SELECT 命令。 SELECT * FROM dba_users; 注:有关数据字典视图及其中各列的完

15、整列表,请参考“Oracle9i Database Reference”文档,动态性能表, 虚拟表 记录当前的数据库活动 在数据库可操作时不断更新 通过内存和控制文件访问信息 用于监控和优化数据库 由SYS 用户拥有 同义词以V$ 开头 在V$FIXED_TABLE 中列出,动态性能表,在Oracle 服务器的整个操作过程中,它将当前数据库活动记录在称为动态性能视图的一组虚拟表中。只有数据库处于运行状态时,这些虚拟表才驻留在内存中,反映数据库操作的实时状况。它们指向内存和控制文件中的实际信息源。 这些表不是真正的表,大多数用户都无法访问它们;但是数据库管理员可以在这些视图上查询、授予SELEC

16、T 权限并创建视图。这些视图有时称为固定视图,因为数据库管理员无法更改或删除这些视图。 动态性能表由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:列出会话

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号