Oracle 数据库sys权限基本应用

以sys身份登陆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   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号作业。

 

 

(注:)

用sys用户导出某个表空间之前,需要设置该表空间为只读模式,

如:

alter tablespace tablespacename read only;

 

然后再执行导出语句:
exp 'sys/sys@servername as sysdba' transport_tablespace=y tablespaces=(tablespacename) file=C:\oradb.dmp log=C:\exp.log

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值