Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2594036
  • 博文数量: 2110
  • 博客积分: 18861
  • 博客等级: 上将
  • 技术积分: 24420
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-05 18:23
文章分类

全部博文(2110)

文章存档

2011年(139)

2010年(1971)

我的朋友

分类: Oracle

2010-05-15 09:26:21

  以下的文章主要是对Oracle数据字典文档的描述,以及在Oracle数据字典的正确应用与实际的相关操作与在实际操作中有哪些的具体操作是值得我们大家注意的,下面就是文章的主要内容描述。

  select * from dictionary; Oracle数据字典

  数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。

  比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。

  数据库Oracle数据字典是一组表和视图结构。它们存放在SYSTEM表空间中

  当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。

  用户可以用SQL语句访问数据库数据字典。

  Oracle数据字典内容包括:

  1,数据库中所有模式对象的信息,如表、视图、簇、及索引等。

  2,分配多少空间,当前使用了多少空间等。

  3,列的缺省值。

  4,约束信息的完整性。

  5,Oracle用户的名字。

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

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

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

  Oracle中的数据字典有静态和动态之分。

  1,静态数据字典>主要是在用户访问数据字典时不会发生改变的,

  例如某用户创建的表

  2,动态数据字典>是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。

  当前锁住的对象

  静态数据字典:这类Oracle数据字典主要是由表和视图组成

  数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。

  静态Oracle数据字典中的视图分为三类,它们分别由三个前缀够成:user_*、 all_*、 dba_*。

  user_*

  该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)

  all_*

  该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)

  dba_*

  该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)

  -

  select * from dictionary;

  查询该用户拥有哪些表

  user_tables主要描述当前用户拥有的所有表的信息,

  主要包括表名、表空间名、簇名等。通过此视图可以清楚了解当前用户可以操作的表有哪些

  desc user_tables;  select table_name from user_tables;  select * from user_tables;

  查询该用户拥有哪些索引

  select index_name from user_indexes; 查询该用户拥有哪些视图

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

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

  select * from user_users;  -

  user_/all_区别:

  all_列出来的信息是当前用户可以访问的对象而不是当前用户拥有的对象。

  查询某一用户下的所有表、过程、函数等信息。上述的相关内容就是对Oracle数据字典文档的部分内容描述,希望会给你带来一些帮助在此方面。

阅读(234) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~