ORACLE系统表大全

下面全面是对Oracle系统表的一些介绍: 数据字典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);

 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用户模式的索引信息
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   散列簇的信息
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   数据库系统状态信息
all_开头
   all_users  数据库所有用户的信息
   all_objects  数据库所有的对象的信息
   all_def_audit_opts  所有默认的审计设置信息
   all_tables  所有的表对象信息
   all_indexes所有的数据库对象索引的信息
session_开头
   session_roles   会话的角色信息
   session_privs   会话的权限信息
index_开头
   index_stats  索引的设置和存储信息
伪表
   dual  系统伪列表信息

1、sysobjects
  系统对象表。 保存当前数据库的对象,如约束、默认值、日志、规则、存储过程等
  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 = 扩展存储过程
  该表中包含该数据库中的所有对象,如有那些表 存储过程 视图 等信息
  2、sysColumns 数据库字段表。 当前数据库的所有字段都保留在里面。
  重要字段解释:
  sysColumns (
  name sysname, ——字段名称
  id int, ——该字段所属的表的ID
  xtype tinyInt, ——该字段类型,关联sysTypes表
  length smallint, ——该字段物理存储长度
  ……
  )
  比如要查询某一个张表的有那些字段和这些字段的长度
  3、sysUsers
  当前数据库的系统组,以及用户。
  sysUsers(
  uid smallint, ——用户id
  name smallint , ——名称
  uid varbinary(85) , ——属于一个登陆
  ……
  )
  对数据库的用户进行管理
  4、sysdenpends
  当前数据库的依赖关系。 比如我要修改某一张的结构时,怕修改后会影响到其它的视图 函数 存储过程 ,这是在修改之前可以查询一下。那些视图 函数 存储过程调用了这个表的这样在修改后就可以修改的视图 函数 存储过程,
  一般程序员用到的系统表,基本也就这几个, 其他的特殊的系统表(主要都在master 或者 tempdb )里面了 .
一个有用的例子:(查询表的创建者)
SELECT   owner   FROM     DBA_ALL_TABLES   WHERE   table_name=upper('表名');

Oracle数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYSYTEM进行查询。

  1.几个重要的表或者视图如下:

  v$controlfile:控制文件的信息;

  v$datafile:数据文件的信息;

  v$log:日志文件的信息;

  v$process:处理器的信息;

  v$session:会话信息;

  v$transaction:事务信息;

  v$resource:资源信息;

  v$sga:系统全局区的信息。

  上面的视图名中的‘v$’,只是视图名字中的字符。类似于上面的视图或表还有很多,位于:

  $ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL文件中。

这些视图或表可以在SQLPLUS中用SELECT语句进行查询。

  2.数据字典视图

  表和列

  DBA_TABLES、ALL_TABLES和USER_TABLES显示了有关数据库表的一般信息。

  DBA_TAB_COLUMNS、ALL_TAB_COLUMNS和USER_TAB_COLUMNS显示了每个数据库表的列的信息。

  注意:DBA_OBJECTS、ALL_OBJECTS和USER_OBJECTS显示了模式对象的信息,包括表。

  完整性约束

  DBA_CONSTRAINTS、ALL_CONSTRAINTS和USER_CONSTRAINST显示有关约束的一般信息。

  DBA_CONS_COL

转的多了,自然也就会了.
 
上一篇:Oracle系统表外键的更名


下一篇:测者的测试技术手册:智能化测试框架EvoSuite的一个坑以及填坑方法