Oracle数据字典
1 静态数据字典-->主要是在用户访问数据字典时不会发生改变的,
--例如某用户创建的表
2 动态数据字典-->是依赖数据库运行的性能的,反映数据库运行的一些内在信息,所以在访问这类数据字典时往往不是一成不变的。
--当前锁住的对象
以下均在sys用户和hr用户执行比较
对应
user_* 该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
all_* 该试图存储了当前用户能够访问的对象的信息。(与user_*相比,all_* 并不需要拥有该对象,只需要具有访问该对象的权限即可)
dba_* 该视图存储了数据库中所有对象的信息。(前提是当前用户具有访问这些数据库的权限,一般来说必须具有管理员权限)
SQL> set sqlprompt "sys>"
sys>
SQL> set sqlprompt "hr>"
hr>
1 对象、表、视图、同义词、序列
DBA_OBJECTS(实例中的对象)
存放的对象包括:CLUSTER、DATABASE_LINK、FUNCTION,INDEX,PACKAGE,
PROCEDURE,SEQUENCE,SYNONYM,TABLE,TRIGGER,VIEW,
TYPE,DIRECTORY等。
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 对象主人
OBJECT_NAME VARCHAR2(128) 对象名
SUBOBJECT_NAME VARCHAR2(30) 字对象名,如分区
OBJECT_ID NUMBER 对象的标识
DATA_OBJECT_ID NUMBER 对象的对象数
OBJECT_TYPE VARCHAR2(18) 对象的类型,如INDEX
CREATED DATE 建立对象的日期及时间
LAST_DDL_TIME DATE 最后一次执行DDL的时间(含grants revokes)
TIMESTAMP VARCHAR2(19) 对象生成的日期及时间
STATUS VARCHAR2(7) 对象的状态: VALID, INVALID
TEMPORARY VARCHAR2(1) 标识为临时表
GENERATED VARCHAR2(1) 标识对象是否为系统生成
SECONDARY VARCHAR2(1) 是否为第2次建立演示索引
---------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sys>select count(*) from dba_objects;
COUNT(*)
----------
86957
sys>
(数量最多,权限最大)
hr>select count(*) from user_objects;
COUNT(*)
----------
36
hr>
(数量最少,权限最小)
hr>select count(*) from all_objects;
COUNT(*)
----------
68351
hr>
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DBA_TABLES (实例中的表)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER 表的所有者
TABLE_NAME 表名
TABLESPACE_NAME 包含表的表空间; NULL为分区表
CLUSTER_NAME 表所属的CLUSTER名
IOT_NAME 表的索引结构名
PCT_FREE 块中自由空间百分比,NULL为分区表
PCT_USED 块中使用空间百分比,NULL为分区表
INI_TRANS 初始事务如口数 ,NULL为分区表
MAX_TRANS 最大事务如口数 ,NULL为分区表
INITIAL_EXTENT 初始分配字节数,NULL为分区表
NEXT_EXTENT 下次扩展字节数,NULL为分区表
MIN_EXTENTS 最小扩展次数,NULL为分区表
MAX_EXTENTS 最大扩展次数,NULL为分区表
PCT_INCREASE 相对上次增长百分比,NULL为分区表
FREELISTS 段的自由分配列表数,NULL为分区表
FREELIST_GROUPS 组的自由分配列表数,NULL为分区表
LOGGING 登录属性,NULL为分区表
BACKED_UP 上次改变以来备份标记
NUM_ROWS 表中的行数
BLOCKS 表中的块数
EMPTY_BLOCKS 表中分配但未使用的块数
AVG_SPACE 表中分配但未使用的平均数
CHAIN_CNT 表中产生行连接(从一个块到另一各块)的数
AVG_ROW_LEN 平均行的字节数
AVG_SPACE_FREELIST_BLOCKS 自由列表中所有块的平均自由空间
NUM_FREELIST_BLOCKS 自由列表的块数
DEGREE 对于查询表的每个实例线程数
INSTANCES 表中事务交叉数
CACHE 是否为缓存表
TABLE_LOCK 是否使能锁
SAMPLE_SIZE 分析的样例大小
LAST_ANALYZED 最后分析的时间
PARTITIONED 表是否为分区表
IOT_TYPE 如果为索引结构表, 则IOT_TYPE 为 IOT 或 IOT_OVERFLOW
否则为NULL
TEMPORARY 仅是当前会话使用?
SECONDARY 是否为第2次建立演示索引
NESTED 是否嵌套表
BUFFER_POOL 缺省缓冲区的名字, NULL 为分区表
ROW_MOVEMENT 分区时行是否移动
GLOBAL_STATS 没有合并的统计计算?
USER_STATS 用户是否统计过?
DURATION 如果是临时表,则在 sys$session 或sys$transaction 中的持续时间
SKIP_CORRUPT 是否跳过冲突块(使能或不使能)
MONITORING 监视
---------------------------------------------------------------
DBA_VIEWS (实例中的视图)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 视图的主人
VIEW_NAME VARCHAR2(30) 视图的名字
TEXT_LENGTH NUMBER 视图的文本长度
TEXT LONG 视图的文本
TYPE_TEXT_LENGTH NUMBER 类型视图的子句长度
TYPE_TEXT VARCHAR2(4000) 类型视图的子句
OID_TEXT_LENGTH NUMBER 类型视图的WITH OID子句长度
OID_TEXT VARCHAR2(4000) 类型视图的WITH OID子句
VIEW_TYPE_OWNER VARCHAR2(30) 类型视图的主人
VIEW_TYPE VARCHAR2(30) 类型视图
---------------------------------------------------------------
DBA_SYNONYMS(实例中的同义词)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 同义词的主人
SYNONYM_NAME VARCHAR2(30) 同义词的名字
TABLE_OWNER VARCHAR2(30) 表的主人
TABLE_NAME VARCHAR2(30) 表的名字
DB_LINK VARCHAR2(128) 数据库连接名
---------------------------------------------------------------
DBA_SEQUENCES(实例中的序列)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
SEQUENCE_OWNER VARCHAR2(30) 序列的主人
SEQUENCE_NAME VARCHAR2(30) 序列名字
MIN_VALUE NUMBER 最小值
MAX_VALUE NUMBER 最大值
INCREMENT_BY NUMBER 增加步长
CYCLE_FLAG VARCHAR2(1) 循环标记
ORDER_FLAG VARCHAR2(1) 顺序标记
CACHE_SIZE NUMBER 缓存大小
LAST_NUMBER NUMBER 最后的序列值
---------------------------------------------------------------
2 索引、Cluster及限制(constraints)
DBA_INDEXES ( 实例中索引)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 索引主人
INDEX_NAME VARCHAR2(30) 索引名字
INDEX_TYPE VARCHAR2(27) 索引类型
TABLE_OWNER VARCHAR2(30) 表的主人
TABLE_NAME VARCHAR2(30) 表的名字
TABLE_TYPE VARCHAR2(11) 表的类型
UNIQUENESS VARCHAR2(9) 是否唯一索引
COMPRESSION VARCHAR2(8) 是否压缩
PREFIX_LENGTH NUMBER 前缀长度
TABLESPACE_NAME VARCHAR2(30) 表空间名
INI_TRANS NUMBER 初始事务数
MAX_TRANS NUMBER 最大事务数
INITIAL_EXTENT NUMBER 初始扩展大小
NEXT_EXTENT NUMBER 下一次扩展大小
MIN_EXTENTS NUMBER 最小扩展次数
MAX_EXTENTS NUMBER 最大扩展次数
PCT_INCREASE NUMBER 相对前一次的增长百分比
PCT_THRESHOLD NUMBER 块空间开始分配百分比
INCLUDE_COLUMN NUMBER 包括的列数
FREELISTS NUMBER 自由列表数
FREELIST_GROUPS NUMBER 自由列表组数
PCT_FREE NUMBER 块中用于更新的百分比
LOGGING VARCHAR2(3) 日志信息
BLEVEL NUMBER B*树从根到枝的索引深度
LEAF_BLOCKS NUMBER 索引中叶块的数量
DISTINCT_KEYS NUMBER 不同键的数目
AVG_LEAF_BLOCKS_PER_KEY NUMBER 每个键叶块的平均数
AVG_DATA_BLOCKS_PER_KEY NUMBER 每个键数据块的平均数
CLUSTERING_FACTOR NUMBER 基表行的排序数,如果该值:
* 接近块的大小,则表非常容易排序
* 解决行的大小,则容易随机排序
STATUS VARCHAR2(8) 状态
NUM_ROWS NUMBER 行的数量
SAMPLE_SIZE NUMBER 样本大小
LAST_ANALYZED DATE 最后分析时间
DEGREE VARCHAR2(40) 扫描索引时的实例数
INSTANCES VARCHAR2(40) 实例数
PARTITIONED VARCHAR2(3) 是否被分区
TEMPORARY VARCHAR2(1) 是否存放在临时表空间
GENERATED VARCHAR2(1) 是否是有系统产生索引名
SECONDARY VARCHAR2(1) 是否是第2个对象创建
BUFFER_POOL VARCHAR2(7) 缓冲区大小
USER_STATS VARCHAR2(3) 是否有用户统计过
DURATION VARCHAR2(15) 临时表的为期
PCT_DIRECT_ACCESS NUMBER 访问百分比
ITYP_OWNER VARCHAR2(30) 本地索引的主人
ITYP_NAME VARCHAR2(30) 本地索引的名字
PARAMETERS VARCHAR2(1000) 本地的参数
GLOBAL_STATS VARCHAR2(3) 全局统计标记
DOMIDX_STATUS VARCHAR2(12) 本地索引状态:
null-非本地;
valid-本地索引;
idxtyp-invld:本地索引无效
DOMIDX_OPSTATUS VARCHAR2(6) 本地索引操作状态:
null-非本地;
valid-本地索引操作没有错误;
failed:本地索引操作有错误
FUNCIDX_STATUS VARCHAR2(8) 本地索引函数状态:
null-非基本函数索引;
valid-函数索引可用;
failed: 函数索引不可用。
---------------------------------------------------------------
DBA_CLUSTERS(实例中簇)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 簇的主人
CLUSTER_NAME VARCHAR2(30) 簇的名字
TABLESPACE_NAME VARCHAR2(30) 所在表空间
PCT_FREE NUMBER 块中用于更新的百分比
PCT_USED NUMBER 块中释放空间的百分比
KEY_SIZE NUMBER 键的大小
INI_TRANS NUMBER 块中的事务初始如口数
MAX_TRANS NUMBER 块中的事务最大如口数
INITIAL_EXTENT NUMBER 初始扩展字节数
NEXT_EXTENT NUMBER 下次扩展字节数
MIN_EXTENTS NUMBER 最小扩展次数
MAX_EXTENTS NUMBER 对大扩展次数
PCT_INCREASE NUMBER 相对上次的增长百分比
FREELISTS NUMBER 自由列表数(并行)
FREELIST_GROUPS NUMBER 自由列组数(并行)
AVG_BLOCKS_PER_KEY NUMBER 每个Hash键的块
CLUSTER_TYPE VARCHAR2(5) B*树索引或Hash索引
FUNCTION VARCHAR2(15) 如果是Hash簇,则为Hash函数
HASHKEYS NUMBER 如果书Hash簇,则为Hash键
DEGREE VARCHAR2(10) 并行度
INSTANCES VARCHAR2(10) 实例数
CACHE VARCHAR2(5) 缓存数
BUFFER_POOL VARCHAR2(7) 缓冲区数
SINGLE_TABLE VARCHAR2(5) 是否为单表的簇
DBA_CONSTRAINTS(实例中限制)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 限制的主人
CONSTRAINT_NAME VARCHAR2(30) 限制的名字
CONSTRAINT_TYPE VARCHAR2(1) 限制的类型
? C (在表上检查约束)
? P (主键)
? U (唯一键)
? R (引用完整性)
? V (视图检查)
? O (视图只读检查)
TABLE_NAME VARCHAR2(30) 表名
SEARCH_CONDITION LONG 搜索条件
R_OWNER VARCHAR2(30) 表引用的主人
R_CONSTRAINT_NAME VARCHAR2(30) 唯一限制名字
DELETE_RULE VARCHAR2(9) 删除规则:CASCADE 或 NO ACTION
STATUS VARCHAR2(8) 状态:ENABLED 或 DISABLED
DEFERRABLE VARCHAR2(14) 限制是否延期
DEFERRED VARCHAR2(9) 限制初始延期
VALIDATED VARCHAR2(13) 是否所有数据服从限制:
VALIDATED或NOT VALIDATED
GENERATED VARCHAR2(14) 限制是否是系统产生
BAD VARCHAR2(3) yes 表示该限制在一个世纪内不理重复,
为了保证正确,要用4位年。
RELY VARCHAR2(4) 是否重新启动限制
LAST_CHANGE DATE 最后启动或静止限制的日期
---------------------------------------------------------------
3 触发器、过程、函数及包
DBA_TRIGGERS(实例中触发器)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 触发器的主人
TRIGGER_NAME VARCHAR2(30) 触发器的名字
TRIGGER_TYPE VARCHAR2(16) 触发器的类型
TRIGGERING_EVENT VARCHAR2(216) 触发器的事件
TABLE_OWNER VARCHAR2(30) 表的主人
BASE_OBJECT_TYPE VARCHAR2(16) 基本对象类型
TABLE_NAME VARCHAR2(30) 表的名字
COLUMN_NAME VARCHAR2(4000) 列的名字
REFERENCING_NAMES VARCHAR2(128) 引用名字
WHEN_CLAUSE VARCHAR2(4000) 条件子句
STATUS VARCHAR2(8) 状态
DESCRIPTION VARCHAR2(4000) 描述
ACTION_TYPE VARCHAR2(11) 措施类型
TRIGGER_BODY LONG 触发器的主体内容
---------------------------------------------------------------
DBA_SOURCE(实例中的存储过程、函数、包及包体):
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 对象的主人
NAME VARCHAR2(30) 对象的名字
TYPE VARCHAR2(12) 对象的类型,可以是(不包括TRIGGER):
PROCEDURE;
PACKAGE;
FUNCTION;
PACKAGE BODY;
TYPE;
TYPE BODY
LINE NUMBER 源代码的行数
TEXT VARCHAR2(4000) 存储对象的源代码
---------------------------------------------------------------
4 空间分配与使用
DBA_TABLESPACES(实例中的表空间)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
TABLESPACE_NAME VARCHAR2(30) 表空间名字
INITIAL_EXTENT NUMBER 初始分配大小
NEXT_EXTENT NUMBER 下次分配大小
MIN_EXTENTS NUMBER 最小分配次数
MAX_EXTENTS NUMBER 最大分配次数
PCT_INCREASE NUMBER 相对于上次增长百分比
MIN_EXTLEN NUMBER 最小扩展长度
STATUS VARCHAR2(9) 状态:ONLINE或OFFLINE或READ ONLY
CONTENTS VARCHAR2(9) 内容:PERMANENT或TEMPORARY
LOGGING VARCHAR2(9) 日志属性(缺省为进行日志)
EXTENT_MANAGEMENT VARCHAR2(10) 扩展管理跟踪:DICTIONARY或LOCAL
ALLOCATION_TYPE VARCHAR2(9) 扩展分配类型
PLUGGED_IN VARCHAR2(3) YES表示表空间为追加
---------------------------------------------------------------
DBA_SEGMENTS(实例中的段)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 段的主人
SEGMENT_NAME VARCHAR2(81) 段的名字
PARTITION_NAME VARCHAR2(30) 分区名字
SEGMENT_TYPE VARCHAR2(18) 段类型:
TABLESPACE_NAME VARCHAR2(30) 表空间名字
HEADER_FILE NUMBER 段的头部的文件ID号
HEADER_BLOCK NUMBER 段的头部的块ID号
BYTES NUMBER 分配的字节数
BLOCKS NUMBER 分配的块数
EXTENTS NUMBER 扩展的次数
INITIAL_EXTENT NUMBER 初始分配的字节数
NEXT_EXTENT NUMBER 下次扩展的字节数
MIN_EXTENTS NUMBER 最小扩展的次数
MAX_EXTENTS NUMBER 最大扩展的次数
PCT_INCREASE NUMBER 增长的百分比
FREELISTS NUMBER 自由列表数(并行)
FREELIST_GROUPS NUMBER 自由列组数(并行)
RELATIVE_FNO NUMBER 相关的文件号
BUFFER_POOL VARCHAR2(7) 缺省底册缓冲区大小
---------------------------------------------------------------
DBA_EXTENTS(实例中段的扩展)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
OWNER VARCHAR2(30) 段的主人
SEGMENT_NAME VARCHAR2(81) 段的名字
PARTITION_NAME VARCHAR2(30) 分区的名字
SEGMENT_TYPE VARCHAR2(18) 段的类型
TABLESPACE_NAME VARCHAR2(30) 表空间的名字
EXTENT_ID NUMBER 扩展ID号
FILE_ID NUMBER 文件的ID号
BLOCK_ID NUMBER 块的ID 号
BYTES NUMBER 字节数
BLOCKS NUMBER 块数
RELATIVE_FNO NUMBER 相关的文件号
---------------------------------------------------------------
DBA_FREE_SPACE(实例中自由空间)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
TABLESPACE_NAME VARCHAR2(30) 表空间名字
FILE_ID NUMBER 文件号
BLOCK_ID NUMBER 块的号
BYTES NUMBER 字节数
BLOCKS NUMBER 块数
RELATIVE_FNO NUMBER 相关的文件号
---------------------------------------------------------------
5 用户、权限与角色
DBA_USERS(实例中用户)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
USERNAME VARCHAR2(30) 用户名
USER_ID NUMBER 用户标识(系统给的编号)
PASSWORD VARCHAR2(30) 口令(显示进行力偶啊转换)
ACCOUNT_STATUS VARCHAR2(32) 状态
LOCK_DATE DATE 锁的日期
EXPIRY_DATE DATE 过期的日期
DEFAULT_TABLESPACE VARCHAR2(30) 缺省的表空间
TEMPORARY_TABLESPACE VARCHAR2(30) 临时表空间
CREATED DATE 创建日期
PROFILE VARCHAR2(30) 资源文件名
INITIAL_RSRC_CONSUMER_GROUP VARCHAR2(30) 初始资源消费组
EXTERNAL_NAME VARCHAR2(4000) 外部名字
---------------------------------------------------------------
DBA_TAB_PRIVS(实例中用户可以访问表的权限)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
GRANTEE VARCHAR2(30) 被授权者
OWNER VARCHAR2(30) 主人
TABLE_NAME VARCHAR2(30) 表名
GRANTOR VARCHAR2(30) 授权者
PRIVILEGE VARCHAR2(40) 权限
GRANTABLE VARCHAR2(3) 可再授权给别人
---------------------------------------------------------------
DBA_SYS_PRIVS(实例中用户被授的系统权限)
---------------------------------------------------------------
列名 说明
---------------------------------------------------------------
GRANTEE VARCHAR2(30) 被授权者
PRIVILEGE VARCHAR2(40) 权限名称
ADMIN_OPTION VARCHAR2(3) 是否带ADMIN
---------------------------------------------------------------
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。