ORACLE数据字典Word文档格式.docx

上传人:b****4 文档编号:7155611 上传时间:2023-05-08 格式:DOCX 页数:9 大小:18.60KB
下载 相关 举报
ORACLE数据字典Word文档格式.docx_第1页
第1页 / 共9页
ORACLE数据字典Word文档格式.docx_第2页
第2页 / 共9页
ORACLE数据字典Word文档格式.docx_第3页
第3页 / 共9页
ORACLE数据字典Word文档格式.docx_第4页
第4页 / 共9页
ORACLE数据字典Word文档格式.docx_第5页
第5页 / 共9页
ORACLE数据字典Word文档格式.docx_第6页
第6页 / 共9页
ORACLE数据字典Word文档格式.docx_第7页
第7页 / 共9页
ORACLE数据字典Word文档格式.docx_第8页
第8页 / 共9页
ORACLE数据字典Word文档格式.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ORACLE数据字典Word文档格式.docx

《ORACLE数据字典Word文档格式.docx》由会员分享,可在线阅读,更多相关《ORACLE数据字典Word文档格式.docx(9页珍藏版)》请在冰点文库上搜索。

ORACLE数据字典Word文档格式.docx

4,约束信息的完整性。

5,Oracle用户的名字。

6,用户及角色被授予的权限。

7,用户访问或使用的审计信息。

8,其它产生的数据库信息。

(二)数据字典分类

数据字典按照存在的形式分为数据字典表和数据字典视图。

2.1数据字典表

数据字典表里的数据是Oracle系统存放的系统数据,而普通表存放的是用户的数据。

为了方便的区别这些表,这些表的名字都是用"

$"

结尾,这些表属于SYS用户。

数据字典表由$ORACLE_HOME/rdbms/admin/sql.bsq脚本创建,这个脚本里又调用了其他的脚本来创建这些数据字典表。

在那些创建脚本里有基表的创建SQL。

这些数据字典表,只有Oracle能够进行读写。

基表是存储有关数据库的信息的底层表。

基表是在任何Oracle数据库中首先创建的对象。

在使用CREATEDATABASE创建数据库时,只要Oracle服务器运行sql.bsq脚本,就会自动创建这些对象。

只有Oracle服务器才能对这些基表执行写入操作。

用户很少直接访问基表,因为其中的数据大多数都是以隐含格式存储的。

切勿使用DML命令直接更新基表,但AUD$表除外。

例如,IND$表就是一个基表,它包含有关数据库中的索引的信息。

SYS用户下的这些数据字典表,存放在system表空间下面,表名都用"

结尾,为了便于用户对数据字典表的查询,Oracle对这些数据字典都分别建立了用户视图,这样即容易记住,还隐藏了数据字典表表之间的关系,Oracle针对这些对象的范围,分别为:

DBA:

所有方案中的视图(可以看到所有数据字典里的信息)

ALL:

用户可以访问的视图(可以看到所有这个用户可以看到的信息)

USER:

用户方案中的视图(仅仅是这个用户拥有的信息)

三者直接的关系:

Oracle为了便于汇总数据字典表的信息,把所有的数据字典都汇集到dictionary表里了,通过对这个表的查询,我们可以很方便的找到数据库提供的数据字典。

SQL>

descdictionary

select*fromdictionarywheretable_name='

USER_TABLES'

;

2.2数据字典视图

数据字典视图是基表的汇总,可以更有效地显示基表信息。

例如,在数据字典视图中,除了显示对象编号外还会使用对象名。

数据字典视图是在运行CREATEDATABASE命令之后使用

脚本:

$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为每个数据字典表的视图头建立了同名字的公共同义词(publicsynonyms).这样简单的处理就省去了写sys.的麻烦。

user_tablespaces:

表空间使用状态

selecttablespace_name,statusfromuser_tablespaces;

user_free_space:

查看用户表空间的剩余空间

selecttablespace_name,sum(bytes)/(1024*1024),sum(blocks)/(1024*1024)

fromuser_free_spacegroupbytablespace_name;

USER-TS-QUOTAS:

可以查看该用户的表空间的份额

dba_data_files:

数据文件数据字典

setline60

selectfile_namefromdba_data_files;

2.2.1.1用户

user_users:

主要描述当前用户的信息,主要包括当前用户名、帐户id、帐户状态、缺省表空间、创建时间等。

colUSERNAMEfora10

colDEFAULT_TABLESPACEfora15

selectusername,default_tablespace,createdfromuser_users;

user_role_privs:

查看当前用户的角色。

SELECT*FROMuser_role_privs;

比如下面是SYS的角色

select*fromuser_role_privs;

部分截图

user_sys_privs:

查看当前用户的系统权限和表级权限

SELECT*FROMuser_sys_privs;

下面是SYS用户的系统权限和表级权限

select*fromuser_sys_privs;

USER_TAB_PRIVS:

查看被授予者、授予者或对象所有者的权限,可以查询USER_TAB_PRIVS视图(用户表权限)。

除了Grantee列、Grantor列和Owner列外,此视图所包含的列还有Table_Name、Hierarchy、Privilege和一个标志(设置为YES或NO),该标志用来指出权限是否可以用withadminoption(Grantable)授予。

colGRANTEEfora10

colOWNERfora10

colTABLE_NAMEfora15

colGRANTORfora10

colPRIVILEGEfora30

select*fromuser_tab_privs;

以下是scott用户的表权限(被授予者、授予者或对象所有者的权限)

USER-TAB-PRIVS-RECD:

可以查看该用户能访问其它用户的表、视图等的对象权限

colPRIVILEGEfora20

select*fromuser_tab_privs_recd;

USER-TAB-PRIVS-MADE:

可以查看该用户授予其它用户的表、视图等的对象权限

select*fromuser_tab_privs_made;

2.2.1.2表

user_tables:

主要描述当前用户拥有的所有表的信息,主要包括表名、表空间名、簇名等。

通过此视图可以清楚了解当前用户可以操作的表有哪些。

selecttable_name,tablespace_namefromuser_tables;

查看放在ORACLE的内存区里的表

SELECTtable_name,cacheFROMuser_tablesWHEREINSTR(cache,'

Y'

)>

0;

User_tab:

查看用户有哪些对象。

select*fromtab;

查看名称包含log字符的表

SELECTobject_name,object_idFROMuser_objectsWHEREINSTR(object_name,'

LOG'

查看某表的创建时间

user_objects:

查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、序列、JAVA文件等

SELECTobject_name,createdFROMuser_objectsWHEREobject_name=UPPER('

&

table_name'

);

查询该用户拥有哪些数据库对象,对象包括表、视图、存储过程、触发器、包、索引、序列、JAVA文件等。

colOBJECT_NAMEfora30

selectobject_namefromuser_objects;

all_objects:

查询某一用户下的所有表、过程、函数等信息。

selectowner,object_name,object_typefromall_objectswhereowner='

SCOTT'

继续阅读

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2