文档详情

跟我学Oracle数据库系统管理和实现——Oracle 系统中的数据字典应用技术及应用实例.pdf

发布:2018-03-24约4.92千字共22页下载文档
文本预览下载声明
Oracle 系统中的数据字典(Data Dictionary ) 应用技术及应用实例 1、什么是Oracle 数据库系统中的数据字典 (1)数据字典就是一组只读的、加密的数据库表和视图 (2)在数据字典中存有用户信息、用户的权限信息、所有数据 对象信息、数据库表的约束条件、统计分析数据库的视图等诸如 数据库结构、数据库对象空间分配和数据库用户等等有关数据库 方面的信息。 2、数据字典名称采用大写的英文字符命名 它不仅随着数据库的产生而产生,也随着数据库的变化而变 化。 3、什么时候需要应用数据字典 (1)当用户在对数据库中的数据进行操作时,如果遇到困难 就可以通过访问数据字典来查看相关详细的信息。 (2)另外,运用好数据字典技术,可以让数据库开发人员能 够更好地了解数据库的全貌。 从而有助于对数据库的优化、管理,为改善数据库性能提 供一定的依据。 4、为什么要提供数据字典 (1)由于数据库其实是数据的集合,数据库系统维护和管理用 户的各种数据,那么存储这些用户数据的数据库表都存在数据 库什么地方?用户的数据信息是怎样的?存储这些用户数据的 路径在哪里? (2)但由于这些信息本身并不属于用户所需要的信息,却是数 据库维护和管理用户数据的核心信息,而这些重要的核心信息 都是由数据库的数据字典来维护。 (3)数据库的数 据字典汇集和存 储这些数据库系 统在运行时所需 要的各种基础信 息。 5、Oracle系统中的数据字典有静态和动态之分 静态数据字典主要是在用户访问数据字典时不会发生改变 的,但动态数据字典是依赖数据库运行的状况和性能的,它反 映数据库运行的一些内在的信息,所以在访问这类数据字典时 往往不是一成不变的。 6、Oracle系统专门使用System表空间存放数据字典信息 (1)数据字典表是存在System表空间中、并由Oracle系统维 护和管理 1)当执行DDL语句时,Oracle 系统会修改数据字典。 2)正因为Oracle专门使用System表空间存放数据字典的相 关信息,所以不建议在System表空间上直接建立数据库 表、索引和簇等对象。 3)也就是说,在SYSTEM表空间中,用户不要在这里进行 任何的修改动作——比如不要添加或者删除对象。主要的目的 是防止一不小心,对其进行了不可恢复的操作。 (2)用户和DBA只能查询数据字典取得数据库信息 可以通过select语句查询数据字典而获取与数据库相关的 信息,数据字典的拥有者为Sys (在Oracle系统中,只有SYS用 户才是数据字典的拥有者)。 7、在Oracle系统中使用数据字典可以查找的相关信息 (1)用户、列和约束等信息 (2)方案对象定义信息 (3)存储结构及对象占用空间大小 8、静态数据字典包括有3类主要的视图 (1)静态数据字典中的数据库表是不能直接被访问的,而需要 通过与它们相对应的各个视图来访问 1)为了便于用户对数据字典表的查询,并且不需要用户记 忆复杂的数据字典所对应的数据库表名称,Oracle系统对 这些数据字典的数据库表都分别建立了用户视图。 2)通过视图,不仅可以采用更容易接受的可读性好的名字 进行查询,还隐藏了数据字典数据库表之间的复杂关系。 (2)静态数据字典中的视图分为三类 Oracle数据库系统将数据字典分为三类不同级别,它们分 别由三个不同的前缀构成,这三类视图除了拥有和查看的权限 不同之外,但它们的结构却是一致的。 9、静态数据字典中的三类视图 (1)user_* 该视图存储了关于当前用户所拥有的各个对象的信息,也即 所有在该用户模式下的对象——当前登录的用户只能够看到与自 己账户相关的系统信息。 (2)all_* 该视图存储了当前用户能够访问的各个对象的信息,但与 user_*相比,all_*并不需要拥有该对象,而只需要具有访问该 对象的权限即可访问。 (3)dba_* 该视图存储了数据库中所有对象的信息,但前提是当前用户 具有管理员的权限 10、为什么要将静态数据字典中的视图分为三类 (1)若数据字典中的这些信息被非法用户获取的话,就可能给 数据库带来不利的影响。 所以,为了加强这些数据字典视图的权限控制,Oracle数据 库系统提供了一套分
显示全部
相似文档