oracle数据字典,oracle字典

一、数据字典

数据字典是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询。数据字典是oracle数据库系统的信息核心,它是一组提供有关数据库信息的表和视图的集合,这些表和视图是只读的。它是随着数据库的建立而建立的,当数据库执行特定动作时数据字典也会自动更新。数据一览与数据字典来记录、校验和管理正在进行的操作。

oracle中、sys用户是数据字典的拥有者,数据字典保证在所有数据库的系统表空间system内,任何用户都无权更改sys模式下的模式对象或数据字典中的行。也就是说数据字典只能查询,不能手动进行修改。

数据字典用途

oracle通过存取数据字典从而比较方便地获取有关用户某事对象和存储结构等信息。当系统执行了DDL语句后,oracle会及时修改数据字典。任何用户只能以读的形式使用数据字典获取数据库信息。

数据字典存储的信息

数据用户的名称

为用户授予的权限和角色

模式对象的名称,如 tables,views,indexex,procedures,functions,packages,triggers等。

完整性约束的具体信息;

每个字段的默认值;

数据库空间的使用情况;

审计功能,在Oracle_Home\productdb_l\rdbms\admin目录下的文件cataudit.sql就是用于为审计创建数据字典视图的脚步。

对象与用户的严格管理(适用于高度机密管理);

其他一般数据库信息。

三种前缀的数据字典视图

user_ :任何用户都可以读取的视图,每个用户读取的都不一样,它只提供当前用户某事下的对象信息。如查询当前模式下的所有对象select object_name, object_type from user_objects;

all_ :所有用户都可读取的用户视图,它提供与用户有关的对象信息。如查询当前用户可访问的所有对象

select owner, object_name, object_type from all_objects;

dba_:提供了只有数据库管理员才可读取的视图,包括所有用户视图中的对象信息。如select owner, object_name, object_type from sys.dba_objects;

二、数据字典相关查询

1、 查询用户

select username from dba_users; --只有管理员权限的用户才能查询

select username from all_users; --当前或任何用户都可使用

--查看当前用户的默认表空间

select username, default_tablespace fromuser_users;--当前用户角色

select * fromuser_role_privs;--当前用户的系统权限和表级权限

select * fromuser_sys_privs;select * from user_tab_privs;

2、查询 表空间 (拥有DBA权限的用户才能查询)

select * fromdba_data_files;select * from dba_tablespaces; --表空间

select tablespace_name, sum(bytes), sum(blocks) from dba_free_space group by tablespace_name; --空闲表空间

select * from dba_data_files where tablespace_name='USERS'; --表空间对于的数据文件

select * from dba_segments where tablespace_name='USERS';--查询用户模式对象所使用过的正在使用空间大小

select name, type, source_size, code_size from user_object_size;

3、查询数据库对象(拥有DBA权限的用户才能查询)

select * fromdba_objectsselect * from dba_objects where object_type = upper('package body');select * from dba_objects where OBJECT_TYPE='TABLE' and OWNER='SCOTT'

可根据拥有者查询下列对象类型(object_type)

cluster    databaselink

function  index

library  package

package body  procedure

sequence  synonym

table  trigger

type  undefined

view

4、查询表

--表使用的extent的信息。segment_type='ROLLBACK'

select * fromdba_tables;select extent_id, bytes from dba_extents where segment_name='CUSTOMERS' and segment_type='TABLE' order byextent_id;--查看回滚段的空间分配信息列信息 SELECT * FROM user_tab_columns;

select distinct table_name from user_tab_columns where column_name='ID';--查看当前用户下所有的表

select * fromuser_tables;--查看名称包含log字符的表

select object_name, object_id from user_objects where instr(object_name, 'LOG') > 0;--查看某表的创建时间

select object_name, created from user_objects where object_name = upper('&table_name');--查看某表的大小

select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name = upper('&table_name');--查看放在oracle的内存的表

select table_name, cache from user_tables where instr(cache, 'Y') > 0;

5、查询索引

select * from dba_indexes; --索引,包括主键索引

select * fromall_indexes;select * from dba_ind_columns; --索引列

select i.index_name, i.uniqueness, c.column_name from user_indexes i, user_ind_columns c where i.index_name=c.index_name and i.table_name = 'PERSON'; --连接使用

--查看索引个数和类别

select index_name, index_type, table_name from user_indexes order bytable_name;--查看索引被索引的字段

select * from user_ind_columns where index_name=upper('&index_name');--查看索引的大小

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

6、查询序列

select * fromdba_sequences;select * fromall_sequences;

查看序列号,last_number是当前值select * from user_sequences;

7、查询视图

select * fromdba_views;select * from all_views;

可用目录desc all_views;来查看视图结构

其中,Text列可用于查询视图生产的脚本。

--查询当前用户视图的名称

select view_name fromuser_views;--查询创建视图的select语句

select view_name, text_length fromuser_views;set long 2000;--可以根据视图的text_length 值设定set long的大小

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

8、查询聚簇

select * from dba_clusters;

9、查询快照

select * from dba_snapshots;

快照、分区应存在相对应的表空间

10、查询同义词

select * from dba_synonyms where table_owner='SCOTT';select * from ALL_synonyms where table_owner='SYSTEM';

如果用户表可以被访问,那么同义词也可以被访问,用户表不能被访问,则同义词也不能被访问。

11、查询数据库链

select * from dba_db_links;

12、查询触发器(12)

select * from dba_triggers;

存储过程,函数从dba_objects查找

查询文本select text from user_source where name = 'PRO_PERSON_FINDBYID';

oracle总是将存储过程,函数放在system表空间。

13、查看函数和过程的状态

select object_name, status from user_objects where object_type='FUNCTION';select object_name, status from user_objects where object_type='PROCEDURE';--查看源代码

select * from all_source where owner='WUXX' and name=upper('&plsql_name');

14、查询约束

约束是和表关联的,可以在create table或alter table table_name add/drop/modify 来建立、修改、删除约束。

可以临时禁止约束,如:

alter table book_example

disable constraint book_example_l;

数据完整性约束

select constraint_name, constraint_type, table_name from dba_constraints;

15、查询回滚段

在所有的修改结果存入磁盘前,回滚段中保持恢复该事务所需的全部信息,必须以数据库发送的事务来相应确定其大小。(DML语句才可回滚,create, drop, truncate等DDL不能回滚)

回滚段数量=并发事务/4,但不能超过50个;是每个回滚段大小足够处理一个完整的事物;

create rollbacksegment r05 tablespace rbs;create rollback segment rbs_cvt tablespace rbs storage(initial 1M next 500k);

16、查询作业

select job, broken, next_date, interval, what fromuser_jobs;select job, broken, next_date, interval, what fromdba_jobs;--正在运行的作业

select * from dba_jobs_running;

使用包exec dbms_job.sumit(:v_num, 'a;', sysdate, 'sysdate +(10/(24*60*60))');加入作业。间隔10秒

使用包exec dbms_job.sumit(:v_num, 'a;', sysdate, 'sysdate +(10/(24*60))');加入作业。间隔11分

使用表exec dbms_job.remove(21)删除21号作业。

其他信息查询

查询优化模式对象使用过的或正在使用的空间大小

select name, type, source_size, code_size from user_object_size;

查询字段的默认值

select table_name, column_name, data_default, low_value, hight_value from dba_tab_columns;

oracle 怎导出数据字典

-- 查询某表的数据字典SELECT A.TABLE_NAME AS 表名,A.COLUMN_NAME AS 字段名,DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_TYPE||'('||A.DATA_PRECISION||','||A.DATA_SCALE||')'),A.DATA_TYPE||'('||A.CHAR_LENGTH||')') as 字段类型1,A.DATA_TYPE AS 字段类型,A.DATA_PRECISION AS 有效位,A.DATA_SCALE AS 精度值,A.CHAR_LENGTH AS 字段长度,A.NULLABLE AS 能否为空FROM sys.user_tab_columns A where A.table_name = 'TAM_ADDRESS'-- 具有dba权限用户导出数据字典SELECT A.TABLE_NAME AS 表名,A.COLUMN_NAME AS 字段名,DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_TYPE||'('||A.DATA_PRECISION||','||A.DATA_SCALE||')'),A.DATA_TYPE||'('||A.CHAR_LENGTH||')') as 字段类型,A.DATA_DEFAULT AS 默认值,A.NULLABLE AS 能否为空,B.comments AS 备注FROM sys.all_tab_columns A,sys.DBA_COL_COMMENTS BWHERE A.owner=B.owner AND A.table_name=B.table_name AND A.COLUMN_NAME=B.COLUMN_NAME AND A.owner='guoqiang' ANDA.TABLE_NAME IN ('TB_SUBJECT', 'TB_SUBJECT_BALANCE', 'TB_VOUCHER', 'TB_VOUCHER_DETAILS','TB_CUSTOMER', 'TB_VOUCHER_CLASSIFY_MODE', 'TB_VOUCHER_TYPE', 'TB_ASSET','TB_ASSET_CATALOG', 'TB_M_DM_ASSETS_LIABI_RPT', 'TB_M_DM_PROFIT_RPT','TB_M_DM_REVENUE_RPT', 'TB_M_DM_COST_RPT')ORDER BY A.TABLE_NAMESELECT A.TABLE_NAME AS 表名,A.COLUMN_NAME AS 字段名,DECODE(A.CHAR_LENGTH,0,DECODE(A.DATA_SCALE,NULL,A.DATA_TYPE,A.DATA_TYPE||'('||A.DATA_PRECISION......余下全文>>

oracle数据字典有中文文档?

数据字典表 是内部机密的。连英文的都没有。 如果你只是想查动态视图,可以去 www.oracle.com/pls/db102/homepage

但是木有中文。。。

http://www.dengb.com/oracle/894668.htmlwww.dengb.comtruehttp://www.dengb.com/oracle/894668.htmlTechArticleoracle数据字典,oracle字典 一、数据字典 数据字典是oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进...

oracle通过数据字典查看序列,oracle数据字典,oracle字典相关推荐

  1. oracle查看序列数据语法,oracle查询各种数据字典的语法

    ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化,体现为sys用户下的一些表和视图.数据字典名称是大写的英文字符. 数据字典里存有用户信息.用户的权 ...

  2. oracle两表链接序列跳序,Oracle学习之 序列(Sequence)

    Oracle学习之 序列(Sequence) [Oracle学习]之 序列(Sequence) oracle文档:https://docs.oracle.com/cd/B28359_01/server ...

  3. Oracle中的数据字典技术及常用数据字典总结

    一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一个表的创建者信息,创建时间信息,所属表空间信息,用户访问权限信息等.当用户在对数据库中的数据进行 ...

  4. oracle中的all_objects,【视图】oracle 数据字典视图之 DBA_OBJECTS / ALL_OBJECTS / USER_OBJECTS(OBJ)...

    1. DBA_OBJECTS / ALL_OBJECTS / USER_OBJECTS(OBJ)视图是非常非常常用的数据视图,可以获得数据库中任意的对象sys@ora10g> desc dba_ ...

  5. 在oracle中创建一个序列,Oracle(创建序列)

    概念: 所谓序列,在oracle中就是一个对象,这个对象用来提供一个有序的数据列,这个有序的数据列的值都不重复. 1.序列可以自动生成唯一值 2.是一个可以被共享的对象 3.典型的用来生成主键值的一个 ...

  6. Oracle数据库中的序列、索引和同义词,详细笔记。

    文章目录 数据库中的序列.索引和同义词 1. 序列 1.1 什么是序列 1.2 创建序列 1.2.1 通过DDL语句创建序列 1.2.2 使用工具创建序列 1.3 使用序列 1.3.1 查询序列 1. ...

  7. Oracle 字符集的查看和修改

    一.什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号集合,有大小之分,有相互的包容关系.ORACLE支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据.它使数据库工 ...

  8. Oracle字符集的查看查询和Oracle字符集的设置修改

    本文主要讨论以下几个部分:如何查看查询oracle字符集. 修改设置字符集以及常见的oracle utf8字符集和oracle exp 字符集问题. 一.什么是Oracle字符集 Oracle字符集是 ...

  9. oracle序列创建及使用,Oracle创建和使用序列

    Oracle创建和使用序列 1 语法 create sequence 序列名称 2 创建序列 SQL> create sequence emp_seq; Sequence created. 序列 ...

最新文章

  1. 安卓2.2都有哪些键盘快捷指令?
  2. 计蒜客NOIP模拟D1T2
  3. 异构图-GTN(Graph Transformer Networks)
  4. iTunes 降级安装 12.6
  5. 谷歌微软高通反对英伟达收购ARM 值得国人深思
  6. Android Serach框架使详解
  7. 数据建模 - 概念模型,逻辑模型,物理模型 的区别以及建模方式
  8. 在excel里插入图表_如何在Excel中锁定图表的位置
  9. 故障恢复控制台命令全攻略
  10. SELECT FOR ALL ENTRIES IN 通过配置优化速度
  11. 亲试:darknet_yolov3批量测试图片并保存在自定义文件夹下与图片视频相互转换
  12. miui11升级鸿蒙,MIUI11新版本推送 GPU驱动更新 小米10 Pro跑分轻松突破60万
  13. 基于矩阵分解的协同过滤推荐
  14. js正则表达式实现千分位符
  15. Latex悬挂缩进——整段缩进or列表符号不缩进,段落缩进
  16. es文件浏览器 正在增加服务器,es文件浏览器出现错误,es文件浏览器无法找到服务器怎么解决?...
  17. 第二篇,仿微信的语音电话,视频聊天IM聊天APP开发源码
  18. eclipse 安装反编译工具
  19. python qq空间 上传_Python 爬虫监控女神的QQ空间新的说说,实现秒赞,并发送说说内容到你的邮箱...
  20. 对wifi辐射的重新解读

热门文章

  1. 狗狗变形记:任选4点的投影变换warpPerspective OpenCV-Python案例
  2. 分布式锁的简介与作用
  3. 串的基本操作及统计字符频度-数据结构类C语言
  4. Visio画UML类图
  5. 浏览器下载文件,读取BLOB字段会因为数据太大导致数据库连接connect超时关闭的解决方案...
  6. 公众号文章排版样式——隐藏样式
  7. 景深决定照相机什么特性_2018年自考《摄影基础》复习试题及答案
  8. Excel 将文本格式快速转换为数值格式
  9. 可调整计算机软硬件配置的应用程序,在Windows中,可以调整计算机软硬件配置的应用程序是()...
  10. 【PowerQuery】Excel 自动刷新PowerQuery连接