ORACLE数据字典
更新时间:2023-10-06 08:13:01 阅读量: 综合文库 文档下载
ORACLE数据字典
(一)数据字典概念
Oracle数据字典是由表和视图组成,存储有关数据库结构信息的一些数据库对象。数据字典描述了实际数据是如何组织的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改。它们存放在SYSTEM表空间中,当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。数据字典不仅是数据库的核心,还是所有用户的一个重要工具,包括终端用户、程序员和数据库管理员。因为数据字典的只读性,我们只能对它的表或视图使用SQL查询语句。
Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。 数据字典内容包括:
1,数据库中所有模式对象的信息,如表、视图、簇、索引、集群、同义词、序列、过程、方法、包、触发器等。
2,分配多少空间,当前使用了多少空间等。 3,列的缺省值。
4,约束信息的完整性。 5,Oracle用户的名字。
6,用户及角色被授予的权限。 7,用户访问或使用的审计信息。 8,其它产生的数据库信息。
(二)数据字典分类
数据字典按照存在的形式分为数据字典表和数据字典视图。
2.1数据字典表
数据字典表里的数据是Oracle系统存放的系统数据,而普通表存放的是用户的数据。为了方便的区别这些表,这些表的名字都是用\结尾,这些表属于SYS用户。
数据字典表由$ORACLE_HOME/rdbms/admin/sql.bsq 脚本创建, 这个脚本里又调用了其他的脚本来创建这些数据字典表。 在那些创建脚本里有基表的创建SQL。这些数据字典表,只有Oracle 能够进行读写。基表是存储有关数据库的信息的底层表。基表是在任何 Oracle 数据库中首先创建的对象。在使用 CREATE DATABASE 创建数据库时,只要 Oracle 服务器运行 sql.bsq 脚本,就会自动创建这些对象。只有 Oracle 服务器才能对这些基表执行写入操作。用户很少直接访问基表,因为其中的数据大多数都是以隐含格式存储的。切勿使用 DML 命令直接更新基表,但 AUD$ 表除外。例如,IND$ 表就是一个基表,它包含有关数据
库中的索引的信息。
SYS用户下的这些数据字典表,存放在system 表空间下面,表名都用\结尾,为了便于用户对数据字典表的查询, Oracle对这些数据字典都分别建立了用户视图,这样即容易记住,还隐藏了数据字典表表之间的关系,Oracle针对这些对象的范围,分别为: DBA:所有方案中的视图(可以看到所有数据字典里的信息)
ALL:用户可以访问的视图(可以看到所有这个用户可以看到的信息) USER:用户方案中的视图(仅仅是这个用户拥有的信息) 三者直接的关系:
Oracle为了便于汇总数据字典表的信息,把所有的数据字典都汇集到dictionary表里了,通过对这个表的查询,我们可以很方便的找到数据库提供的数据字典。 SQL> desc dictionary
SQL> select * from dictionary where table_name='USER_TABLES';
2.2数据字典视图
数据字典视图是基表的汇总,可以更有效地显示基表信息。例如,在数据字典视图中,除了显示对象编号外还会使用对象名。数据字典视图是在运行 CREATE DATABASE 命令之后使用 脚本:$ORACLE_HOME/rdbms/admin/catalog.sql 创建,该脚本也只是一个总的调用,在该脚本里由调用了其他的脚本。在那些脚本里,可以看到视图的创建SQL。
这是因为这个脚本会创建动态视图,所以在做DB升级的时候,也需要执行这个脚本,重新创建视图。
数据字典视图分2类:静态数据字典(静态性能视图)和动态数据字典(动态性能视图)
2.2.1静态性能视图
静态性能视图也称为静态数据字典。主要是在用户访问数据字典时不会发生改变的,这类数据字典主要是由表和视图组成。数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。
静态数据字典中的视图分为三类,它们分别由三个前缀够成:user_xxx、 all_xxx、 dba_xxx。 USER_XXX:该视图存储了当前用户所拥有的对象的信息。(即所有在该用户模式下的对象) ALL_XXX:该试图存储了当前用户能够访问的对象的信息, 而不是当前用户拥有的对象。(与user_xxx相比,all_xxx 并不需要拥有该对象,只需要具有访问该对象的权限即可) DBA_XXX:该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)
这些视图由SYS用户创建的,所以使用需要加上SYS,为了方便,Oracle为每个数据字典表的视图头建立了同名字的公共同义词(public synonyms). 这样简单的处理就省去了写sys.的麻烦。
user_tablespaces:表空间使用状态
SQL> select tablespace_name,status from user_tablespaces;
user_free_space:查看用户表空间的剩余空间
SQL> select tablespace_name,sum(bytes)/(1024*1024),sum(blocks)/(1024*1024) 2 from user_free_space group by tablespace_name;
USER-TS-QUOTAS:可以查看该用户的表空间的份额
dba_data_files:数据文件数据字典 SQL> set line 60
SQL> select file_name from dba_data_files;
2.2.1.1用户
user_users:主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、缺省表空间、创建时间等。
SQL> col USERNAME for a10
SQL> col DEFAULT_TABLESPACE for a15
SQL> select username,default_tablespace,created from user_users;
user_role_privs:查看当前用户的角色。 SQL>SELECT * FROM user_role_privs;
比如下面是SYS的角色
SQL> select * from user_role_privs;部分截图
user_sys_privs:查看当前用户的系统权限和表级权限 SQL>SELECT * FROM user_sys_privs;
user_sys_privs:下面是SYS用户的系统权限和表级权限 SQL> select * from user_sys_privs;部分截图
正在阅读:
ORACLE数据字典10-06
基于虚拟机的实时文件保护机制研究08-27
离散数学第10章习题答案10-20
作文复习导图(1)01-15
2017年高中会考成绩查询02-15
公英制管螺纹对照表08-08
十八项医疗核心制度考试题及答案03-13
0048 经济法概论 - 图文05-04
- 小学生造句大全
- 增压泵投资项目可行性研究报告(模板)
- 高中语文人教版粤教版必修1-5全部文言文知识点归纳
- 两学一做专题民主生活会组织生活会批评与自我批评环节个人发言提
- 管理处环境保洁工作操作标准作业指导书
- 2012六一儿童节活动议程 - 图文
- 移树申请报告
- 《贵州省市政工程计价定额》2016定额说明及计算规则
- 计算机长期没有向WSUS报告状态
- 汉语拼音教学策略研究
- 发展西部领先的航空货运枢纽
- 司法所上半年工作总结4篇
- 如何提高银行服务水平
- 发电厂各级人员岗位职责
- 丰田汽车的外部环境分析
- 2017—2018年最新冀教版四年级数学下册《混合运算》教案精品优质
- 中建八局样板策划 - 图文
- 戚安邦《项目管理学》电子书
- 2015年高级项目经理笔记
- 弯桥的设计要点
- 字典
- 数据
- ORACLE
- 江苏科技大学新校区详细规划方案征集文件 - 图文
- 2015-2020年中国棕榈壳活性炭行业监测及投资机遇研究报告 - 图文
- 海洋平台压力容器检验的常见问题及检验方法
- 国企“三供一业”分离移交对国企的相关意义-精选文档
- 说课比赛
- 隔震方面需要用到的文字资料
- 东南大学传热学历年考研真题(全)
- 基于51单片机的温度控制系统设计 - 图文
- 工程经济学复习题及参考答案打印版
- 基于Matlab的由双馈风力发电机组成的风电场仿真
- 内镜诊疗科岗位竞聘演讲稿范文
- 国际商务礼仪大作业剧本
- 南理工eda2实验报告
- 高速公路收费站员工培训总结
- Lecture 2
- XX年幼儿园保健医生年终总结
- 党支部工作手册
- 广东省高明实验中学高中语文粤教版选修传记选读学案:在哈金森工厂 精品
- 七年级下学期3月份阶段检测外研版新m1-m4
- 关于《魔兽世界》用户数据分析