• oracle 常用的系统表查询


    (转自:http://blog.csdn.net/marshalchen/article/details/6552103)

    select * from user_tab_cols where column_name=upper('xxxxx');查询哪些表中有某一列

    select status from user_objects where object_name=upper('f_get_multicountry_from_code')  查询过程或函数是否编译完成

    alter procedure '||object_name||' compile; 编译过程或函数

    数据字典dict总是属于Oracle用户sys的。
      1、用户:
       select username from dba_users;
      改口令
       alter user spgroup identified by spgtest;
      2、表空间:
       select * from dba_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='RBS';//表空间对应的数据文件

       select * from dba_segments
        where tablespace_name='INDEXS';
      3、数据库对象:
       select * from dba_objects;
       CLUSTER、DATABASE LINK、FUNCTION、INDEX、LIBRARY、PACKAGE、PACKAGE BODY、
       PROCEDURE、SEQUENCE、SYNONYM、TABLE、TRIGGER、TYPE、UNDEFINED、VIEW。
      4、表:
       select * from dba_tables;
       analyze my_table compute statistics;->dba_tables后6列
       select extent_id,bytes from dba_extents
       where segment_name='CUSTOMERS' and segment_type='TABLE'
       order by extent_id;//表使用的extent的信息。segment_type='ROLLBACK'查看回滚段的空间分配信息
       列信息:
        select distinct table_name
        from user_tab_columns
        where column_name='SO_TYPE_ID';
      5、索引: 
       select * from dba_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 ='ACC_NBR';//联接使用
      6、序列:
       select * from dba_sequences;
      7、视图:
       select * from dba_views;
       select * from all_views;
      text 可用于查询视图生成的脚本
      8、聚簇:
       select * from dba_clusters;
      9、快照:
       select * from dba_snapshots;
      快照、分区应存在相应的表空间。
      10、同义词:
       select * from dba_synonyms
        where table_owner='SPGROUP';
        //if owner is PUBLIC,then the synonyms is a public synonym.
         if owner is one of users,then the synonyms is a private synonym.
      11、数据库链:
       select * from dba_db_links;
      在spbase下建数据库链
       create database link dbl_spnew
       connect to spnew identified by spnew using 'jhhx';
       insert into acc_nbr@dbl_spnew
       select * from acc_nbr where nxx_nbr='237' and line_nbr='8888';
      12、触发器:
       select * from dba_trigers;
      存储过程,函数从dba_objects查找。
      其文本:select text from user_source where name='BOOK_SP_EXAMPLE';
      建立出错:select * from user_errors;
      oracle总是将存储过程,函数等软件放在SYSTEM表空间。
      13、约束:
      (1)约束是和表关联的,可在create table或alter table table_name add/drop/modify来建立、修改、删除约束。
      可以临时禁止约束,如:
       alter table book_example
       disable constraint book_example_1;
       alter table book_example
       enable constraint book_example_1;
      (2)主键和外键被称为表约束,而not null和unique之类的约束被称为列约束。通常将主键和外键作为单独的命名约束放在字段列表下面,而列约束可放在列定义的同一行,这样更具有可读性。
      (3)列约束可从表定义看出,即describe;表约束即主键和外键,可从dba_constraints和dba_cons_columns 查。
       select * from user_constraints
       where table_name='BOOK_EXAMPLE';
       select owner,CONSTRAINT_NAME,TABLE_NAME
        from user_constraints
        where constraint_type='R'
        order by table_name;
      (4)定义约束可以无名(系统自动生成约束名)和自己定义约束名(特别是主键、外键)
      如:create table book_example
        (identifier number not null);
        create table book_example
        (identifier number constranit book_example_1 not null);
      14、回滚段:
      在所有的修改结果存入磁盘前,回滚段中保持恢复该事务所需的全部信息,必须以数据库发生的事务来相应确定其大小(DML语句才可回滚,create,drop,truncate等DDL不能回滚)。
      回滚段数量=并发事务/4,但不能超过50;使每个回滚段大小足够处理一个完整的事务;
       create rollback segment r05
       tablespace rbs;
       create rollback segment rbs_cvt
       tablespace rbs
       storage(initial 1M next 500k);
      使回滚段在线
       alter rollback segment r04 online;
      用dba_extents,v$rollback_segs监测回滚段的大小和动态增长。
      回滚段的区间信息
       select * from dba_extents
       where segment_type='ROLLBACK' and segment_name='RB1';
      回滚段的段信息,其中bytes显示目前回滚段的字节数
       select * from dba_segments
        where segment_type='ROLLBACK' and segment_name='RB1';
      为事物指定回归段
       set transaction use rollback segment rbs_cvt
      针对bytes可以使用回滚段回缩。
       alter rollback segment rbs_cvt shrink;
       select bytes,extents,max_extents from dba_segments
        where segment_type='ROLLBACK' and segment_name='RBS_CVT';
      回滚段的当前状态信息:
       select * from dba_rollback_segs
        where segment_name='RB1';
      比多回滚段状态status,回滚段所属实例instance_num
      查优化值optimal
       select n.name,s.optsize
        from v$rollname n,v$rollstat s
         where n.usn=s.usn;
      回滚段中的数据
       set transaction use rollback segment rb1;/*回滚段名*/
       select n.name,s.writes
        from v$rollname n,v$rollstat s
         where n.usn=s.usn;
      当事务处理完毕,再次查询$rollstat,比较writes(回滚段条目字节数)差值,可确定事务的大小。
      查询回滚段中的事务
       column rr heading 'RB Segment' format a18
       column us heading 'Username' format a15
       column os heading 'Os User' format a10
       column te heading 'Terminal' format a10
       select r.name rr,nvl(s.username,'no transaction') us,s.osuser os,s.terminal te
        from v$lock l,v$session s,v$rollname r
         where l.sid=s.sid(+)
         and trunc(l.id1/65536)=R.USN
         and l.type='TX'
         and l.lmode=6
       order by r.name;
      15、作业
      查询作业信息
       select job,broken,next_date,interval,what from user_jobs;
       select job,broken,next_date,interval,what from dba_jobs;
      查询正在运行的作业
       select * from dba_jobs_running;
      使用包exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (10/(24*60*60))')加入作业。间隔10秒钟
    exec dbms_job.submit(:v_num,'a;',sysdate,'sysdate + (11/(24*60))')加入作业。间隔11分钟使用包exec dbms_job.remove(21)删除21号作业。

    系统表:1.2.1 dba_开头  

      dba_users数据库用户信息  
      dba_segments 表段信息  
      dba_extents 数据区信息  
      dba_objects 数据库对象信息  
      dba_tablespaces 数据库表空间信息  
      dba_data_files 数据文件设置信息  
      dba_temp_files 临时数据文件信息  
      dba_rollback_segs 回滚段信息  
      dba_ts_quotas 用户表空间配额信息  
      dba_free_space 数据库空闲空间信息  
      dba_profiles 数据库用户资源限制信息  
      dba_sys_privs 用户的系统权限信息  
      dba_tab_privs 用户具有的对象权限信息  
      dba_col_privs 用户具有的列对象权限信息  
      dba_role_privs 用户具有的角色信息  
      dba_audit_trail 审计跟踪记录信息  
      dba_stmt_audit_opts 审计设置信息  
      dba_audit_object 对象审计结果信息  
      dba_audit_session 会话审计结果信息  
      dba_indexes 用户模式的索引信息  
    1.2.2 user_开头  
      user_objects 用户对象信息  
      user_source 数据库用户的所有资源对象信息  
      user_segments 用户的表段信息  
      user_tables 用户的表对象信息  
      user_tab_columns 用户的表列信息  
      user_constraints 用户的对象约束信息  
      user_sys_privs 当前用户的系统权限信息  
      user_tab_privs 当前用户的对象权限信息  
      user_col_privs 当前用户的表列权限信息  
      user_role_privs 当前用户的角色权限信息  
      user_indexes 用户的索引信息  
      user_ind_columns 用户的索引对应的表列信息  
      user_cons_columns 用户的约束对应的表列信息  
      user_clusters 用户的所有簇信息  
      user_clu_columns 用户的簇所包含的内容信息  
      user_cluster_hash_expressions 散列簇的信息  
    1.2.3 v$开头  
      v$database 数据库信息  
      v$datafile 数据文件信息  
      v$controlfile 控制文件信息  
      v$logfile 重做日志信息  
      v$instance 数据库实例信息  
      v$log 日志组信息  
      v$loghist 日志历史信息  
      v$sga 数据库SGA信息  
      v$parameter 初始化参数信息  
      v$process 数据库服务器进程信息  
      v$bgprocess 数据库后台进程信息  
      v$controlfile_record_section 控制文件记载的各部分信息  
      v$thread 线程信息  
      v$datafile_header 数据文件头所记载的信息  
      v$archived_log 归档日志信息  
      v$archive_dest 归档日志的设置信息  
      v$logmnr_contents 归档日志分析的DML DDL结果信息  
      v$logmnr_dictionary 日志分析的字典文件信息  
      v$logmnr_logs 日志分析的日志列表信息  
      v$tablespace 表空间信息  
      v$tempfile 临时文件信息  
      v$filestat 数据文件的I/O统计信息  
      v$undostat Undo数据信息  
      v$rollname 在线回滚段信息  
      v$session 会话信息  
      v$transaction 事务信息  
      v$rollstat 回滚段统计信息  
      v$pwfile_users 特权用户信息  
      v$sqlarea 当前查询过的sql语句访问过的资源及相关的信息  
      v$sql 与v$sqlarea基本相同的相关信息  
      v$sysstat 数据库系统状态信息  
    1.2.4 all_开头  
      all_users 数据库所有用户的信息  
      all_objects 数据库所有的对象的信息  
      all_def_audit_opts 所有默认的审计设置信息  
      all_tables 所有的表对象信息  
      all_indexes 所有的数据库对象索引的信息  
       
    1.2.5 session_开头  
      session_roles 会话的角色信息  
      session_privs 会话的权限信息  
    1.2.6 index_开头  
      index_stats 索引的设置和存储信息  
    1.2.7 伪表  
      dual 系统伪列表信息
    软件环境:  
    1、操作系统:Windows 2000 Server
    2、数 据 库:Oracle 8i R2 (8.1.6) for NT 企业版
    3、安装路径:C:/ORACLE
    含义解释:  
    Dual 是 Oracle中的一个实际存在的表,任何用户均可读取,常用在没有目标表的Select中。
    使用方法:  
    查看当前连接用户
    SQL> select user from dual;

    USER
    --
    SYSTEM


    查看当前日期、时间
    SQL> select sysdate from dual;

    SYSDATE
    --
    18-3月 -01


    SQL> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;

    TO_CHAR(SYSDATE,'YY
    ---
    2001-03-18 22:37:56


    当作计算器用
    SQL> select 1+2 from dual;

     1+2
    --
     3


    查看序列值
    SQL> create sequence aaa increment by 1 start with 1;
    SQL> select aaa.nextval from dual;

    SQL> select aaa.nextval from dual;

      NEXTVAL
    --
     1


    SQL> select aaa.currval from dual;

      CURRVAL
    --

  • 相关阅读:
    js调用oc方法 UIWebView 跳 到另一个UIWebView
    可变cell,自适应cell,理解iOS 8中的Self Sizing Cells和Dynamic Type
    设置textField的placeholder字体的颜色,默认是灰色
    设置按钮(UIButton)为圆角矩形
    UITextView限制输入字数
    如何更好地限制一个UITextField的输入长度
    uitableview style类型为Grouped时,去掉上面空白的方法
    python note 01 计算机基础与变量
    Leetcode61.旋转链表
    Leetcode 430. 扁平化多级双向链表
  • 原文地址:https://www.cnblogs.com/FindSelf/p/3819205.html
Copyright © 2020-2023  润新知