|

-
重要性:
因为数据字典中有用户的信息,我们登录的时候要查询数据字典,有权限信息,我们做操作的时候也要查询数据字典,有约束信息
我们操作数据的时候也要查询数据字典,所以数据字典对于oracle数据库非常重要。
主要了解数据库的一些内建的对象,数据字典的了解和使用,数据字典的view是如何创建,学会查询这些表。
数据字典主要描述数据库和它的对象,包含只读表和视图,这些只读表和视图存储在system表空间中,有oracle server自动
进行维护,普通用户没有权限查看,oralce DBA也只能查看而已。 这些表的是属于sys用户的。只能select访问。
主要学习oralce 的数据字典 和 动态性能表部分
数据字典在oracle中有很重要的作用,是一个提供oralce信息的只读的表,数据字典包含:
一:数据字典包含什么信息
1:数据库中所有schema 对象的定义包括(tables, views, indexes, clusters, synonyms, sequences, procedures, functions, packages, triggers, and so on)
2:schema object对象已经分配了多少空间,当前使用了多少空间
3:存储了数据库结构的物理和逻辑结构时间数据字典会改动呢?
当使用DDL(DATA DEFINE LANGUAGE)语言的时候,ORACLE SERVER会修改数据字典的信息,比如 创建表 ,删除表,添加约束和 索引等。数据字典的owner(所有者)是SYS 用户,其他用户不能修改这个用户的信息,所以安全性很高。
注意:修改和操作数据字典表也许会长期影响数据的操作。所以需慎重。
4:数据的完整性约束信息
5:用户的信息,角色信息,权限信息 以及审计 和 对象空间的分配情况。
数据字典由 表和视图构成,所有数据字典表的表和视图在存储空间由system表空间提供。
数据字典不仅对于数据库很重要,对于用户,dba 等都很重要,只能使用SQL语句访问数据字典,因为数据字典是只读的,只能通过SELECT语句访问这些表和view
二:数据字典的构成:
数据字典主要包含如下两个部分:
1: Base tables 基表
存储数据库的描述,当执行 create database的时候就确定了。创建基表的脚本:sql.bsq 当创建数据库的时候,这个脚本会自动调用创建基表。
这个脚本在 ORACLE_HOME/rdbms/admin下面,有兴趣的可以去看看,我的oracle这个的地址为:
D:\app\topwqp\product\11.1.0\db_1\RDBMS\ADMIN
这些基表的信息比较神秘,一般不要动,即使是DBA一般也不要操作表。
2: data dictionary views(用户可访问的views)
这些视图总结和显示数据字典的base table的信息,这些视图把base table中的信息转化为更直观更需要的信息,
大部分用户是需要访问 views 而不是base table
主要这个views的视图的创建是通过在创建视图后执行catalog.sql脚本生成的数据字典视图,
这个脚本的位置也在:D:\app\topwqp\product\11.1.0\db_1\RDBMS\ADMIN
data dictionary view 是一个静态view 因为改动小,不是不改动,而是改动很少。 |
|