`
fyd222
  • 浏览: 106553 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Oracle 数据字典和数据字典视图

 
阅读更多

--==============================

--Oracle 数据字典和数据字典视图

--==============================

数据字典

是元数据的集合,从逻辑上和物理上描述了数据库及内容,存储于SYSTEMSYSAUX表空间内的若干段。

SYS用户拥有所有的数据字典表,数据字典基本一般以$结尾,如col$tab$等,这些数据字典存放在system表空间中。

数据字典的形成

在数据库创建阶段创建,在使用阶段维护和更新

无法通过DML操作来修改,只能通过相关的命令修改系统,来达到间接修改数据字典。

数据字典的特点

每个Oracle数据库的中枢

描述数据库和它的对象

包含只读的表和视图

存储在SYSTEM表空间中

拥有者是SYS用户

Oracle服务器自己维护

SELECT访问

数据字典内容:

数据字典提供下列信息:

逻辑和物理的数据库结构

对象的定义和空间分配

一致性限制

用户

角色

权限

审计

数据字典的主要用途:

Oracle服务器用它查找下列信息:

用户

对象

存储结构

Oracle服务器修改数据字典当DDL语句执行的时候.

用户和管理员们利用它了解数据库的信息.

基础表和数据字典视图:

数据字典包括两个部分:

基础表

存储数据库的描述

CREATE DATABASE命令创建(sql.bsq)

数据字典视图

用于简化基础表的信息

通过PUBLIC同义词访问

由脚本catalog.sql创建

数据字典基表中的数据很难看懂。因此,很少人直接访问这些基表。取而代之的是数据字典视图。

数据字典视图分为类,它们以前辍来区分,前辍分别为:USERALLDBA

USER_* 用户所拥有的对象信息

ALL_* 用户能访问的对象信息

DBA_* 整个数据库中的对象信息

创建数据字典视图:

建库后,运行以下脚本创建的

$ORACLE_HOME/rdbms/admin/catalog.sql 创建常用的数据字典和同义词

$ORACLE_HOME/rdbms/admin/catproc.sql 创建内建的存储过程、包等pl/sql对象

DBCA建库时会自动运行这两个脚本,但如果手动建库的话,需手动运行。

常用的数据字典:

一般的概况: TABDICTIONARY, DICT_COLUMNS

对象: DBA_TABLES, DBA_INDEXES, DBA_TAB_COLUMNS, DBA_CONSTRAINTS --->user_ ,all_

空间分配: DBA_SEGMENTS, DBA_EXTENTS

数据库结构: DBA_TABLESPACES, DBA_DATA_FILES

动态性能视图:

是将内存里的数据或控制文件里的数据以表的形式展现出来,它们实际都是虚拟表,并不是真正的表

只要数据库在运行,就会不断更新动态性能视图

一旦数据库关闭或崩溃,则动态性能视图里的数据就丢失,当数据库重新启动后,数据将会被更新

所有的动态性能视图名称都存放在v$fixed_table里。这些动态性能视图都是以V_$开头,属主是sys

oracle为每个动态性能视图都创建了同义词,同义词将中间的“_”去掉了,形成以v$开头

在同义词中查看v$session

SQL> SELECT owner,synonym_name,table_owner,table_name,db_link

2 FROM dba_synonyms WHERE synonym_name='V$SESSION';

OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME DB_LINK

-------------------- -------------------- -------------------- -------------------- --------

PUBLIC V$SESSION SYS V_$SESSION

SQL> SET LONG 15000

SQL> SELECT text FROM dba_views WHERE view_name='V_$SESSION';

TEXT

--------------------------------------------------------------------------------

select "SADDR","SID","SERIAL#","AUDSID","PADDR","USER#","USERNAME","COMMAND","OW

NERID","TADDR","LOCKWAIT","STATUS","SERVER","SCHEMA#","SCHEMANAME","OSUSER","PRO

CESS","MACHINE","TERMINAL","PROGRAM","TYPE","SQL_ADDRESS","SQL_HASH_VALUE","SQL_

ID","SQL_CHILD_NUMBER","PREV_SQL_ADDR","PREV_HASH_VALUE","PREV_SQL_ID","PREV_CHI

LD_NUMBER","MODULE","MODULE_HASH","ACTION","ACTION_HASH","CLIENT_INFO","FIXED_TA

BLE_SEQUENCE","ROW_WAIT_OBJ#","ROW_WAIT_FILE#","ROW_WAIT_BLOCK#","ROW_WAIT_ROW#"

,"LOGON_TIME","LAST_CALL_ET","PDML_ENABLED","FAILOVER_TYPE","FAILOVER_METHOD","F

AILED_OVER","RESOURCE_CONSUMER_GROUP","PDML_STATUS","PDDL_STATUS","PQ_STATUS","C

URRENT_QUEUE_DURATION","CLIENT_IDENTIFIER","BLOCKING_SESSION_STATUS","BLOCKING_I

NSTANCE","BLOCKING_SESSION","SEQ#","EVENT#","EVENT","P1TEXT","P1","P1RAW","P2TEX

T","P2","P2RAW","P3TEXT","P3","P3RAW","WAIT_CLASS_ID","WAIT_CLASS#","WAIT_CLASS"

TEXT

--------------------------------------------------------------------------------

,"WAIT_TIME","SECONDS_IN_WAIT","STATE","SERVICE_NAME","SQL_TRACE","SQL_TRACE_WAI

TS","SQL_TRACE_BINDS" from v$session

SQL> SELECT view_definition FROM v$fixed_view_definition

2 WHERE view_name='V$SESSION';

VIEW_DEFINITION

---------------------------------------------------------------------------------

select SADDR , SID , SERIAL# , AUDSID , PADDR , USER# , USERNAME , COMMAND ,

OWNERID, TADDR , LOCKWAIT , STATUS , SERVER , SCHEMA# , SCHEMANAME ,OSUSER ,

PROCESS , MACHINE , TERMINAL , PROGRAM , TYPE, SQL_ADDRESS , SQL_HASH_VALUE,

SQL_ID, SQL_CHILD_NUMBER , PREV_SQL_ADDR , PREV_HASH_VALUE , PREV_SQL_ID,

PREV_CHILD_NUMBER , MODULE , MODULE_HASH , ACTION , ACTION_HASH , CLIENT_INFO ,

FIXED_TABLE_SEQUENCE , ROW_WAIT_OBJ# , ROW_WAIT_FILE# , ROW_WAIT_BLOCK# ,

ROW_WAIT_ROW# , LOGON_TIME , LAST_CALL_ET , PDML_ENABLED , FAILOVER_TYPE ,

FAILOVER_METHOD , FAILED_OVER, RESOURCE_CONSUMER_GROUP, PDML_STATUS,

PDDL_STATUS, PQ_STATUS, CURRENT_QUEUE_DURATION, CLIENT_IDENTIFIER,

BLOCKING_SESSION_STATUS, BLOCKING_INSTANCE,BLOCKING_SESSION,SEQ#,

EVENT#,EVENT,P1TEXT,P1,P1RAW,P2TEXT,P2,P2RAW, P3TEXT,P3,P3RAW,

WAIT_CLASS_ID, WAIT_CLASS#,WAIT_CLASS,WAIT_TIME,SECONDS_IN_WAIT,

STATE,SERVICE_NAME, SQL_TRACE, SQL_TRACE_WAITS, SQL_TRACE_BINDS

from GV$SESSION

where inst_id = USERENV('Instance')

常用的数据字典视图、动态性能视图:

dba_objects

dba_tables

dba_users

dba_tablespaces

V$CONTROLFILE 控制文件信息

V$DATABASE 数据库信息

V$DATAFILE 数据文件信息

V$INSTANCE 实例信息

V$PARAMETER 参数信息

V$SESSION 会话信息

V$SGA SGA信息

V$SGAINFO SGA信息

V$TABLESPACE 表空间信息

V$THREAD

V$VERSION

V$option

v$parameter显示的是session级的参数,也就是当前session的参数信息。

如果没有使用alter session单独设置当前session的参数值,那么默认和system级的参数应该是一样的。

v$system_parameter显示的是system级的参数,保存的是使用alter system修改的值(scope=both或者scope=memory)。

上面两个都是当前已经生效的参数值。对于使用spfile的库,也可以暂时只修改spfile中的

值。v$spparameter显示的就是保存在spfile中的参数值(scope=spfile)。

五、更多

Oracle 用户、对象权限、系统权限

SQL 基础--> ROLLUPCUBE运算符实现数据汇总

SQL基础-->层次化查询(START BY ... CONNECT BY PRIOR)

SQL 基础--> 视图(CREATE VIEW)

Oracle 常用目录结构(10g)

分享到:
评论

相关推荐

    Oracle数据字典

    除了上述静态的数据字典视图,Oracle还有动态的数据字典视图,以"V$"或"GV$"为前缀。这些视图被称为动态视图,因为它们提供了关于Oracle实例运行时的动态性能和统计信息。动态视图通常以V$开头,它们是基于X$虚拟...

    ORACLE数据字典与视图

    ### ORACLE 数据字典与视图详解 ...通过这些详细的数据字典视图和动态性能表,Oracle 数据库管理员可以有效地管理数据库资源,监控性能,以及进行故障排除等工作。这些工具对于确保数据库的稳定运行至关重要。

    oracle常用数据字典视图

    数据字典视图说明: 数据字典视图一般有三套:以存表的视图为例 dba_tables[DBA所有的], all_tables[所有用户所有的], user_tables[当前用户所有的] 对于DBA所有的,只有拥有DBA权限的用户才可以查询,否则提示表或...

    oracle 导出数据字典的小工具

    这里介绍的"Oracle 导出数据字典的小工具"是一个实用程序,能够帮助用户将数据字典信息导出为Word格式,方便查看和共享。 首先,数据字典在Oracle中的主要组成部分包括以下几类: 1. **V$视图**:这是Oracle提供的...

    Oracle数据字典大全.doc

    2. 数据字典视图:Oracle提供了许多预定义的视图,如DBA_*, ALL_*, USER_*系列视图,用于访问和查询数据字典信息。例如,DBA_TABLES用于查看所有用户的所有表信息,USER_TAB_COLUMNS则显示当前用户拥有的表的列信息...

    Oracle 数据字典介绍

    数据字典主要可以分为两大类:数据字典基表和数据字典视图。 - **数据字典基表**:这些基表包含了存储在数据字典中的基本信息。它们通常是不可见的,普通用户无法直接访问。 - **数据字典视图**:数据字典视图则...

    Oracle 数据字典

    Oracle 数据库字典视图可以分为两大类:一类是面向数据库信息的视图,如 DBA_TABLES、ALL_TABLES 和 USER_TABLES,这些视图提供了数据库结构信息;另一类是面向实例信息的视图,如 V$视图,这些视图提供了实例相关...

    oracle数据字典与视图

    1. **数据字典表和视图**:了解主要的数据字典视图,如`ALL_OBJECTS`, `DBA_OBJECTS`, `USER_OBJECTS`, `USER_TAB_COLUMNS`等,以及它们各自的用途。 2. **查询数据字典**:学会如何使用`SELECT`语句查询数据字典...

    Oracle数据字典和动态性能视图

    数据字典由两大部分组成:数据字典基本表和数据字典视图。 - **数据字典基本表**:这部分包含了数据库的基础信息,这些表直接由Oracle系统维护,普通用户无法直接访问。这些基础表存储的信息包括但不限于表的定义、...

    ORACLE数据字典(很实用,很适合DBA、开发运维人员、大学生)

    - 数据字典视图进一步分为静态数据字典视图和动态数据字典视图两大类。 - **静态数据字典视图**提供了关于数据库物理和逻辑结构的信息,如表结构、索引等。 - **动态数据字典视图**则提供了实时监控数据库性能的...

    oracle数据字典及视图

    6. 表空间和数据文件:存储数据库对象的位置和大小信息。 7. 用户和角色的密码策略:过期时间、最小密码长度等。 8. 归档和重做日志文件:数据库的恢复信息。 描述中提到的链接可能是一个博客文章,该文章详细介绍...

    Oracle数据字典参考

    Oracle 数据字典由一系列的视图和基表构成。其中,视图是用于展示特定元数据信息的方式,而基表则是实际存储元数据的地方。常见的数据字典视图包括: - **ALL_* 视图**:显示当前用户可以看到的所有对象的信息。 - *...

    mysql/oracle数据字典导出工具

    - **数据安全**:导出数据字典时要谨慎,因为它可能包含敏感信息,如表结构、字段名和数据类型,可能泄露业务逻辑。 - **定制需求**:如果标准输出不符合特定需求,用户可能需要修改SQL脚本以适应特定的报告格式。 ...

    oracle数据字典制作流程

    数据字典是数据库管理员和开发人员了解数据库结构和数据关系的重要工具。在本文中,我们将介绍使用 PowerDesigner 15 Evaluation 版本创建 Oracle 数据字典的流程。 安装 PowerDesigner 15 Evaluation 第一步是在 ...

    Oracle数据字典及中文详解[含CHM版资料]

    "ORACLE数据字典与视图.docx"可能是文档形式的详细指南,涵盖了如何查询和解释Oracle的数据字典视图,以及如何利用这些信息进行数据库管理和开发。文档可能包括如何查询表空间使用情况、分析用户权限、查看表和索引...

    oracle常用数据字典视图.xls

    数据字典视图说明: 数据字典视图一般有三套:以存表的视图为例 dba_tables[DBA所有的], all_tables[所有用户所有的], user_tables[当前用户所有的] 对于DBA所有的,只有拥有DBA权限的用户才可以查询,否则提示表或...

    深入了解Oracle数据字典

    1.3 GV_$, V_$视图和V$, GV$同义词 在Oracle中,V$和GV$视图通常是通过执行`catalog.sql`脚本创建的。这个脚本首先创建V$和GV$视图,然后创建这两个视图的同义词,使得用户可以通过V$或GV$来访问数据。实际上,当...

Global site tag (gtag.js) - Google Analytics