oracle 估算undo脚本
2015-08-24 10:48
716 查看
摘自老道博客: http://blog.csdn.net/daohengshangqian/article/details/39268609
metalink 给出的公式是
UR =undo_retention参数值
UPS= 每秒产生的undo block数量
DBS = undo tablespace block
size
10g之前
10g 以后
当然也可以用过DBMS_ADVISOR来获取Oracle关于undo的建议设置,当然不是每次都能获取到建议,相比还是上面提供的脚本比较方便。
下面语句来自于官方文档 稍微做了一点修改
其中123 124是snapshot的ID 需要根据实际做修改。
摘自老道博客: http://blog.csdn.net/daohengshangqian/article/details/39268609
metalink 给出的公式是
UR =undo_retention参数值
UPS= 每秒产生的undo block数量
DBS = undo tablespace block
size
10g之前
SELECT (UR * (UPS * DBS)) AS "Bytes" FROM (SELECT value AS UR FROM v$parameter WHERE name = 'undo_retention'), (SELECT undoblks / ((end_time - begin_time) * 86400) AS UPS FROM v$undostat WHERE undoblks = (SELECT MAX(undoblks) FROM v$undostat)), (SELECT block_size AS DBS FROM dba_tablespaces WHERE tablespace_name = (SELECT UPPER(value) FROM v$parameter WHERE name = 'undo_tablespace'));
10g 以后
SELECT (UR * (UPS * DBS)) AS "Bytes" FROM (select max(tuned_undoretention) AS UR from v$undostat), (SELECT undoblks / ((end_time - begin_time) * 86400) AS UPS FROM v$undostat WHERE undoblks = (SELECT MAX(undoblks) FROM v$undostat)), (SELECT block_size AS DBS FROM dba_tablespaces WHERE tablespace_name = (SELECT UPPER(value) FROM v$parameter WHERE name = 'undo_tablespace'));
当然也可以用过DBMS_ADVISOR来获取Oracle关于undo的建议设置,当然不是每次都能获取到建议,相比还是上面提供的脚本比较方便。
下面语句来自于官方文档 稍微做了一点修改
其中123 124是snapshot的ID 需要根据实际做修改。
DECLARE tid NUMBER; tname VARCHAR2( 30); oid NUMBER; BEGIN DBMS_ADVISOR.CREATE_TASK('Undo Advisor' , tid, tname, 'Undo Advisor Task' ); DBMS_ADVISOR.CREATE_OBJECT(tname, 'UNDO_TBS' , null, null, null, 'null', oid); DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'TARGET_OBJECTS' , oid); DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'START_SNAPSHOT' , 123); DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'END_SNAPSHOT' , 124); DBMS_ADVISOR.SET_TASK_PARAMETER(tname, 'INSTANCE' , 1); DBMS_ADVISOR.execute_task(tname); DBMS_OUTPUT.put_line( 'select * dba_advisor_log WHERE TASK_ID ='||tid || ' ;'); DBMS_OUTPUT.put_line( 'select * DBA_ADVISOR_FINDINGS WHERE TASK_ID ='||tid|| ' ;'); DBMS_OUTPUT.put_line( 'select * DBA_ADVISOR_RECOMMENDATIONS WHERE TASK_ID ='||tid||' ;'); END; /
相关文章推荐
- (转)关于oracle的表空间,分区表,以及索引的总结
- navicat oracle配置及ORA-28457解决办法
- oracle 估算redo脚本
- oracle闪回技术
- oracle 安装后需要调整内容
- 打开和关闭oracle的审计功能
- Oracle已经启动,连接sqlplus后,进行查询,出现下面错误
- 从mysql中将数据导入到oracle数据库中
- Windows平台使用RMAN命令自动删除Oracle过期归档日志的方法
- Windows平台使用RMAN命令自动删除Oracle过期归档日志的方法
- Oracle文本函数简介
- Oracle 数据库服务器IP地址经常变化的一种简易解决方案
- oracle修改密码、添加用户及授权
- Oracle快照原理及实现总结
- Oracle正则表达式使用介绍
- ogg12c测试oracle 11.2.0.4同步
- oracle 存储过程的基本语法
- ORACLE触发器详解
- Oracle 游标使用全解
- Mysql与Oracle区别