设为首页 收藏本站
查看: 1106|回复: 0

[经验分享] Oracle数据字典介绍与使用

[复制链接]

尚未签到

发表于 2018-9-12 07:05:43 | 显示全部楼层 |阅读模式
  select * from dictionary;
  --数据字典
  数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的。
  比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。
  数据库数据字典是一组表和视图结构。它们存放在SYSTEM表空间中
  当用户在对数据库中的数据进行操作时遇到困难就可以访问数据字典来查看详细的信息。
  用户可以用SQL语句访问数据库数据字典。
  数据字典内容包括:
  1,数据库中所有模式对象的信息,如表、视图、簇、及索引等。
  2,分配多少空间,当前使用了多少空间等。
  3,列的缺省值。
  4,约束信息的完整性。
  5,Oracle用户的名字。
  6,用户及角色被授予的权限。
  7,用户访问或使用的审计信息。
  8,其它产生的数据库信息。
  Oracle中的数据字典有静态和动态之分。
  1,静态数据字典-->主要是在用户访问数据字典时不会发生改变的,
  --例如某用户创建的表
  2,动态数据字典-->是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。
  --当前锁住的对象
  静态数据字典:这类数据字典主要是由表和视图组成
  数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。
  静态数据字典中的视图分为三类,它们分别由三个前缀够成: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_列出来的信息是当前用户可以访问的对象而不是当前用户拥有的对象。
  --查询某一用户下的所有表、过程、函数等信息。
  select owner , object_name ,object_type from all_objects
  -----------------------------------------------------------------------------------------------------------
  --对于dba_开头的需要管理员权限,
  --查询表空间的信息(当前用户必须拥有DBA角色)。
  select * from dba_data_files
  -----------------------------------------------------------------------------------------------------------
  动态数据字典
  Oracle包含了一些潜在的由系统管理员如SYS维护的表和视图,由于当数据库运行的时候它们会不断进行更新,所以称它们为动态数据字典(或者是动态性能视图)。这些视图提供了关于内存和磁盘的运行情况,所以我们只能对其进行只读访问而不能修改它们。
  Oracle中这些动态性能视图都是以v$开头的视图.
  v$access
  该视图显示数据库中锁定的数据库对象以及访问这些对象的会话对象(session对象)。
  select * from v$access
  v$session
  该视图列出当前会话的详细信息。
  v$active_instance
  该视图主要描述当前数据库下的活动的实例的信息。依然可以使用select语句来观察该信息。
  v$context
  该视图列出当前会话的属性信息。比如命名空间、属性值等


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-573054-1-1.html 上篇帖子: Oracle 10g bigfile表空间、smallfile 表空间 下篇帖子: commit提交,数据库做了什么-oracle
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表