有谁知道 oracle 系统表相关信息吗 ?包括表 索引之类的

解决方案 »

  1.   

    用SYSTEM用户登录
    DBA_TABLES,所有用户的所有表信息
    DBA_INDEXS,所有用户的索引的简要信息。
      

  2.   

    1.1 基于SQL的常用系统表
    1.1.1 系统对象表 sysobjects  
    功能说明:保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等
    重要字段解释:
    sysObjects (
    Name sysname, ——object 名称
    id int, ——object id
    xtype char(2), —— object 类型
    type char(2), —— Object 类型(与xtype 似乎一模一样? 有点郁闷…)
    uid smallint, —— object 所有者的ID
    …… ——其他的字段不常用到。

    注意事项:需要解释的是 xtype 和type 是一模一样的,他的数据为:
    C = CHECK 约束
    D = 默认值或 DEFAULT 约束
    F = FOREIGN KEY 约束
    FN = 标量函数
    IF = 内嵌表函数
    K = PRIMARY KEY 或 UNIQUE 约束
    L = 日志
    P = 存储过程
    R = 规则
    RF = 复制筛选存储过程
    S = 系统表
    TF = 表函数
    TR = 触发器
    U = 用户表
    V = 视图
    X = 扩展存储过程
    该表中包含该数据库中的所有对象,如有那些表 存储过程 视图 等信息
    1.1.2 数据库字段表 sysColumns
    功能说明:当前数据库的所有字段都保留在里面。
    重要字段解释:
    sysColumns (
    name sysname, ——字段名称
    id int, ——该字段所属的表的ID
    xtype tinyInt, ——该字段类型,关联sysTypes表
    length smallint, ——该字段物理存储长度
    ……

    比如要查询某一个张表的有那些字段和这些字段的长度
    1.1.3 系统用户表 sysUsers
     当前数据库的系统组,以及用户。
    sysUsers(
    uid smallint, ——用户id
    name smallint , ——名称
    uid varbinary(85) , ——属于一个登陆
    ……

    对数据库的用户进行管理
    1.1.4 sysdenpends   
     当前数据库的依赖关系。 比如我要修改某一张的结构时,怕修改后会影响到其它的视图 函数 存储过程 ,这是在修改之前可以查询一下。那些视图 函数 存储过程调用了这个表的
    这样在修改后就可以修改的视图 函数 存储过程,
    一般程序员用到的系统表,基本也就这几个 其他的特殊的系统表(主要都在master 或者 tempdb )里面了1.2 DBA常用的表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.3软件环境:  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
    --
    • 1
      

  3.   


    sysobjects 这些在oracle 没有的 同学 = =!!
      

  4.   

    你从3楼列的内容中的“1.2 DBA常用的表”往后开始看。
    前面的不要看了。
      

  5.   


    这个早就有了 你也是复制别人的吧。需要的是 ALL_TABLES 和all _indexs 联系起来的资料。。
      

  6.   

    select tb.owner, tb.table_name, ind.index_name from all_tables tb, all_indexes ind
    where ind.owner = tb.owner
      and ind.table_name = tb.table_name