精华内容
下载资源
问答
  • oracle数据字典表与视图 数据字典是数据的数据,也就是元...数据字典表视图存储在system表空间中的。有一种说法是数据字典表与视图部分也存储在sysaux表空间。为了保证数据字典表与视图总是可用的,应该存储在sys...

    oracle数据字典表与视图

           数据字典是数据的数据,也就是元数据。描述了数据库的物理与逻辑存储与相应的信息。模式中对象的定义信息,安全信息,完整性约束信息,和部分的性能监控信息等。数据字典表 与视图存储在system表空间中的。有一种说法是数据字典表与视图部分也存储在sysaux表空间。为了保证数据字典表与视图总是可用的,应该存储在system表空间中才对,当数据库打开以后system总是可用的,这样数据字典表与视图总是可用的。数据字典是在oracle数据库创建的时候产生的,用户不可以对其进行增删改,否则可能对数据库
    造成不可挽回的损坏。出现这种情况oracle也不会管你。数据字典由oracle数据库自行维护,当数据库执行DDL操作的时候,将会插入或者更新,删除某些数据字典中的记录。数据库通过数据字典才查找用户信息,模式中对象的定义信息,和存储结构。用户可以通过一组视图来查询数据字典中的信息。当然用户也可以根据这些视图创建自己的数据字典表或者视图。
          数据字典由以下两类对象组成:

    基表:基表中存储着数据库的信息,只有oracle可以读写,用户很少能够直接的访问这些基表,因为这些基表中的信息是难以看懂的,并且通常情况下都被加密存储。
    视图:基表主要是供oracle数据库自己用的,视图把其中的一些信息抽取解析出来供用户使用,部分视图是可以被所有数据库用户访问的,部分只供管理员使用。
    这些视图大概的分成3组,通过视图前缀来标识。


    前缀       用户访问             内容                注意事项
    DBA_    数据库管理员    所有对象             有些DBA_视图增加了一些额外的                                                               列,列中存储着对数据库管理                                                                   员有用的信息
    ALL_    所有用户   用户有权限访问的对象   包括用户自己拥有的对象,这些                                                                视图是根据用户的当前启用的角                                                                 色给出的
    USER_   所有用户     对象的拥有者         这些带USER_前缀的视图,通常没                                                              有owner列,因为USER_已经隐含                                                              了用户的所有者


    当然并不是所有的视图集都都可以分成上述的3组,如有dba_lock但是没有all_lock.
    oracle数据库系统提供的dictionary视图提供了所有数据字典视图的名字与简要描述。
    SQL> select count(*) from dictionary;                    
      COUNT(*)
    ----------
          2542
    这些数据字典视图数量庞大,是有些可怕。








    本文转自 wws5201985 51CTO博客,原文链接:http://blog.51cto.com/wws5201985/785379,如需转载请自行联系原作者
    展开全文
  • 数据字典和性能视图

    2013-11-15 10:21:17
    这类视图和同义词我们称之为数据字典. 它存储的是不经常改动的数据 动态性能视图: oracle内存在运行中时刻都变化,这些变化的数据寄存于动态性能(内存,固定)中,随数据库启动而建立,随数据库运行而增

    数据字典:
    ORACLE会对系统的操作及相关的信息记录在系统的只读表里,这类表叫基表
    基表过于复杂,oracle在此基础之上又建立了视图和同义词,供DBA查询更人性化的数据
    这类视图和同义词我们称之为数据字典. 它存储的是不经常改动的数据

    动态性能视图:
    oracle内存在运行中时刻都在变化,这些变化的数据寄存于动态性能表(内存表,固定表)中,随数据库启动而建立,随数据库运行而增加内容
    动态性能表也过于复杂,oracle在此基础之上又建立了视图和同义词,用于DBA判断系统的性能状态信息 .
    这类视图和同义词我们称之为动态性能视图. 它储存的是时刻改变的数据



    数据字典

    数据字典在创建数据库时建立的
    分为:
       数据字典基表 ($结尾)
    基表就是用于存放所有数据库对象信息的表
            基于数据字典基表可以生成数据字典视图
       数据字典视图 分别以dba_ all_ user_开头
    由catalog.sql脚本建立 
    通过数据字典视图,使基表中不易理解的数据更接近人性语言


       基表
    在create database 的时候由sql.bsq自动建立
    存储了数据库的描述信息 
    比如 obj$  user$

    基表由SYS拥有 ,只有一少部分基表DBA可以DML,大部分基表不允许DML
    但基表可以让其它用户查询  但我们通常不这样做 因为基本内数据非常复杂
    也有的DBA以研究基表为乐趣 因为数据字典中并不完全展现基表的内容 很多部分被oracle隐藏了.
    SQL> grant select on user$ to scott;

    Grant succeeded.

    SQL> 


       数据字典视图
    由catalog.sql脚本建立 
    通过数据字典视图,使基表中不易理解的数据更接近人性语言
    Oracle server使用它来获取用户、schema对象、存储结构信息 
    执行DDL语句时,oracle server会去修改它 
    用户和DBA把它作为只读查询来获取数据库的信息 
    select view_name,text from dba_views where view_name like 'DBA_TABLESPACES';
    能够看到 它的数据来源于基表ts$
    常见的基表
    物理数据库的结构 
    基表有file$
    数据字典试图有dba_data_files
    存放对象空间分配的定义 
    基表有fet$,uet$,seg$ 
    数据字典视图有Dba_extents、dba_segments 

    一致性约束信息 
    基表有con$ 
    数据字典视图有dba_constraints 

    用户信息 
    基表有User$ 
    数据字典视图有Dba_users,all_users 


    角色和权限 
    基表有SYSAUTH$, User$ 
    数据字典视图有dba_sys_privs,dba_roles 

    审计信息 
    基表有aud$ 
    数据字典视图有DBA_AUDIT_TRAIL 

    数据字典命名包含图

     DBA: 所有的schemas 

     ALL: 当前用户可以访问的schema 

     USERS: 当前用户的schema 

    动态性能视图
    动态性能表记录了当前的数据库状态信息
    通过动态性能表和动态性能视图来获得当前系统运行状态
    动态性能视图对DBA来说很重要

       动态性能表 (X$开头) 
    动态性能表是虚表,不是真正的表 
    动态性能表不能由除SYS外的用户访问 
    它可以由v$fixed_table来查看动态性能表 
    SQL> select count(*) from v$fixed_table where type='TABLE';

      COUNT(*)
    ----------
           613

    SQL> 

       动态性能视图(V_$开头,RAC相关的是GV_$开头) 
    通过动态性能表组合的视图 
    我们最常用的就是动态性能视图,如v_$tablespace 

       动态性能视图的同义词 (V$开头,RAC相关的是GV$开头)



      动态性能表 X$
    以X$为前缀,是ORACLE的内核表
    动态性能表是一种虚表,不是真正的表,也称为内存表或者固定表
    只在内存中 每次启动后oracle都自动构建
    比动态性能试图提供更详尽的信息
    但太复杂 不容易掌握
    它的数据随着数据库的不断运行,动态性能视图中的数据不断更新 
    数据的来源是从内存和控制文件读取
    通过 v$fixed_table   V$FIXED_VIEW_DEFINITION 等有描述
    (其实这里也包含一类 V$ 也是虚表)

      动态性能视图 V_$开头
    既是基于动态性能表而构建的 他是实实在在存在的对象
    DBA就通过这些视图来监控或调优系统

      动态性能视图的同义词
    通过动态性能视图 构建的的同义词
    [oracle@dba admin]$ grep -inr 'V_\$TABLESPACE' ./
    ./catalog.sql:1694:create or replace view v_$tablespace as select * from v$tablespace;
    ./catalog.sql:1695:create or replace public synonym v$tablespace for v_$tablespace;

    虽然看上去是死循环 但实际不是
    红色的是动态性能表
    蓝色的是实实在在存在的视图
    绿色的是同义词



    构建自己的动态性能视图

    实验建立查看隐藏参数的视图(隐藏参数被oracle屏蔽了)

    SQL> select object_type from dba_objects where object_name='V$PARAMETER';

    OBJECT_TYPE
    -------------------
    SYNONYM

    Elapsed: 00:00:00.02
    SQL> SELECT dbms_metadata.get_ddl('SYNONYM','V$PARAMETER','PUBLIC') from dual;

    DBMS_METADATA.GET_DDL('SYNONYM','V$PARAMETER','PUBLIC')
    --------------------------------------------------------------------------------

      CREATE OR REPLACE PUBLIC SYNONYM "V$PARAMETER" FOR "SYS".
    "V_$PARAMETER"



    Elapsed: 00:00:01.32
    SQL> select object_type from dba_objects where object_name='V_$PARAMETER';

    OBJECT_TYPE
    -------------------
    VIEW

    Elapsed: 00:00:00.01
    SQL> select text from dba_views where view_name='V_$PARAMETER';

    TEXT
    --------------------------------------------------------------------------------
    select "NUM","NAME","TYPE","VALUE","DISPLAY_VALUE","ISDEFAULT","ISSES_MODIFIABLE
    ","ISSYS_MODIFIABLE","ISINSTANCE_MODIFIABLE","ISMODIFIED","ISADJUSTED","ISDEPREC
    ATED","DESCRIPTION","UPDATE_COMMENT","HASH" from v$parameter


    Elapsed: 00:00:00.03
    SQL> 


    SQL> SELECT name,type from V$FIXED_TABLE where name='V$PARAMETER';

    NAME    TYPE
    -------------------------------------------------- -----
    V$PARAMETER    VIEW

    Elapsed: 00:00:00.01
    SQL> 
    SQL> select * from V$FIXED_VIEW_DEFINITION where view_name='V$PARAMETER';

    VIEW_NAME
    ------------------------------
    VIEW_DEFINITION
    ----------------------------------------------------------------------------------------------------
    V$PARAMETER
    select NUM , NAME , TYPE , VALUE , DISPLAY_VALUE, ISDEFAULT , ISSES_MODIFIABLE , ISSYS_MODIFIABLE ,
     ISINSTANCE_MODIFIABLE, ISMODIFIED , ISADJUSTED , ISDEPRECATED, DESCRIPTION, UPDATE_COMMENT, HASH  f
    rom GV$PARAMETER where inst_id = USERENV('Instance')


    Elapsed: 00:00:00.01
    SQL> 

    SQL> SELECT name,type from V$FIXED_TABLE where name='GV$PARAMETER';

    NAME    TYPE
    -------------------------------------------------- -----
    GV$PARAMETER    VIEW

    Elapsed: 00:00:00.00
    SQL> 

    SQL> select * from V$FIXED_VIEW_DEFINITION where view_name='GV$PARAMETER';

    VIEW_NAME
    ------------------------------
    VIEW_DEFINITION
    ----------------------------------------------------------------------------------------------------
    GV$PARAMETER
    select x.inst_id,x.indx+1,ksppinm,ksppity,ksppstvl, ksppstdvl, ksppstdf,  decode(bitand(ksppiflg/256
    ,1),1,'TRUE','FALSE'), decode(bitand(ksppiflg/65536,3),1,'IMMEDIATE',2,'DEFERRED',
     3,'IMMEDIATE','FALSE'),  decode(bitand(ksppiflg,4),4,'FALSE',
           decode(bitand(ksppiflg/65536,3), 0, 'FALSE', 'TRUE')),   decode(bitand(ksppstvf,7),
    1,'MODIFIED',4,'SYSTEM_MOD','FALSE'),  decode(bitand(ksppstvf,2),2,'TRUE','FALSE'),  decode(bitand(k
    sppilrmflg/64, 1), 1, 'TRUE', 'FALSE'),  ksppdesc, ksppstcmnt, ksppihash  from x$ksppi x, x$ksppcv y
     where (x.indx = y.indx) and  ((translate(ksppinm,'_','#') not like '##%') and   ((translate(ksppin
    m,'_','#') not like '#%')      or (ksppstdf = 'FALSE') or      (bitand(ksppstvf,5) > 0)))


    Elapsed: 00:00:00.00
    SQL> 




    create or replace view h$parameter (
    NUM,
    NAME,
    TYPE,
    VALUE,
    DISPLAY_VALUE,
    ISDEFAULT,
    ISSES_MODIFIABLE,
    ISSYS_MODIFIABLE,
    ISINSTANCE_MODIFIABLE,
    ISMODIFIED,
    ISADJUSTED,
    ISDEPRECATED,
    DESCRIPTION,
    UPDATE_COMMENT,
    HASH
    )
    as
    select 
    x.indx+1,
    ksppinm,
    ksppity,
    ksppstvl, 
    ksppstdvl, 
    ksppstdf,  
    decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE'),
    decode(bitand(ksppiflg/65536,3),1,'IMMEDIATE',2,'DEFERRED',3,'IMMEDIATE','FALSE'),  
    decode(bitand(ksppiflg,4),4,'FALSE',decode(bitand(ksppiflg/65536,3), 0, 'FALSE', 'TRUE')),   
    decode(bitand(ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE'),  
    decode(bitand(ksppstvf,2),2,'TRUE','FALSE'),  
    decode(bitand(ksppilrmflg/64, 1), 1, 'TRUE', 'FALSE'),  
    ksppdesc, 
    ksppstcmnt, 
    ksppihash  
    from x$ksppi x, x$ksppcv y
    where (x.indx = y.indx) and (translate(ksppinm,'_','#') like '#%');



    create or replace view hh$parameter (
    NUM,
    NAME,
    TYPE,
    VALUE,
    DISPLAY_VALUE,
    ISDEFAULT,
    ISSES_MODIFIABLE,
    ISSYS_MODIFIABLE,
    ISINSTANCE_MODIFIABLE,
    ISMODIFIED,
    ISADJUSTED,
    ISDEPRECATED,
    DESCRIPTION,
    UPDATE_COMMENT,
    HASH
    )
    as
    select 
    x.indx+1,
    ksppinm,
    ksppity,
    ksppstvl, 
    ksppstdvl, 
    ksppstdf,  
    decode(bitand(ksppiflg/256,1),1,'TRUE','FALSE'),
    decode(bitand(ksppiflg/65536,3),1,'IMMEDIATE',2,'DEFERRED',3,'IMMEDIATE','FALSE'),  
    decode(bitand(ksppiflg,4),4,'FALSE',decode(bitand(ksppiflg/65536,3), 0, 'FALSE', 'TRUE')),   
    decode(bitand(ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE'),  
    decode(bitand(ksppstvf,2),2,'TRUE','FALSE'),  
    decode(bitand(ksppilrmflg/64, 1), 1, 'TRUE', 'FALSE'),  
    ksppdesc, 
    ksppstcmnt, 
    ksppihash  
    from x$ksppi x, x$ksppcv y
    where (x.indx = y.indx) and (translate(ksppinm,'_','#') like '##%');

    展开全文
  • Tableau数据字典提供有关存储在Tableau Server存储库的“工作组” PostgreSQL数据库中的表和视图中的信息的信息。 数据字典有什么用? 该工作组数据库为Tableau Server提供持久存储,并且主要用于支持Tableau ...
  • --============================== --Oracle 数据字典数据字典视图 --============================== ...SYS用户拥有所有的数据字典表,数据字典基本一般以$结尾,如col$,tab$等,这些数据字典存放s

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

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

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

    数据字典

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

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

    数据字典的形成

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

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

    数据字典的特点

    每个Oracle数据库的中枢

    描述数据库和它的对象

    包含只读的表和视图

    存储在SYSTEM表空间中

    拥有者是SYS用户

    由Oracle服务器自己维护

    SELECT访问

    数据字典内容:

    数据字典提供下列信息:

    逻辑和物理的数据库结构

    对象的定义和空间分配

    一致性限制

    用户

    角色

    权限

    审计

    数据字典的主要用途:

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

    用户

    对象

    存储结构

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

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

    基础表和数据字典视图:

    数据字典包括两个部分:

    基础表

    存储数据库的描述

    CREATE DATABASE命令创建(sql.bsq)

    数据字典视图

    用于简化基础表的信息

    通过PUBLIC同义词访问

    由脚本catalog.sql创建

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

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

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

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

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

    创建数据字典视图:

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

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

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

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

    常用的数据字典:

    一般的概况: TAB,DICTIONARY, 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> SELECTtext FROM dba_viewsWHERE 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_definitionFROM 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)

     

    转载:http://blog.csdn.net/robinson_0612/article/details/5711383?reload

    展开全文
  • oracle数据字典  ...所有数据库的数据字典表和视图存储在SYSTEM表空间中。 由于当数据库打开时,SYSTEM 表空间始终处于联机状态 ,所以当数据库打开时,数据字典总是可用的。 Oracle数据库的...

    oracle数据字典 
    1.概念
    数据字典是oracle数据库用来存储数据库结构信息的地方。
    数据字典是用来描述数据库数据的组织方式的,由表和视图组成。
    数据字典基表是在任何 Oracle 数据库中创建的第一批对象。
    所有数据库的数据字典表和视图都存储在SYSTEM表空间中。
    由于当数据库打开时,SYSTEM 表空间始终处于联机状态 ,所以当数据库打开时,数据字典总是可用的。
    Oracle数据库的SYS用户,拥有数据字典中的所有基表和用户可访问视图。
    数据字典基表中的数据,对于Oracle 数据库发挥正常功能是必要的。
    因此,只应当由数据库写入或更改数据字典信息。
    无论何时,任何数据库用户都不应改变SYS模式中的表行或模式对象,因为这种行为可能会危及数据完整性。
    安全管理员必须严格控制这个最重要的帐户。
    修改或操作数据字典表中的数据,可能会永久性地对数据库操作造成负面影响。
    在数据库运行期间,数据库读取数据字典,以确定存在模式对象,且用户对它们具有适当的访问权限。
    Oracle 数据库也会不断地更新数据字典,以反映对数据库结构、审计、授权、和数据等所做的更改。
    系统提供的DICTIONARY视图包含所有数据字典视图的名称和简短说明。
    select * from dictionary order by table_name; --2553

    2.分类
    数据字典视图分为3类:
    2.1 user_*(当前用户所拥有对象的有关信息)
    包括用户所创建的模式对象的元数据,只显示与该用户相关的行,
    除隐含的OWNER列外,与其他视图具有相同的列。
    select count(1) from dictionary where table_name like 'USER_%'; --375

    2.2 all_*(当前用户可访问对象的信息)
    包括用户本身拥有的模式对象之外,还包括该用户通过公共或显式授予的特权及角色所能访问的模式对象信息。
    select count(1) from dictionary where table_name like 'ALL_%'; --356


    2.3 dba_*(数据库中所有对象的信息)
    具有DBA_前缀的视图显示在整个数据库中的所有相关信息。DBA_ 视图仅用于管理员。
    select count(1) from dictionary where table_name like 'DBA_%'; --705

    查询数据字典数据时使用大写字母。可用upper\lower函数转换。
    一下以user_*实例举例(如没有user_*,则依次以all_*、dba_*举例)。

    3.类别
    3.1 表、视图
    user_tables 关系表
    user_tab_cols 列
    user_tab_columns 表列
    user_tab_comments 表的注释
    user_col_comments 表和视图的列的注释
    user_updatable_columns 表和视图中的列是否可以被DML
    user_views 视图

    3.2 约束
    user_constraints 表的约束
    user_cons_columns 表的约束的列

    3.3 索引
    user_indexes 索引
    user_ind_columns 索引列
    user_ind_expressions 索引的函数索引表达式
    user_ind_statistics 索引统计信息

    3.4 子程序、触发器
    user_procedures 子程序名(包括过程、函数、包)
    user_arguments 子程序参数(包括过程、函数、包)
    user_triggers 触发器
    user_trigger_cols 触发器的列 
    user_dependencies 对象间的依赖

    3.5 源代码和编译错误
    user_source 包,包体,函数,过程,对象类型,对象类型体的源代码
    user_errors 视图和包,包体,函数,过程的编译错误

    3.6 数据库对象
    user_sequences 序列
    user_synonyms 替代名(同义词)
    user_jobs 数据库任务
    user_db_links 数据库连接
    all_directories 目录
    user_libraries 库(字典)

    3.7 集合、LOB、对象类型和对象表
    user_coll_types 集合类型
    user_lobs LOB
    user_types 对象类型
    user_type_attrs 对象类型的属性
    user_type_methods 对象类型的方法
    user_object_tables 对象表 
    user_method_params 对象类型方法的参数
    user_method_results 对象类型方法的返回值

    3.8 分区和子分区
    user_part_tables 已分区表
    user_tab_partitions 表的分区
    user_tab_subpartitions 表的子分区 
    user_part_indexes 已分区索引
    user_ind_partitions 索引分区
    user_ind_subpartitions 索引子分区
    user_part_lobs 表中的LOB数据分区
    user_lob_partitions LOB分区
    user_lob_subpartitions LOB子分区
    user_part_key_columns 已分区对象的分区关键字列
    user_subpart_key_columns 使用组合范围/散列法分区的表的子分区关键字列 
    user_part_col_statistics 表分区统计和其他信息
    user_subpart_col_statistics 表子分区的列统计
    user_part_histograms 表的分区的直方图
    user_subpart_histograms 表的子分区的直方图

    3.9 权限和授权
    user_sys_privs 用户系统权限
    user_tab_privs 授予作为拥有者、授权者、权限受让者对象的权限
    user_tab_privs_made 授予当前用户对象的权限
    all_tab_privs_recd 授予作为权限受让者的用户对象的权限
    user_col_privs 授予作为拥有者、授权者、或受让者的用户的可授访问表或视图列的权限
    user_col_privs_made 授予当前用户表或视图列的权限
    user_col_privs_recd 授予作为权限受让者用户表或视图列权限

    3.10 统计和审计
    user_tab_col_statistics 表列的统计
    user_tab_histograms 表和视图的直方图
    audit_actions 审计跟踪类型码的说明

    oracle动态性能视图
    1.定义
    在Oracle数据库的操作过程中,它会维护一组记录当前数据库活动的虚拟表(视图),这些视图称为动态性能视图。
    动态性能视图在数据库处于打开状态和使用过程中会不断更新。
    动态性能视图以V$作为前缀。
    动态性能视图包含以下信息:
    系统和会话参数;
    内存使用和分配;
    文件状态(包括RMAN备份文件);
    工作和任务的进度;
    SQL运行;
    统计和度量。

    2.动态性能视图用途:
    Oracle 企业管理器使用这些视图,来获取有关数据库的信息。
    管理员可以使用这些视图,用于性能监控和调试。
    https://localhost:1158/em

    3.动态性能视图分类
    动态性能视图不能被数据库管理员更改或删除,只能执行查询操作。
    针对于单实例数据库和数据库集群,动态性能视图分为两类:
    3.1 V$ 用于单实例数据库
    select count(1) from dictionary where table_name like 'V$%'; --600

    3.2 GV$ 用于数据库集群
    在 Oracle 应用集群 (Oracle RAC)中,查询GV$ 视图会从所有合适的数据库实例中检索其 V$ 视图信息。
    对几乎所有的 V$ 视图,都存在一个相应的GV$ 视图。
    select count(1) from dictionary where table_name like 'GV$%'; --478

    使用数据库配置助手 (DBCA) 创建数据库时, Oracle 会自动创建数据字典。
    Oracle 数据库将自动运行catalog.sql 脚本,其中包含用于动态性能视图的视图和公共同义词的定义。
    E:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql

    4.动态性能视图的存储
    动态性能视图基于从数据库内存结构生成的虚拟表。因此,他们不是存储在数据库中的常规表。
    由于数据是动态更新的,所以不能保证视图的读一致性。
    因为动态性能视图并不是真正的表,其数据取决于数据库和实例的状态。
    例如,当数据库已启动但未装入时,可以查询 v$instance和 v$bgprocess。
    但是,直到数据库已装入时,才能查询v$datafile。

    4.1 数据库服务的启动
    startup nomount --加载参数文件
    alter database mount
    alter database open

    startup mount dbname --加载控制文件
    alter database open

    startup open dbname --加载数据文件

    startup 
    4.2 数据库服务的关闭
    shutdown immediate

    5.举例
    5.1 v$version
    查询数据库版本信息
    select * from v$version;

    5.2 v$sgainfo
    查询sga中的相关信息
    select * from v$sgainfo

    5.3 v$parameter 
    查询初始化参数相关信息 
    select * from v$parameter

    5.4 v$statname统计名(及分类)
    select distinct class from v$statname
    class取值解释:
    1 代表事例活动
    select * from v$statname where class="1";
    2 代表redo buffer活动
    select * from v$statname where class="2";
    4 代表锁
    select * from v$statname where class="4";
    8 代表数据缓冲活动
    select * from v$statname where class="8";
    --16 代表os活动
    select * from v$statname where class="16";
    32 代表并行活动
    select * from v$statname where class="32";
    33 32+1
    select * from v$statname where class="33";
    40 32+8
    select * from v$statname where class="40";
    64 代表表访问
    select * from v$statname where class="64";
    72 64+8
    select * from v$statname where class="72";
    128 代表调试信息
    select * from v$statname where class="128";
    192 128+64
    select * from v$statname where class="192";
    select * from v$sesstat where statistic#=6 and value>0;


    5.5 v$instance
    这个v$视图显示当前实例的状态。
    select * from v$instance; 
    系统总的运行时间:
    select (sysdate - startup_time)*24*60*60 as seconds from v$instance;

    5.6 v$datafile 数据文件
    视图包含有关数据文件的信息。
    select * from v$datafile
    v$tempfile 临时文件
    select * from v$tempfile;
    v$filestat 数据文件统计信息
    select * from v$filestat;
    v$tempstat 临时文件统计信息
    select * from v$tempstat;
    v$segstat 段统计信息
    select * from v$segstat where obj#=(select object_id from dba_objects where object_name='EMP' and owner='SCOTT');

    5.7 v$fixed_table 
    动态性能表信息
    select * from v$fixed_table where type='TABLE';
    动态性能视图信息
    select * from v$fixed_table where type='VIEW';

    5.8 执行计划相关视图
    v$sql_plan , v$sql_plan_statistics, v$sqltext_with_newlines

    5.11 v$session和v$session_wait
    v$session视图记录了当前连接的session的信息,
    包括:用户名、连接主机、session正在执行的sql的sql_address、sql_hash_value等信息。
    select * from v$session where program='plsqldev.exe' and username='SYS'
    v$session_wait视图记录当前连接session正在等待的资源信息
    select * from v$session_wait

    5.12 v$sesstat 和 v$sysstat
    v$sesstat视图记录session的统计信息,包括session的逻辑数据读取、物理数据读取、排序操作等。
    v$sysstat视图记录记录的是整个数据库系统的统计信息。
    select * from v$sesstat where statistic#=6 and value>0;
    select * from v$sysstat where statistic#=6 and value>0;

    5.13 v$session_event 和 v$system_event
    v$session_event视图记录了当前连接session的等待事件。
    v$system_event视图记录整个数据库系统自启动以来的等待事件汇总。
    select * from v$session_event
    select * from v$system_event
    事件名称
    select * from v$event_name
    select * from v$event_name where name='db file scattered read';
    当前session的累计等待:
    select * from v$session_event where sid =(select sid from v$mystat where rownum<2)
    v$session_wait是正在等待,当session结束后,等待事件被记入v$session_event 。

    5.14 v$process
    oracle相关进程
    select * from v$process
    进程解释:
    ARC0 archive:--归档操作
    作用:发生日志切换时把写满的联机日志文件拷贝到归档目录中。
    LGWR写日志写到需要覆盖重写的时候,触发ARCH进程去转移日志文件,复制出去形成归档日志文件,以免日志丢失。
    触发条件:日志切换时被LGWR唤醒。
    设置:通过参数LOG_ARCHIVE_MAX_PROCESSES设置oracle的ARCH个数。

    CKPT checkpoint:--检查点事件
    作用:维护数据库一致性状态。
    检测点时刻保持数据文件与SGA中的内容一致,这需要和DBW0、LGWR 一起工作。
    DBWR写入脏数据,同时触发LGWR进程。
    CKPT更新控制文件中的检查点记录。
    通过设置FAST START MTTR TARGET参数调整来控制CKPT的触发时间。
    触发条件:日志切换(log switch)会触发检查点。

    D000 --共享服务器调度器(Dnnn)
    DBRM
    DBW0 database write--数据写入 
    作用:把SGA中被修改的数据同步到磁盘文件中,保证Buffer Cache中有足够的空闲数据块数量。
    如果LGWR出现故障,DBWR不会听从CKPT命令罢工,
    因为Oracle在将数据缓存区数据写到磁盘前,会先进行日志缓冲区写进日志文件的操作,
    并耐心的等待其先完成,才会去完成这个内存刷到磁盘的动作。
    触发条件: 1、检查点CKPT 
    2、一个服务进程在设定的时间内没有找到空闲块
    3、每三秒自动唤醒一次。
    设置:DB_WRITER_PROCESS用来定义DBWn进程数量。
    (commit命令只是把记录修改写入日志文件,不是把修改后的数据写入数据文件)
    DIA0
    DIAG --可诊断性守护(Diagnosabilitydaemon,DIAG)进程
    DIAG 只能用于RAC 环境中。它负责监视实例的总体“健康情况”,并捕获处理实例失败时所需的信息。
    GENO

    CJQ0 job queue coordinator:--作业队列协调器(CJQ0) 
    CJQ0 在作业队列表中看到需要运行的作业时,会启动Jnnn 进程。
    J000 --作业队列进程
    作业队列进程监视一个作业表,这个作业表告诉它何时需要刷新系统中的各个快照。

    LGWR log write:--日志文件写入 
    作用:把log buffer中的日志内容写入联机的日志文件中,释放log用户buffer空间。
    触发条件:
    1、用户发出commit命令,把redo log buffer中的记录写入日志文件,写入一条提交的记录
    2、三秒定时唤醒。
    3、日志缓冲区log buffer超过1/3,或日志数量超过1M。
    4、DBWR进程触发:DBWn视图将脏数据块写入磁盘先检测他的相关redo记录是否写入联机日志文件,
    如果没有就通知LGWR进程。在oracle中称为提前写机制,redo记录先于数据记录被写入磁盘
    5、联机日志文件切换也将触发LGWR。

    MMAN memory manager--自动内存管理
    作用:MMAN 进程用于协调共享内存中各组件(默认缓冲区池、共享池、Java 池和大池)的大小设置和大小调整。
    每分钟都检查AWR性能信息,并根据这些信息来决定SGA组件最佳分布。
    设置:STATISTICS_LEVEL统计级别
    SGA_TARGET:SGA总大小 

    MMNL manageability monitor light--轻量级的MMON 
    MMNL进程会根据调度从SGA 将统计结果刷新输出至数据库表。

    MMON manageability monitor--AWR主要的进程
    作用:1、收集AWR必须的统计数据,把统计数据写入磁盘。
    2、生成server--generated报警
    每小时把shared pool中的统计信息写入磁盘,或者shared pool占用超过15%。

    PMON process monitor--维护用户进程 进程监控器
    作用:1、发现用户进程异常终止,并进行清理。释放占用资源。(清理异常终止用户使用的锁)
    2、向监听程序动态的注册实例。
    触发条件:定时被唤醒,其他进程也会主动唤醒它。
    PSP0
    Q000
    QMNC
    RECO Distributed Database Recovery -- 用于分布式数据库的恢复
    某个应用跨越多个数据库,需要都提交成功,事务才会成功,否则全部回滚。
    S000 --共享服务器(Snnn)进程
    SMCO
    SMON system monitor--实例维护进程 系统监控器
    作用:1、负责实例恢复,前滚(Roll Forward)恢复到实例关闭的状态,使用最后一次检查点后的日志进程重做。
    这时包括提交和未提交的事务。打开数据库,进行回滚(Roll Back):回滚未提交的事务。
    2、负责清理临时段,以释放空间
    触发条件:定期被唤醒或者被其他事务主动唤醒。
    VKRM
    VKTM
    W000

    LCKn 仅适用于RAC数据库,最多可有10个进程(LCK0,LCK1,...,LCK9),用于实例间的封锁。
    RVWR --恢复写入器(Recovery Writer)
    负责维护闪回恢复区中块的“前”映像,要与FLASHBACKDATABASE 命令一起使用。
    CTWR --修改跟踪进程(Change Tracking Process)
    作用:跟踪数据块的变化,把数据块地址记录到 change_tracking file文件中。
    RMAN的增量备份将使用这个文件来确定那些数据块发生了变化,并进行备份。

    5.15 v$sql 和v$sqltext SQL执行信息
    select * from v$sql where parsing_schema_name='SCOTT' and sql_text like '%emp%';
    select * from v$sqlarea where sql_id='ab5j0f528hk26'

    5.17 v$lock 锁等待信息
    select * from v$lock;
    select * from v$enqueue_stat;
    select * from v$enqueue_lock;

    5.18 v$latch_children 闩竞争信息
    select * from v$latch;
    select * from v$latch_children;

    5.19 v$bh buffer信息
    select * from v$bh where file#=4 and block#=
    (select header_block from dba_segments where owner='SCOTT' and segment_name='EMP');

    6.oracle性能检测sql语句 
    6.1. 监控事例的等待
    select event,sum(decode(wait_time,0,0,1)) prev,sum(decode(wait_time,0,1,0)) curr,count(*) tot 
    from v$session_wait group by event order by 4;
    注解:order by 4 指按第4列进行排序,
    session在数据库中当前正在等待什么,每一个连接到实例的session都对应一条记录。

    6.2 回滚段的争用情况
    select name, waits, gets, waits/gets ratio 
    from v$rollstat a, v$rollname b 
    where a.usn = b.usn;

    6.3 监控表空间的 I/O 比例
    select df.tablespace_name name,df.file_name,f.phyrds pyr,f.phyblkrd pbr,f.phywrts pyw, f.phyblkwrt pbw 
    from v$filestat f, dba_data_files df 
    where f.file# = df.file_id
    order by df.tablespace_name;

    6.4 监控文件系统的 I/O 比例
    select substr(a.file#,1,2) "#", substr(a.name,1,30) "Name",a.status, a.bytes, b.phyrds, b.phywrts 
    from v$datafile a, v$filestat b 
    where a.file# = b.file#;

    6.5 监控 SGA 的命中率
    select a.value + b.value "logical_reads", c.value "phys_reads",round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO" 
    from v$sysstat a, v$sysstat b, v$sysstat c 
    where a.statistic# = 38 and b.statistic# = 39 and c.statistic# = 40;

    6.6 监控 SGA 中字典缓冲区的命中率
    select parameter,gets,Getmisses,getmisses/(gets+getmisses)*100 "miss ratio",(1-getmisses/(gets+getmisses))*100 "Hit ratio" 
    from v$rowcache 
    where gets+getmisses <>0
    group by parameter,gets,getmisses;

    6.7 监控 SGA 中共享缓存区的命中率,应该小于1%
    select sum(pins) "Total Pins", sum(reloads) "Total Reloads",sum(reloads)/sum(pins) *100 libcache from v$librarycache;

    6.8 显示所有数据库对象的类别和大小
    select count(name) num_instances ,type,sum(source_size) source_size,sum(parsed_size) parsed_size ,sum(code_size) code_size ,sum(error_size) error_size,
    sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size) size_required 
    from dba_object_size 
    group by type order by 2;

    6.9 监控 SGA 中重做日志缓存区的命中率,应该小于1%
    SELECT name, gets, misses, immediate_gets, immediate_misses,Decode(gets,0,0,misses/gets*100) ratio1,
    Decode(immediate_gets+immediate_misses,0,0,immediate_misses/(immediate_gets+immediate_misses)*100) ratio2
    FROM v$latch 
    WHERE name IN ('redo allocation', 'redo copy');

    6.10 监控内存和硬盘的排序比率,最好使它小于 .10,增加 sort_area_size
    SELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts (disk)');

    6.11 监控当前数据库谁在运行什么SQL语句
    SELECT osuser, username, sql_text from v$session a, v$sqltext b 
    where a.sql_address =b.address order by address, piece;

    6.12 监控 MTS
    select busy/(busy+idle) "shared servers busy" from v$dispatcher;
    此值大于0.5时,参数需加大

    6.13 找ORACLE字符集(也可以用来查看日期格式)
    select * from sys.props$ where name='NLS_CHARACTERSET';

    6.14 在某个用户下找所有的索引
    select user_indexes.table_name, user_indexes.index_name,uniqueness,column_name 
    from user_ind_columns, user_indexes 
    where user_ind_columns.index_name = user_indexes.index_name and user_ind_columns.table_name = user_indexes.table_name
    order by user_indexes.table_type,user_indexes.table_name,user_indexes.index_name, column_position;

    6.15 表、索引的存储情况检查
    select segment_name,sum(bytes),count(*) ext_cnt 
    from dba_extents 
    where owner='SCOTT' and segment_type='TABLE' 
    group by owner,segment_name;

    select segment_name,sum(bytes),count(*) ext_cnt 
    from dba_extents 
    where owner='SCOTT' and segment_type='INDEX' 
    group by segment_name;

    6.16. 碎片程度
    select tablespace_name,count(tablespace_name) from dba_free_space 
    group by tablespace_name having count(tablespace_name)>10;

    select * from 
    (select tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_space where tablespace_name='USERS'
    union all 
    select tablespace_name,block_id,bytes,blocks,segment_name from dba_extents where tablespace_name='USERS')
    order by block_id

    7.oracle性能查证sql语句 
    --1、耗时长sql查证:--
    select * from 
    (select sql_text,round(elapsed_time/1000000,2),
    round(elapsed_time/1000000/executions,2) perelapsed_time,executions 
    from (select * from v$sql order by elapsed_time desc) where rownum<26) 
    order by perelapsed_time desc;

    --2、占用cpu时间长的sql查证:--
    select * from 
    (select sql_text,round(cpu_time/1000000,2),
    round(cpu_time/1000000/executions,2) percpu_time,executions
    from (select * from v$sql order by cpu_time desc) where rownum<26) 
    order by percpu_time desc;

    --3、磁盘读数据量大sql查证:--
    select sql_text,disk_reads,executions 
    from (select * from v$sqlarea order by disk_reads desc) where rownum<26;

    --4、获取超时sql--
    select username,sid,opname, round(sofar*100 / totalwork,0) progress, time_remaining,sql_text 
    from v$session_longops,v$sql where sql_address = address and sql_hash_value = hash_value
    order by start_time;

    --5、查看表空间大小和使用情况all--
    查看表空间使用情况的SQL语句: 
    select a.tablespace_name "表空间名",total 表空间大小,free 表空间剩余大小, 
    (total-free) 表空间使用大小, round((total-free)/total,4)*100 "使用率 %",
    (select file_name from dba_data_files where tablespace_name=a.tablespace_name and rownum<2) "文件名" 
    from 
    (select tablespace_name,sum(bytes) free from dba_free_space group by tablespace_name) a, 
    (select tablespace_name,sum(bytes) total from dba_data_files group by tablespace_name) b 
    where a.tablespace_name=b.tablespace_name 
    --创建表空间及数据文件 
    create tablespace iests datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE\IES_1.DBF' size 200m reuse autoextend on next 50m;
    --给表空间添加数据文件
    alter tablespace iests add datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE\IES_2.DBF' size 200m reuse autoextend on next 50m;
    --扩展已有数据文件的大小
    alter database datafile 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORACLE\SYSTEM01.DBF' resize 600M;

    --6、查看临时表空间情况--
    SELECT d.status "Status", d.tablespace_name "Name", d.contents "Type", d.extent_management "Extent Management", 
    TO_CHAR(NVL(a.bytes / 1024 / 1024, 0),'99,999,990.900') "Size (M)", 
    NVL(t.bytes, 0)/1024/1024 ||'/'||NVL(a.bytes/1024/1024, 0) "Used (M)", 
    TO_CHAR(NVL(t.bytes / a.bytes * 100, 0), '990.00') "Used %" 
    FROM sys.dba_tablespaces d, 
    (select tablespace_name, sum(bytes) bytes from dba_temp_files group by tablespace_name) a, 
    (select tablespace_name, sum(bytes_cached) bytes from v$temp_extent_pool group by tablespace_name) t 
    WHERE d.tablespace_name = a.tablespace_name(+) 
    AND d.tablespace_name = t.tablespace_name(+) 
    AND d.extent_management like 'LOCAL' 
    AND d.contents like 'TEMPORARY';

    --7、查证外键没有建索引的情况--
    select table_name, constraint_name,
    cname1 || nvl2(cname2,','||cname2,null) ||
    nvl2(cname3,','||cname3,null) || nvl2(cname4,','||cname4,null) ||
    nvl2(cname5,','||cname5,null) || nvl2(cname6,','||cname6,null) ||
    nvl2(cname7,','||cname7,null) || nvl2(cname8,','||cname8,null)
    columns
    from ( select b.table_name,
    b.constraint_name,
    max(decode( position, 1, column_name, null )) cname1,
    max(decode( position, 2, column_name, null )) cname2,
    max(decode( position, 3, column_name, null )) cname3,
    max(decode( position, 4, column_name, null )) cname4,
    max(decode( position, 5, column_name, null )) cname5,
    max(decode( position, 6, column_name, null )) cname6,
    max(decode( position, 7, column_name, null )) cname7,
    max(decode( position, 8, column_name, null )) cname8,
    count(*) col_cnt
    from (select substr(table_name,1,30) table_name,
    substr(constraint_name,1,30) constraint_name,
    substr(column_name,1,30) column_name,
    position
    from user_cons_columns ) a,
    user_constraints b
    where a.constraint_name = b.constraint_name
    and b.constraint_type = 'R'
    group by b.table_name, b.constraint_name
    ) cons
    where col_cnt > ALL
    ( select count(*)
    from user_ind_columns i
    where i.table_name = cons.table_name
    and i.column_name in (cname1, cname2, cname3, cname4,
    cname5, cname6, cname7, cname8 )
    and i.column_position <= cons.col_cnt
    group by i.index_name
    ) order by table_name;

    --8、检查被锁的对象--
    select l.object_id,l.session_id,l.oracle_username,l.locked_mode,o.object_name
    from v$locked_object l,dba_objects o 
    where l.object_id=o.object_id;

    --9. 查看锁等待 
    select l.object_id,l.session_id,l.oracle_username,l.locked_mode,o.object_name,t.serial# 
    from v$locked_object l,dba_objects o,v$session t 
    where l.object_id=o.object_id and l.session_id=t.sid;

    alter system kill session 'session_id,t.serial#';
    alter system kill session '138,403';

    展开全文
  • oracle数据字典 1....所有数据库的数据字典表和视图存储在SYSTEM表空间中。由于当数据库打开时,SYSTEM 表空间始终处于联机状态 ,所以当数据库打开时,数据字典总是可用的。Oracle数据库的SY...
  • 1.系统ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM进行查询。几个重要的或者视图如下:v$controlfile:控制文件的信息;v$datafile:数据文...
  • 1)数据字典是只读表和视图的集合,数据字典的所有者为sys用户。用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的。组成:数据字典基表和数据字典视图,其中基表存储数据库的基本...
  • 数据字典动态性能视图) 一、oracle中还存在另一类数据字典视图,他们是动态性能视图是一组虚。在oracle运行期间这些虚表存储在内存中记录了当前数据库的活动信息。因此这些动态性能中的信息...
  • Oracle将对数据库系统的操作及相关信息记录到系统的只读表或只读视图中,我们称这些表和视图数据字典数据字典是数据库的核心,存储了非常重要的控制信息,建立数据库时,就建立了数据字典数据字典描述了...
  • 数据字典数据字典表和其他表的重要区别在于:他是在数据库创建时期产生的,并且不允许用户直接访问;数据字典中包含如下内容,并且存储在SYSTEM和SYSAUX表空间中1、数据库逻辑结构和物理结构的元数据2、用户定义3、...
  •  数据字典记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户。  用户只能在数据字典上执行查询操作(select语句),而其维护和修改是由系统自动完成的。  这里我们谈谈数据字典的...
  • 1.系统ORACLE数据库的系统参数都存储在数据库中 v$controlfile:控制文件的信息; v$datafile:数据文件的信息; v$log:文件的信息; v$process:处理器的信息; v$session:会话信息; v$transaction:...
  • 1.系统 ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM进行查询。几个重要的或者视图如下: v$controlfile:控制文件的信息; v$datafile:数据文件的信息; v$log: 日志文件的信息...
  • oracle数据字典视图

    2017-09-01 09:50:00
    数据字典的概念 还记得我们手工建库的时候,运行的两个脚本文件。... 数据字典是Oracle数据库中的一系列只读的参考表和视图。它与数据库内的其他数据相同,也是以标及视图的形式组织的。一个数据库的全部数据字典...
  • 数据字典1.1什么是数据字典?...存储了数据库元数据的一些就是数据字典(这些基础上可以建立视图,同义词等对象),这些元数据一个特点就是定义,它可能并不存放对象(比如)实际的数据,但...
  • 数据字典:是oracle中的重要组成部分,他提供了数据库的一些系统信息,oracle中,为了记录下所有对象的信息,提供了数据字典的概念,他是只读表和视图的集合,数据库中一共提供了三个级别的数据字典 1、用户级别...
  • 定义:数据字典是oracle数据库中最重要的组成部分,记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有者为sys用户;用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成的! 数据字典...
  • 存储权限信息的数据字典视图dba_col_privs: 包含数据库所有授予列上的对象权限信息 all_col_privs_made:包含当前用户作为对象权限的授予者,所有列上的对象权限信息 all_col_privs_recd:包含当前用户作为对象...
  • 存储权限信息的数据字典视图 dba_col_privs: 包含数据库所有授予列上的对象权限信息 all_col_privs_made:包含当前用户作为对象权限的授予者,所有列上的对象权限信息 all_col_privs_recd:包含当前用户作为...
  • Oracle数据库之集合运算 Oracle数据库之数据处理 Oracle数据库之建表管理 Oracle数据库之对象视图、索引、序列、同义词 一、存储过程存储函数 1、概念 存储在数据库中供所有用户程序调用的子程序,称为存储...
  • 数据字典存储的信息类型 数据字典分为两大类:基表、数据字典视图。oracle服务器数据库创建时通过运行sql.bsp来生成这些基表。...1、数据字典的逻辑结构物理结构如空间数据文件的信息 2、所...
  • 一、DBA最常用的数据字典 dba_data_files:通常用来查询关于数据库文件的信息 dba_db_links:包括数据库中的所有数据库链路,也就是databaselinks。 dba_extents:数据库中所有分区的信息 dba_free_space:所有空间...
  • 数据字典

    2009-10-28 17:59:48
    数据字典由两种对象构成-----数据字典表和数据字典视图.数据字典表:当create database命令创建数据库时,数据字典表同时生成.数据字典表存储着数据字典信息.数据字典表被存储在system表空间上,被sys用户拥有只...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 678
精华内容 271
关键字:

数据字典表和视图存储在