当前位置:  数据库>oracle

Oracle常用数据字典介绍

    来源: 互联网  发布时间:2017-06-09

    本文导语: 数据字典是Oracle存放有关数据库对象信息的一组表和视图结构,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。它们由脚本$oracle_home/rdbms/admin/catalog.sql创建,存放在...

数据字典是Oracle存放有关数据库对象信息的一组表和视图结构,其用途是用来描述数据的。比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等。它们由脚本$oracle_home/rdbms/admin/catalog.sql创建,存放在SYSTEM表空间中。

Oracle中的数据字典有静态和动态之分。 静态数据字典主要是由表和视图组成,是在用户访问数据字典时不会发生改变的。数据字典中的表是不能直接被访问的,但是可以访问数据字典中的视图。

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

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

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

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

--------------------------------------分割线 --------------------------------------

Oracle数据字典一致性鉴别

Oracle 字典和动态视图

管理Oracle时常用的数据字典和动态性能视图

Oracle自定义函数查询数据字典项

复用Oracle数据字典解析出SQL语句中用到的所有表

在CentOS 6.4下安装Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虚拟机中安装步骤

Debian 下 安装 Oracle 11g XE R2

--------------------------------------分割线 --------------------------------------

常用的静态数据字典视图有:

1、用户(user_users,user_sys_privs)

查看当前用户的缺省表空间

SQL>select username,default_tablespace from user_users;

查看当前用户的角色

SQL>select * from user_role_privs;

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

SQL>select * from user_sys_privs;

SQL>select * from user_tab_privs;

显示指定用户所具有的系统权限

SQL>select * from dba_sys_privs where grantee='GAME';

2、表(user_tables)

查看用户下所有的表

SQL>select table_name,tablespace_name from user_tables;

查看名称包含REG字符的表

SQL>select object_name,object_id from user_objects where instr(object_name,'REG')>0;

查看某表的大小

SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('table_name');

3、索引(user_indexes)

查看索引个数和类别

SQL>select index_name,index_type,table_name from user_indexes order by table_name;

查看索引被索引的字段

SQL>select * from user_ind_columns where index_name=upper('index_name');

查看索引的大小

SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('index_name');

4、视图(user_views)

查看视图的名称

SQL>select view_name from user_views;

查看创建视图的select语句

SQL>set view_name,text_length from user_views;

SQL>set long 2000;

说明:可以根据视图的text_length值设定set long 的大小

SQL>select text from user_views where view_name=upper('view_name');

5、约束条件(user_constraints)

查看某表的约束条件

SQL>select constraint_name, constraint_type,search_condition, table_name from user_constraints

where table_name = upper('table_name');

SQL>select c.constraint_name,c.constraint_type,cc.column_name

from user_constraints c,user_cons_columns cc

where c.owner = upper('table_owner') and c.table_name = upper('table_name')

and c.owner = cc.owner and c.constraint_name = cc.constraint_name

order by cc.position;

6、存储函数和过程(user_objects )

查看函数和过程的状态

SQL>select object_name,status from user_objects where object_type='FUNCTION';

SQL>select object_name,status from user_objects where object_type='PROCEDURE';

查看函数和过程的源代码

SQL>select text from all_source where owner=user and name=upper('plsql_name');

7、表空间(dba_free_space 、dba_data_files)

查看表空间的使用情况

SQL>select a.tablespace_name "表空间名称",

100-round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "占用率(%)",

round(a.bytes_alloc/1024/1024,2) "容量(M)",

round(nvl(b.bytes_free,0)/1024/1024,2) "空闲(M)",

round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "使用(M)",

to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') "采样时间"

from  (

select f.tablespace_name, sum(f.bytes) bytes_alloc, sum(decode(f.autoextensible,'YES',f.maxbytes,'NO',f.bytes)) maxbytes

from dba_data_files f

group by tablespace_name

) a,

(select  f.tablespace_name,sum(f.bytes) bytes_free

from dba_free_space f

group by tablespace_name

) b,

where a.tablespace_name = b.tablespace_name;

查看表空间物理文件的名称及大小

SQL>select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space

from dba_data_files

order by tablespace_name;

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

更多详情见请继续阅读下一页的精彩内容:


    
 
 

您可能感兴趣的文章:

  • Oracle 数据字典文档
  • Oracle的数据字典技术简析
  • Oracle数据字典表Truncate掉导致数据库不可用及对策
  • 四大方面详细介绍 Oracle 的数据字典
  • Oracle数据字典的学习总结
  • ORACLE数据库常用字段数据类型介绍
  • Oracle 10G for Linux常用命令
  • oracle 常用的几个SQL
  • Oracle 常用的SQL语句
  • Oracle 分页和排序常用的4条查询语句
  • Oracle的几个常用命令
  • [Oracle] 常用工具集之SQL*Loader的用法
  • oracle的归档模式 ORACLE数据库归档日志常用命令
  • Oracle入侵常用操作命令整理
  • Oracle的SQLPLUS常用命令
  • 整理汇总Oracle常用命令 方便你我他
  • DB2常用函数与Oracle比较
  • 关于Oracle一些常用脚本的汇总
  • oracle创建表的方法和一些常用命令
  • Oracle数据库基本常用命令汇总
  • oracle表空单清理常用代码段整理
  • oracle常用sql语句
  • Oracle常用dump命令,记录一下备查。
  • ORACLE 常用的SQL语法和数据对象
  • oracle 11g RAC 常用命令整理分享
  • oracle sqlplus 常用命令大全
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • oracle数据库导出和oracle导入数据的二种方法(oracle导入导出数据)
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • Oracle 数据库开发工具 Oracle SQL Developer
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • 怎样调出ORACLE数据库中的数据,该如何连接?
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • 关于JDBC连接Oracle数据库,是否必须有Oracle客户端
  • Oracle EBS R12 支持 Oracle Database 11g iis7站长之家
  • win2000+jbuilder6+oracle817编出的程序,在win2000下执行很好,在win98下却访问不了oracle数据库
  • jsp文件上传smartupload到oracle数据库中没有longblob的数据类型如何处理的?
  • 将Oracle 8i数据成功移植Oracle 10g的方法
  • Oracle收购TimesTen 提高数据库软件性能
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?
  • Oracle数据库恢复后心得
  • 紧急求救:对Oracle数据库中long 型数据进行模糊查询 如何查?
  • Linux下Oracle数据库,dbstart持续不动,数据库无法启动解决
  • 卸载oracle数据库
  • 紧急求救:jsp对Oracle数据库中long 型数据进行模糊查询 如何查?
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle 10g和Oracle 11g网格技术介绍
  • Oracle EBS R12 支持 Oracle Database 11g
  • ORACLE日期相关操作
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,