Oracle数据字典介绍与使用

合集下载

ORACLE数据字典

ORACLE数据字典

ORACLE数据字典(一)数据字典概念Oracle数据字典由表和视图组成,其中存储了一些与数据库结构信息相关的数据库对象。

数据字典描述了实际数据的组织方式。

例如,表的创建者信息、创建时间信息、表空间信息、用户访问权限信息等。

它们可以像其他数据库表或视图一样进行查询,但不能修改。

它们存储在系统表空间中。

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

数据字典不仅是数据库的核心,也是所有用户,包括最终用户、程序员和数据库管理员的重要工具。

因为数据字典是只读的,所以我们只能对其表或视图使用SQL查询语句。

oracle数据库字典通常是在创建和安装数据库时被创建的,oracle数据字典是oracle数据库系统工作的基础,没有数据字典的支持,oracle数据库系统就不能进行任何工作。

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

数据字典内容包括:1.数据库中所有模式对象的信息,如表、视图、集群、索引、集群、同义词、序列、过程、方法、包、触发器等。

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

3,列的缺省值。

4.约束信息的完整性。

5.Oracle用户的名称。

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

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

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

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

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

为了方便的区别这些表,这些表的名字都是用\结尾,这些表属于sys用户。

数据字典表由$oracle_uuhome/rdbms/admin/sql创建。

创建BSQ脚本,并在此脚本中调用其他脚本来创建这些数据字典表。

在这些创建脚本中使用基表创建SQL。

只有Oracle可以读取和写入这些数据字典表。

基表是存储数据库信息的基础表。

基表是在任何Oracle 数据库中创建的第一个对象。

使用“创建数据库”创建数据库时,只要Oracle server运行SQL BSQ脚本,就会自动创建这些对象。

Oracle常用数据字典说明及常用脚本

Oracle常用数据字典说明及常用脚本

1.V$ACCESS此视图显示数据库中当前锁定的对象及访问它们的会话。

列数据类型说明SID NUMBER访问一个对象的会话号OWNER VARCHAR2(64)对象的拥有者OBJECT VARCHAR2(1000)对象名TYPE VARCHAR2(12)对象的类型2.V$BGPROCESS此视图描述后台进程。

列数据类型说明PADDR RAW(4)进程状态对象的地址NAME VARCHAR2后台进程的名称DESCRIPTION VARCHAR2后台进程的说明ERROR NUMBER所遇到的错误3.V$BUFFER_POOL此视图显示实例可用的所有缓冲池的相关信息。

这个“设施”适合于LRU栓锁组的数目。

更多的信息,请参阅“DB_BLOCK_LRU_LATCHES”。

列数据类型说明ID NUMBER缓冲池ID号NAME VARCHAR2(20)缓冲池名称LO_SETID NUMBER低设置ID号HI_SETID NUMBER高设置ID号SET_COUNT NUMBER这个缓冲池中的设置数,为HI_SETID_LO_SETID+1 BUFFERS NUMBER分配给缓冲池的缓冲区数LO_BNUM NUMBER本缓冲池的低缓冲区号HI_BNUM NUMBER本缓冲池的高缓冲区号4. V$BUFFER_POOL_STATISTICS此视图显示事例可用的所有缓冲池的相关信息。

这个“设施”适合于LRU栓锁组的数目。

更多的信息,请参阅“DB_BLOCK_LRU_LATCHES”。

列数据类型说明ID NUMBER缓冲池ID号NAME VARCHAR2(20)缓冲池名称SET_MSIZE NUMBER缓冲池最大设置尺寸CNUM_REPL NUMBER替换列表中的缓冲区数CNUM_WRITE NUMBER写入列表中的缓冲区数CNUM_SET NUMBER设置中的缓冲区数BUF_GOT NUMBER设置获得的缓冲区数SUM_WRITE NUMBER设置写入的缓冲区数SUM_SCAN NUMBER设置扫描的缓冲区数FREE_BUFFER_WAIT NUMBER可用缓冲区等待统计数据WRITE_COMPLETE_WAIT NUMBER写完成等待统计数据BUFFER_BUSY_WAIT NUMBER缓冲区忙等待统计数据RFEE_BUFFER_INSPECTED NUMBER可用缓冲区检查统计数据DIRTY_NUMBER灰缓冲区检查统计数据DB_BLOCK_CHANGE NUMBER数据块更改统计数据DB_BLOCK_GETS NUMBER取得数据库块统计数据CONSISENT_GETS NUMBER一致取统计数据PHYSICAL_READS NUMBER物理读统计数据PHYSICAL_WRITES NUMBER物理写统计数据5.V$COMPATIBILITY此视图显示数据库实例正在使用的特性,以防止性能降为以前的版本。

oracle 数据字典 字段内容

oracle 数据字典 字段内容

一、概述Oracle数据字典是Oracle数据库内置的元数据信息集合,用于存储和展示数据库中的对象、表、视图、索引等相关信息。

其中,字段内容是数据字典中的一个重要部分,它记录了数据库中各个字段的属性、数据类型、约束等信息。

本文将从字段内容的定义、结构和应用角度进行详细的介绍和分析,帮助读者更好地理解和运用Oracle数据字典中的字段内容。

二、字段内容的定义在Oracle数据库中,字段内容指的是数据库中表的字段定义信息,包括字段名、数据类型、长度、约束、默认值等。

它是数据库设计和管理的重要指标之一,对于数据库开发人员、管理员和分析师来说具有重要意义。

三、字段内容的结构字段内容包括以下几个方面的信息:1.字段名:字段在表中的名称,一般由字母、数字和下划线组成。

2.数据类型:字段存储的数据类型,如VARCHAR2、NUMBER、DATE等。

3.长度:字段存储数据的长度限制,如VARCHAR2(50)表示最大长度为50个字符。

4.约束:字段的数据约束,如主键约束、外键约束、唯一约束等。

5.默认值:字段的默认数值或表达式,当插入数据时若未指定该字段的值,则自动填充默认值。

四、字段内容的应用1.数据库设计:在进行数据库设计时,需要合理地定义字段内容,选择合适的数据类型、长度和约束,以便存储和保护数据的完整性和一致性。

2.数据分析:在进行数据分析时,可以通过字段内容了解到表中各个字段的基本信息,为数据清洗、转换和分析提供依据。

3.性能优化:通过分析字段内容,可以优化数据库的物理结构、索引设计等,提高数据库的性能和响应速度。

五、字段内容的查询方法在Oracle数据库中,可以通过以下几种方式查询字段内容:1.使用SQL语句查询数据字典视图,如USER_TAB_COLUMNS、ALL_TAB_COLUMNS、DBA_TAB_COLUMNS等。

2.使用Oracle SQL Developer工具进行可视化操作,通过图形化界面查看和编辑字段内容。

ORACLE 提供许多内部数据字典

ORACLE 提供许多内部数据字典

ORACLE 提供许多内部数据字典, 用以管理系统的各种信息和参数(即数据库对象),下面列出几个常用的数据字典供初学者参考,其它方面的数据字典将在DBA管理中介绍。

ORACLE 数据字典的命名说明:USER 为前缀----记录用户的所有对象信息ALL 为前缀----记录包括 USER 记录和授权给PUBLIC 或该用户的所有对象的信息。

DBA 为前缀----记录关于数据库对象(非用户对象)的信息。

V$ 公共系统动态视图,用于系统优化和调整参考.V_$ 动态性能视图你可用 CATALOG.SQL 建立动态视图建立同义词。

GV$ 新(oracle 8)的附加的固定视图(Global V$).在并行环境下反应的是V$视图的信息。

如:SELECT * FROM GV$LOCK WHERE INST_ID = 2 OR INST_ID = 5 ;返回的是instances 2 和5的V$的信息。

所以GV$反应一组Instances的参数. GV$视图的限制是参数PARALLEL_MAX_SERVERS必须大于0 。

详见 Oracle Enterprise Manager Administrator's Guide.注:请注意下面的总结:●一般DBA_ 的视图内容都包含USER_和ALL_为前缀的视图;●DBA_为前缀的视图的内容基本上是大写;●以V$_为前缀的视图的内容基本上是小写。

1. USER_TABLEs(=TABS) 用户的所有表的信息。

2.USER_TAB_COLUMNS(=COLS)有关各表的列(字段)的信息3.USER_VIEWS 用户的所有视图4.USER_SYNONYMS(=SYN)用户同义词5.USER_SEQUENCES(=SEQ) 用户序列6.USER_CONSTRAINTS 记录在数据库时常用于检查数据有何限制。

7.USER_TAB_COMMENTS 表的注释。

如:Comment on table emp is '职工表';8. USER_COL_COMMENTS 列(字段)注释。

oracle数据字典的使用

oracle数据字典的使用

数据字典数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户。

用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成。

数据字典包括:数据字典基表和数据字典视图,其中基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表,数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过查询数据字典试图取得系统信息,数据字典视图主要包括:user_xxx,all_xxx,dba_xxx三种类型。

er_tables:显示当前用户所拥有的表。

他只返回用户所对用方案的所有表。

select tabel_name from users_tables;2.all_tables:用于显示当前用户可以访问的所有表,它不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其他方案的表。

select tabel_name from all_tables;3.dba_tables它会显示所有方案拥有的数据表,但是查询这种数据库字典视图,要求用户必须是dba角色或是有select anytable系统权限。

例如:当用system用户查询数据字典视图dba_tables 时,会返回system,sys,scott....方案所对应的数据库表。

在建立用户时,oracle会把用户的信息用户存放在数据字典中,当给用户赋予权限或者角色时,oracle会把权限或者角色的详细信息存放在数据字典中。

dba_users可以查询显示所有数据库用户的详细信息。

desc dba_role_privs(看表的列结构)数据字典视图:dba_sys_privs可以显示用户具有的系统权限。

数据字典视图:dba_tab_privs可以显示用户具有的对象权限。

数据字典视图:dba_col_privs可以显示用户具有的列权限。

数据字典视图:dba_role_privs可以显示用户所有具有的角色。

数据字典视图:1.查看scott具有的角色,可查询dba_role_privs;角色是若干个权限的集合。

Oracle数据库之数据字典

Oracle数据库之数据字典

数据字典视图的查找 数据字典视图非常的多,该怎么样去查找呢? 有一个视图,通过这个视图可以查找所有的数据字典视图,这个视图就是 dictionary,这个视图的同义词是dict
注意:数据字典视图最经典的用法是使用别人已经写好的一些查询。大 家主要的是去练习一下“oracle常用经典sql查询.doc”里面的各个查询。
Oracle数据库之数据字典
什么叫数据字典?
数据字典指的是描述数据的数据。 举个例子: 1、我们在数据库里面创建了一个表 这个表位于哪个数据文件 这个表有哪些列 这个表的每一个列的数据类型
这个表的约束
等等 这些信息都是描述这个表的,这些信息也存放在一些表中,这些表就是数 据字典,数据字典中的数据描述的是整个数据库的各种各样的信息。 数据库要能够访问,数据字典必须能够被访问。
动态性能视图 有一些数据,例如内存中的数据、控制文件中的数据,oracle提供了一些访问 这些数据的方式:以表的方式展现这些数据。 这些数据并没有存在实际的表中,只是以表的形式展现出来,因此是一些虚拟 的表。 数据库在运行、控制文件和内存中的数据在不断地变化,那么动态性能视图中 的数据也在不停的变化,数据库重新启动以后,动态性能视图中的数据全部丢 失。 所有的动态性能视图的名称都存放在v$fixed_table里面。 动态性能视图的名字都是以v_$开始的,属主是sys。 Oracle为每一个动态性能视图提供了一个同义词,都以v$开头,例如v$session
通过这个脚本,我们发现大多数的数据字典基本表是以$结尾的
数据字典视图 1、列名含义清楚 2、视图隐藏了基本表之间的复杂关系 3、数据字典视图的所有者是sys 4、oracle还为所有的数据字典视图建立了公共的同义词,这样用户就可以通过 别名来访问数据字典视图 5、数据字典视图和同义词通过catalog.sql来建立

数据字典的内容和使用

数据字典的内容和使用

北京新明星公司技术部
数据字典的分类
包含三个静态视图集 分别以DBA、ALL、USER为前缀
北京新明星公司技术部
动态性能表
记录当前数据库的动作 在数据库运行时,被连续地修改 查询时,从内存、控制文件中获取信息 被用来监测和调整数据库 被SYS用户所拥有 不允许执行DML操作
北京新明星公司技术部
数据字典例子
数据字典的一般信息
DICTIONARY、DICT_COLUMNS
Schema对象
DBA_TABLES、DBA_INDEXES、 DBA_TAB_COLUMNS、DBA_CONSTRAINTS
空间分配
DBA_SEGMENTS、DBA_EXTENTS
数据库结构
DBA_TABLESPACES、DBA_DATA_FILES
北京新明星公司技术部
北京新明星公司技术部数据Biblioteka 典的内容数据字典提供下列信息
数据库的物理和逻辑结构 对象的定义和空间分配 一致性限制 用户名字、角色、权限 数据库审计信息
北京新明星公司技术部
数据字典的使用
数据字典被用来
寻找下列信息:用户、SCHEMA对象、存储 结构 执行DDL语句时,数据库服务器要修改它 用户只能读,获取数据库的信息
ORACLE数据库管理
数据字典的内容和使用
北京新明星公司技术部
数据字典
ORACLE数据库包括两种类型的对象
基本表(存储数据库及其对象的信息,使用 CREATE DATABASE命令创建,用户不需要 直接访问) 数据字典视图(汇总基本表的信息,使用 catalog.sql脚本创建)
是一系列只读的表和视图,记录、验证和 提供相关数据库的信息

Oracle数据字典

Oracle数据字典
得执行结果。
8. 如果利用VB提供的开发工具,则能创造丰富多彩的界面。进一步的 学习可参考有关VB数据库编程方面的书籍。
PPT文档演模板
Oracle数据字典
5. 利用Microsoft Excell访问Oracle 数据表
1. 进入Microsoft Excell 2. 建立数据源
点击:
[数据] [获取外部数据] [新建查询] 在“选择数据源”窗口中,选择〈新数据源〉,[确定],并依次进行下列输入
5.结束Oracle ODBC 测试
PPT文档演模板
Oracle数据字典
4. 通过Visual Basic访问Oracle数据表
n 设置好ODBC数据源以后,就可以利用Visual Basic 提供的数据管理 器来访问数据库了。步骤如下:
1.启动 Visual Basic 2.选择:
[外接程序] [可视化数据管理器] 3.弹出数据库管理器(VisData)的主窗口 4.选择: [文件] [打开数据库] ODBC
Oracle数据字典
PPT文档演模板
2020/11/3
Oracle数据字典
1. Oracle数据字典
n 数据字典(data dictionary)是存储在数据库中的所有对象信息的知识 库。
n Oracle RDBMS使用数据字典获取对象信息和安全信息,而用户和DBA用它 来查阅数据库信息。
PPT文档演模板
2.出现测试窗口 选择Connect连接,从[机器数据源]选择欲测试的数据名称。
PPT文档演模板
Oracle数据字典
3. Oracle ODBC 测试…
3. 进行Oracle联结 输入: 用户名称: scott 密码:tiger 服务器:Oracle10

第12讲 Oracle的数据字典的查询

第12讲 Oracle的数据字典的查询

第12讲Oracle的数据字典的查询目的:1.掌握Oracle9i数据字典的作用和意义。

2.掌握常用对象的数据字典的查询。

授课内容:11.1什么是数据字典:1.数据字典(Oracle data dictionary): Oracle9i数据库的所有对象,权限,系统信息的视图,称为数据字典。

2.Oracle9i数据的所有信息,系统的权限,用户,角色,表,视图等等所有对象在创建后都保存在数据字典的表中。

这些表是归系统管理员DBA所有的,其他用户没有权限查询这些表。

3.但Oracle提供了访问这些表的视图,供其他用户访问这些数据字典。

4.数据库中存放数据字典的表的是非常关键的了,不能随意访问。

5.Oracle数据字典存储了用来管理数据库对象的所有信息。

6.Oracle内部字典:从用户角度出发的数据字典。

7.数据字典不是按字母来排序的,而是按其功能进行(表,安全性,等)分组的。

11.2数据字典的分组:在查询数据字典时,Oracle把不同的信息分别使用了不同的视图,如用户自己的,所有的用户,和DBA的信息。

ER:以USER_开头的视图只可以查询出登录用户自己的对象信息。

2.ALL:以ALL_开头的视图可以查询所有用户的对象信息。

这些对象要满足条件是:你创建的,或你由权限的,或授权给public 组的。

(1)你创建的对象。

(2)对象的所有者已经授予了这些对象的某个权限给你。

(3)public角色有权限的所有对象。

3.DBA: 以DBA_开头的视图查询数据库中所有的对象信息。

[] 数据字典的常用分组:1.导航图:DICTIONARY (DICT)和DICT_COLUMNS2.可选择的内容:表(和列),视图,同义词,序列3.约束和注释:4.索引和簇:5.抽象数据类型,与ORDBMS相关的结构和LOB:6.数据库连接,实体化视图:7.存储过程,函数,程序包,触发器:8.维:9.空间分配和空间使用:10.用户,权限:11.角色:12.审计:[] 数据字典的名称规定:除了特殊的情况外,Oracle数据字典对象的所有名称都以如下3个前缀开头:USER: 查询用户所拥有的对象的信息ALL:纪录了USER的信息以及授予了public或用户的对象的信息。

06_数据字典

06_数据字典
基本类型:number,character,Boolen,date 复合类型:recode,table,varray 参照类型:ref cursor,ref object_type 大对象类型lob:bfile,blob,clob,nclob
1-12Βιβλιοθήκη 课堂练习目的:熟悉各类数据字典视图 练习:执行书上87~88页的各项查询
1-13

DDL语句不能回滚,如create,drop,truncate等语句. DML语句才可以回滚. dba_segments,dba_rollback_segs
1-11
数据分类与数据类型
oracle数据类型分为两类
标量数据类型:创建数据库时主要使用标量数据类型和 由用户自创建的永久数据类型. PL/SQL数据类型:用在除表视图外的其他数据库对象的 创建和使用中,如存储过程,函数,触发器.
1-3
数据字典
数据字典的用途
数据库通过存取数据字典获取有关用户模式对象以 及存储结构等信息; 执行DDL之后,数据库修改数据字典; 任何用户以只读的方式查询数据字典;
1-4
数据字典
数据字典的分类
静态数据字典:存放用 命令创建的永久数据库 静态数据字典:存放用create命令创建的永久数据库 命令创建的 对象,随着数据库的创建而创建. 对象,随着数据库的创建而创建.以all_,dba_,user_为 为 前缀的视图. 前缀的视图. 动态数据字典:记载数据库动态信息. 动态数据字典:记载数据库动态信息.由catolog.sql 脚本创建,用于对基本表信息的汇总,随时反应数据库 脚本创建,用于对基本表信息的汇总, 的运行状况并不断更新. 的运行状况并不断更新.以v$_,v_$等前缀开头的虚拟 等前缀开头的虚拟 表.

oracle dictionary常用方法封装

oracle dictionary常用方法封装

oracle dictionary常用方法封装Oracle Dictionary(数据字典)是Oracle数据库中用来存储关于数据库对象的信息的表和视图的集合。

它提供了对数据库架构和对象的访问,包括表、索引、视图、用户、列以及其他数据库对象的定义和描述。

在Oracle数据库中,用户可以通过Oracle Dictionary来查询和修改数据库对象的属性和结构。

以下是一些常用的方法封装,用于查询和使用Oracle Dictionary中的信息:1. 获取所有表名:```sqlSELECT table_name FROM all_tables;```该查询可以返回数据库中所有表的名称。

2. 获取指定表的列名和数据类型:```sqlSELECT column_name, data_type FROM all_tab_columns WHERE table_name = 'table_name';```将"table_name"替换为要查询的表名,可以获取该表的所有列名和对应的数据类型。

3. 获取指定用户的所有表名:```sqlSELECT table_name FROM all_tables WHERE owner ='username';```将"username"替换为要查询的用户的名称,可以获取该用户拥有的所有表的名称。

4. 获取指定表的所有索引名称:```sqlSELECT index_name FROM all_indexes WHERE table_name = 'table_name';```将"table_name"替换为要查询的表名,可以获取该表上的所有索引的名称。

5. 获取表的主键名:```sqlSELECT constraint_name FROM all_constraints WHEREtable_name = 'table_name' AND constraint_type = 'P';```将"table_name"替换为要查询的表名,可以获取该表的主键约束的名称。

跟我学Oracle数据库系统管理和实现——Oracle 系统中的数据字典应用技术及应用实例

跟我学Oracle数据库系统管理和实现——Oracle 系统中的数据字典应用技术及应用实例
(2)从上面的描述可以看出,三者之间存储的数据肯定 会有一定的重叠,其实它们除了访问范围的不同以外(因 为权限不一样,所以访问对象的范围也就不一样),其它 均具有一致性。
(3)具体来说,由于数据字典视图是由SYS(系统用户) 所拥有的,所以在缺省情况下,只有SYS和拥有DBA系统权 限的用户可以访问所有的数据字典视图。
(3)dba_* 该前缀的各个视图存储了数据库中所有对象的信息,
但前提是当前用户具有管理员的权限
10、为什么要将静态数据字典中的视图分为三类 (1)若数据字典中的这些信息被非法用户获取的话,就 可能给数据库带来不利的影响。
所以,为了加强这些数据字典视图的权限控制, Oracle数据库系统提供了一套分级的解决方案——将数据 字典分为三类不同的级别。
5、Oracle系统中的数据字典有静态和动态之分 静态数据字典主要是在用户访问数据字典时不会发生
改变的。 但动态数据字典是依赖数据库运行的状况和性能的,
它反映数据库运行的一些内在的信息,所以在访问这类数 据字典时的结果往往不是一成不变的。
如下示例图所示的查询结果为查询v$session视图的结果, 该视图列出当前会话的详细信息(v$为动态视图的前缀)。
1)为了便于用户对数据字典表的查询,并且不需要用 户记忆复杂的数据字典所对应的数据库表名称, Oracle系统对这些数据字典的数据库表都分别建立了 用户视图。
2)通过视图,不仅可以采用更容易接受的可读性好的 名字进行查询,还隐藏了数据字典数据库表(数据字 典表的用户都是sys,并存在于system表空间中,表 名都用“$”结尾)之间的复杂关系。
(2)静态数据字典中的视图分为三类
Oracle数据库系统将数据字典分为三类不同的级别, 它们分别由三个不同的前缀所构成,这三类视图除了拥有 和查看的权限不同之外,它们的结构却是一致的。

oracle数据字典

oracle数据字典
dict_column 全部数据字典表里字段名称和解释
如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句:
SQL>;select * from dictionary where instr(comments,'index')>;0;
不能连接数据库。对一般用户,通常授予CONNECT和RESOURCE角色权限,命令如下:
SQLDBA>GRANT CONNECT,RESOURCE TO RSXT;
对于一个有着许多用户的数据库系统,我们可以通过下述方法来了解数据库的用户情况

1.对于非DBA用户
对于非DBA用户,有两条命令,即:
CLE数据库文件包括数据文件、日志文件和控制文件。
1.数据文件(DATA FILES)
ORACLE数据库中的数据,逻辑上存放在表空间里,但物理上却是存放在数据文件里的,数
据文件有如下特点,即每一个数据文件只与一个数据库相联系,数据库文件一旦建立,就不能
改变大小,一个表空间可以包含一个或多个数据文件等。
加以标识(允许1~8个字符),数据库名在创建数据库时确认,且保存在控制文件中。
2.实例(INSTANCE,也译作例程)
实例是存取和控制数据库的软件机制。它由系统全局区(System Global Area,即SGA)和
ORACLE进程两部分组成,和数据库名一样,实例也要唯一标识,并且在安装ORACLE软件时确认

我们可以采用下述方法来了解实例标识。
有的系统管理员有意无意地将数据库名和实例标识取相同的标识符,当然是可以的,有时
甚至会带来某些方便,但笔者认为,还是取不同标识符为宜。

Oracle数据库字典介绍

Oracle数据库字典介绍

Oracle数据库字典介绍Oracle数据字典是有表和视图组成的,存储有关数据库结构信息的一些数据库对象。

数据库字典描述了实际数据是如何组织的。

对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改。

Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。

在Oracle数据库字典中,许多视图都有三个不同的实例,它们的前缀分别为"USER_"、"ALL_"及"DBA_"。

"USER_"为前缀的数据库字典视图通常记录执行查询的帐户所拥有的对象的信息,"ALL_"为前缀的数据库字典视图通常记录包括执行查询的帐户所拥有的对象的信息及授权至PUBLIC的帐户用户所拥有的对象的信息,"DBA_"为前缀的数据库字典视图则包含所有数据库对象的信息,而不管其所有者。

其他的字典视图中主要的是V$视图,之所以这样叫是因为他们都是以V$或GV$开头的。

V$视图是基于X$虚拟视图的。

V$视图是SYS用户所拥有的,在缺省状况下,只有SYS用户和拥有DBA系统权限的用户可以看到所有的视图,没有DBA权限的用户可以看到USER_和ALL_视图,但不能看到DBA_视图。

与DBA_,ALL,和USER_视图中面向数据库信息相反,这些视图可视的给出了面向实例的信息。

在Oracle的绝大多数数据字典视图中都有象DBA_TABLES,ALL_TABLES和USER_TABLES这样的视图家族。

Oracle中有超过100个视图家族,下表列出了最重要和最常用的视图家族,需要注意的是每个视图家族都有一个DBA_,一个ALL_一个USER_视图。

在Oracle中还有一些不常用的数据字典表,但这些表不是真正的字典家族,他们都是一些重要的单一的视图。

Oracle的数据字典

Oracle的数据字典
❖ dba_视图显示整个数据库的信息,例如,dba_tables视图显示数据库中 所有表的相关信息。
第5页
教学过程
19.1 概述 19.2 路线图 19.3 目录和对象 19.4 回收站 19.5 约束和注释 19.6 索引和群集 19.7 抽象数据类型 19.8 数据库链接和物化视图 19.9 触发器、过程、函数和程序包 19.10 维 19.11 空间分配和使用 19.12 用户和权限 19.13 审核
❖ 本章按照功能分组对Oracle的常用数据字典进行介 绍。
第1页
本章要点
❖ 数据字典的概念和特点 ❖ 路线图的数据字典视图 ❖ 目录和对象的数据字典视图 ❖ 回收站的数据字典视图 ❖ 约束和注释的数据字典视图 ❖ 索引和群集的数据字典视图 ❖ 抽象数据类型的数据字典视图 ❖ 数据库链接和物化视图的数据字典视图 ❖ 触发器、过程、函数和程序包的数据字典视图 ❖ 空间分配和使用的数据字典视图 ❖ 用户和权限的数据字典视图 ❖ 审核的数据字典视图
第7页
教学过程
19.1 概述 19.2 路线图 19.3 目录和对象 19.4 回收站 19.5 约束和注释 19.6 索引和群集 19.7 抽象数据类型 19.8 数据库链接和物化视图 19.9 触发器、过程、函数和程序包 19.10 维 19.11 空间分配和使用 19.12 用户和权限 19.13 审核
❖ user_视图显示关于当前用户所拥有的信息,例如user_tables视图显示 的是当前用户所有的所有表的相关信息。
❖ all_视图除了显示关于当前用户所拥有的信息之外,还显示当前用户具 有相应权限的其他用户的信息。例如,user_tables视图除了显示当前用 户的所有表的相关信息之外,还包括当前用户可以访问的其他用户所有 的表的信息。

ORACLE数据字典使用入门

ORACLE数据字典使用入门

Oracle数据字典使用入门下面按类别列出一些Oracle用户常用数据字典的查询使用方法。

一、用户查看当前用户的缺省表空间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 user_tables;查看名称包含log字符的表SQL>SELECT object_name,object_id FROM user_objects WHERE INSTR (object_name,'LOG')>0;查看某表的创建时间SQL>SELECT object_name,created FROM user_objects WHEREobject_name=UPPER('&table_name');查看某表的大小SQL>SELECT SUM(bytes)/(1024*1024) AS size(M)FROM user_segments WHERE segment_name=UPPER('&table_name');查看放在ORACLE的内存区里的表SQL>SELECT table_name,cache FROM user_tables WHERE INSTR(cache,'Y')>0;三、索引查看索引个数和类别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');四、序列号查看序列号,last_number是当前值SQL>SELECT * FROM user_sequences;五、视图查看视图的名称SQL>SELECT view_name FROM user_views;查看创建视图的select语句SQL>SELECT 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');六、同义词查看同义词的名称SQL>SELECT * FROM user_synonyms;七、约束条件查看某表的约束条件八、存储函数和过程查看函数和过程的状态SQL>SELECT object_name,status FROM user_objects WHEREobject_type='FUNCTION';SQL>SELECT object_name,status FROM user_objects WHEREobject_type='PROCEDURE';查看函数和过程的源代码SQL>SELECT text from all_source WHERE owner=user AND name=UPPER ('&plsql_name');九、触发器查看触发器二、查看Oracle表空间大小及利用率的SQL语句-非常实用的语句。

Oracle数据库入门——常用的数据字典

Oracle数据库入门——常用的数据字典

Oracle数据库⼊门——常⽤的数据字典⼀、主要由以下⼏种视图构成:er视图以user_为前缀,⽤来记录⽤户对象的信息2.all视图以all_为前缀,⽤来记录⽤户对象的信息及被授权访问的对象信息3.dba视图以dba_为前缀,⽤来记录数据库实例的所有对象的信息4.v$视图以v$为前缀,⽤来记录与数据库活动相关的性能统计动态信息5.gv$视图以gv$为前缀,⽤来记录分布式环境下所有实例的动态信息⼆、oracle常⽤的数据字典1.基本数据字典字典名称说明dba_tables 所有⽤户的所有表信息dba_tab_columns 所有⽤户的表的字段信息dba_views 所有⽤户的所有视图信息dba_synonyms 所有⽤户的所有同义词信息dba_sequences 所有⽤户的所有序列信息dba_constraints 所有⽤户的表的约束信息dba_ind_columns 所有⽤户的表的索引的字段信息dba_triggers 所有⽤户的触发器信息dba_sources 所有⽤户的存储过程信息dba_segments 所有⽤户的段的使⽤空间信息dba_extents 所有⽤户的段的扩展信息dba_objects 所有⽤户对象的基本信息cat 当前⽤户可以访问的所有基表tab 但前⽤户创建的所有基表、视图、同义词等dict 构成数据字典的所有表的信息2.与数据库组件相关的数据字典数据库组件数据字典中的表或视图说明数据库 v$datafile 记录系统的运⾏情况表空间 dba_tablespaces 记录系统表空间的基本信息dba_free_space 记录系统表空间的空闲空间信息控制⽂件 v$controlfile 记录系统控制⽂件的基本信息v$control_record_section 记录系统控制⽂件中记录⽂档段的信息v$parameter 记录系统个参数的基本信息数据⽂件 dba_data_files 记录系统数据⽂件及表空间的基本信息v$filestat 记录来⾃控制⽂件的数据⽂件信息v$datafile_header 记录数据⽂件头部的基本信息段 dba_segments 记录段的基本信息区 dba_extents 记录数据区的基本信息⽇志 v$thread 记录⽇志线程的基本信息v$log 记录⽇志⽂件的基本信息v$logfile 记录⽇志⽂件的概要信息归档 v$archived_log 记录归档⽇志⽂件的基本信息v$archived_dest 记录归档⽇志⽂件的路径信息数据库实例 v$instance 记录实例的基本信息v$system_parameter 记录实例当前有效的参数信息内存结构 v$sga 记录sga区的信息v$sgastat 记录sga的详细信息v$db_object_cache 记录对象缓存的⼤⼩信息v$sql 记录sql语句的详细信息v$sqltext 记录sql语句的语句信息v$sqlarea 记录sql区的sql基本信息后台进程 v$bgprocess 显⽰后台进程信息v$session 显⽰当前会话信息3.常⽤动态性能视图视图名称说明v$fixed_table 显⽰当前发⾏的固定对象的说明v$instance 显⽰当前实例的信息v$latch 显⽰锁存器的统计数据v$librarycache 显⽰有关库缓存性能的统计数据v$rollstat 显⽰联机的回滚段的名字v$rowcache 显⽰活动数据字典的统计v$sag 记录sga区的信息v$sgastat 记录sga的详细信息v$sort_usage 显⽰临时段的⼤⼩及会话v$sqltext 记录sql语句的语句信息v$sqlarea 记录sql区的sql基本信息v$stsstat 显⽰基本的实例统计信息v$system_event 显⽰⼀个事件的总计等待时间v$waitstat 显⽰块竞争统计数据。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle数据字典介绍与使用
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_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)。

相关文档
最新文档