没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|其它|编辑:郝浩|2009-05-22 11:32:29.000|阅读 605 次
概述:Oracle数据库的很多特性使用起来的确让人倍感轻松惬意,不过任何特定的特性要想用起来得心应手,首先得把数据库设置妥当,排除掉制约因素,才能真正做到事半功倍。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
本文将为大家逐步解读Oracle使用手册中提及的如何为Oracle的闪回(Flashback)特性设置自动撤消管理(Automatic UNDO Management),相应地附上相关脚本和注意事项。
Oracle数据库闪回特性在实际应用中的第一道坎就是自动撤消管理。对于并没有完全了解“undo”为何物的人来说,undo只是Oracle存储起来用于数据库回滚或撤消操作的信息。一谈到闪回技术,undo数据在某一时间点前的数据重建上的重要性可以说显而易见。然而,任何事情都是两面的,在闪回某特定时间点数据的实际操作中,undo也是一个制约因素;如果没有足够的undo数据,那么闪回查询就会失败,甚至触发一些异常的数据库错误。
Oracle一直以来都极力支持使用自动撤消管理,当然是有原因的。相信那些曾经和手动撤消管理进行过奋战的DBA们是深谙其中的困难,你得花上相当的时间和精力来正确创建和控制回滚段,不停地重复调整回滚段的大小,才能避免出现ORA-1555快照过旧之类的错误。有了自动撤消管理(AUM)就不一样了,Oracle就可以为你自动监控和管理撤消段。从Oracle 11g开始,AUM成为默认设置,而且绝大部分数据库都会在创建时生成一个名为UNDOTBS1的自动扩展的撤消表空间。你可以用以下的SQL语句来查看该撤消表空间:
SQL> SELECT dt.tablespace_name, dt.contents,
ddf.file_name, ddf.bytes/1024/1024 size_MEG
FROM dba_tablespaces dt,
dba_data_files ddf
WHERE dt.tablespace_name = ddf.tablespace_name
AND dt.contents = 'UNDO';
TABLESPACE_NAME CONTENTS FILE_NAME SIZE_MEG
--------------- --------- --------------------------------- ----------
UNDOTBS1 UNDO /oradata/db11FS/undotbs01.dbf 2048
如果你的数据库中没有撤消表空间,用CREATE TABLESPACE语句很容易就能够创建一个。如果选择了AUTOEXETEND选项,则如下所示:
CREATE UNDO TABLESPACE undotbs1
DATAFILE '/oradata/db11FS/undotbs01.dbf' SIZE 2048M REUSE AUTOEXTEND ON;
如果你正在被手动撤消管理(使用回滚段)折腾得焦头烂额,不妨轻松过渡到自动撤消管理。切换的法门就在UNDO_MANAGEMENT初始化参数,它可以指定系统当前使用的撤消模式。通过SHOW PARAMETER命令可以查看当前的参数设置:
SQL> SHOW PARAMETER undo
NAME TYPE VALUE
--------------------- ----------- ---------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
如果你使用的是Oracle 11g,且UNDO_MANAGEMENT设置为AUTO或没有经过设置,那么你的数据库实例已经使用着自动撤消管理,那么也就没你其他什么事做了。问题是,这是Oracle 11g的新设置,此前的版本并没采用。在11g以前的版本,不对UNDO_MANAGEMENT进行设置就表示你的数据库用的是手动撤消管理。所以,如果你用的是11g以前的版本就得小心了。这种情况下很适合对选定好初始化参数设置为ALWAYS,你就再也不用再去瞎猜默认值了。不管怎样,如果你的UNDO_MANAGEMENT设置为MANUAL模式,那么你就需要从手动撤消管理(使用回滚段)切换到自动撤消管理(使用撤消表空间)。这个切换过程如下:
1. 设置UNDO_MANAGEMENT=MANUAL,如果使用init.ora文件,在init.ora文件中添加一个条目(entry),如果使用spfile则设置ALTER SYSTEM SET undo_management=manual SCOPE=spfile
2. 重启数据库实例,使参数设置有效;
3. 想要调整撤消表空间到合适大小,建议实际观测系统的工作负载,然后使用以下的代码让Oracle确定UNDO表空间的合适大小:
SQL> SET SERVEROUTPUT on
SQL> DECLARE
utbsiz_in_MB NUMBER;
BEGIN
utbsiz_in_MB := DBMS_UNDO_ADV.RBU_MIGRATION;
dbms_output.put_line('undo size : '||utbsiz_in_MB||'MB');
end;
/
undo size : 740MB
PL/SQL procedure successfully completed.
4. 如前文所述创建UNDO TABLESPACE。要记住,用户对数据库数据所作的更新越多,那么为回闪操作设置的撤消表空间所需的空间就越大。如果你按照前文所述创建了该表空间(启用AUTOEXTEND设置),那么Oracle就会管控这个表空间的大小,并使撤消数据的保存时间长于最长的查询持续时间及UNDO_RETENTION参数指定的时间(下面会谈到)。
5. 设置以下初始化参数。同样的,如果你用的是init.ora文件,则要确保在该文件中编辑并存储这些参数,并使用ALTER SYSTEM命令对这些参数进行设置。如果你使用的是spfile,那么在设置这些参数的时候,要指定SCOPE=spfile,这样通过重启数据库就能够使参数设置生效。
a) UNDO_MANAGEMENT:用于设置数据库实例的撤消管理模式
ALTER SYSTEM SET undo_management=auto SCOPE=spfile
b) UNDO_TABLESPACE:用于设置为AUM准备的撤消表空间
ALTER SYSTEM SET undo_tablespace=undotbs01 SCOPE=spfile
c) UNDO_RETENTION:用于设置撤消数据保存的保存时间(以秒为单位)
ALTER SYSTEM SET undo_retention=900 SCOPE=spfile
在设置这些参数时要记住,UNDO_MANAGEMENT是一个静态参数(无法设置为动态),而且需要重启数据库实例才能使设置生效。因此,建议只是修改init.ora文件或spfile,然后重启数据库。
如果你完成了每一个步骤,那么你的数据库实例就已经启用了自动撤消管理,并拥有一个撤消表空间。可见,切换到自动撤消管理以及创建撤消表空间并不是什么难事,难的部分是它的实际使用过程。如果你设置的UNDO_RETENTION时长太短,或者UNDO表空间的AUTOEXTEND没有启用,又会出现哪些问题呢?这些将在本文的第二部分进行讨论。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:IT专家网面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号