oracle/ms sql 系统表

Posted 我思故我在我有我精彩--liangqihui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle/ms sql 系统表相关的知识,希望对你有一定的参考价值。

                    oracle系统表查询

oracle查询用户下的所有表

select * from all_tab_comments -- 查询所有用户的表,视图等
select * from user_tab_comments   -- 查询本用户的表,视图等
select * from all_col_comments --查询所有用户的表的列名和注释.
select * from user_col_comments -- 查询本用户的表的列名和注释
select * from all_tab_columns --查询所有用户的表的列名等信息(详细但是没有备注).
select * from user_tab_columns --查询本用户的表的列名等信息(详细但是没有备注).

--一般使用1:
select t.table_name,t.comments from user_tab_comments t

--一般使用2:
select r1, r2, r3, r5
from (select a.table_name r1, a.column_name r2, a.comments r3
          from user_col_comments a),
       (select t.table_name r4, t.comments r5 from user_tab_comments t)
where r4 = r1

oracle 系统表 查询 

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 [email protected]_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号作业。

 

 
 

以上是关于oracle/ms sql 系统表的主要内容,如果未能解决你的问题,请参考以下文章

ms sql server 系统表详细说明

在ORACLE如何查看自己建立的所有表,而不是系统表

Oracle数据库下sde用户系统表开放权限sql语句

转载Oracle系统表整理+常用SQL语句收集

银行储蓄管理系统---Oracle数据库表数据---Bank_Oracle_Data.sql

oracle系统表v$sessionv$sql字段说明