|
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号作业。
共2页: 上一页 [1] 2 下一页
| |