改变会话设置nls_date_format=' DD-MON-YYYY HH24: MI: SS的;
坳地位格式a15
上校描述格式a40 word_wrap
设置serverout大小999999行150验证页面50回声trimspool在
打破在报告
计算和标签和undosize_MB的报告
计算和标签和block_count的报告
坳undo_alloc new_value undo_alloc noprint
坳undo_pct格式9999
轴undo_info。日志
选择和(字节)/1024/1024 undo_alloc
从DBA_data_files
tablespace_name=
(选择上(值)
从v参数
name=' undo_tablespace ');
ttitle离开‘* * * * * * * * * * *报告1 -撤销块地位和自由空间分析* * * * * * * * * * * * * * * * * * * *”跳过2
上校描述格式a40 word_wrap
坳undo_pct格式a5头“撤销| PCTGE”
选择状态,
解码(状态、“积极”、“撤销使用”,“过期”,“撤销使用”,“未尽的”,“撤销被保留来支持撤销保留。可以成为过期如果空间变得紧”)描述,
count (*) block_count,
轮(sum(字节)/1024/1024)undosize_MB
轮(sum(字节)/1024/1024)/&undo_alloc * 100) | |‘%’undo_pct
从dba_undo_extents
组的状态
结合
选择“自由空间”,
“撤销可用空闲空间”,
COUNT (*),
圆(SUM(字节)/1024/1024),
轮(sum(字节)/1024/1024)/&undo_alloc * 100) | |‘%’
从dba_free_space
tablespace_name=
(选择值
从v参数
在name=' undo_tablespace ')
组1
/
ttitle了
ttitle离开‘* * * * * * * * * * *报告2 -撤销健康检查* * * * * * * * * * * * * * * * * * * *”跳过2
声明
tablespaceName varchar2 (30),
tablespaceSize数量;
autoExtend布尔;
autoExtendtf char (5),
undoRetention数量;
retentionGuarantee布尔;
retentionGuaranteetf char (5),
autotuneEnabled布尔;
autotuneEnabledtf char (5),
longestQuery数量;
longestQueryFormatted varchar2 (30),
requiredRetention数量;
requiredRetentionFormatted varchar2 (20);
bestPossibleRetention数量;
bestPossibleRetentionFormatted varchar2 (20);
requireUndoSize数量;
——
问题varchar2 (100),
建议varchar2 (100)。
理由varchar2 (100)。
保留数量;
utbsize数量;
丁腈橡胶;数量
undoAdvisor varchar2 (100)。
instanceNumber数量;
ret布尔;
rettf char (5),
undoRetentionFormatted varchar2 (50);
Recommended_undo_size数量;
——
——
开始
ret:=sys.dbms_undo_adv。undo_info (tableSpaceName、tableSpaceSize autoExtend、undoRetention retentionGuarantee);
如果ret
然后rettf:=罢嬲?
其他rettf:=佟?
如果;
如果autoextend
然后autoextendtf:=罢嬲?
其他autoextendtf:=佟?
如果;
如果retentionguarantee
然后retentionguaranteetf:=罢嬲?
其他retentionguaranteetf:=佟?
如果;
选择to_char (trunc (max (undoRetention)/(60 * 60)) | |“小时”)
| | trunc (to_char ((max (undoRetention) - (3600 * trunc (max (undoRetention)/3600)))/60)) | |“分钟”
到undoRetentionFormatted
从双;
longestquery:=dbms_undo_adv.longest_query (sysdate-1 sysdate);
选择to_char (trunc (max (longestQuery)/(60 * 60)) | |“小时”)
| | trunc (to_char ((max (longestQuery) - (3600 * trunc (max (longestQuery)/3600)))/60)) | |“分钟”
到longestQueryFormatted
从双;
——dbms_output。put_line (' ');
——dbms_output.put_line (' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”);
——dbms_output。put_line(*撤销健康*);
——dbms_output。put_line
dbms_output。put_line(“* * * * * * * * * * *报告2 -撤销健康检查* * * * * * * * * * * * * * * * * * * *”);
dbms_output。put_line (' ');
dbms_output。put_line (' ');
丁腈橡胶:=dbms_undo_adv。undo_health(建议,问题基本原理、保留utbsize);