<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">1.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO</span></span></span><span style="font-size: small;"><span style="">表空间用于存放</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据。当执行</span><span lang="EN-US"><span style="font-family: Times New Roman;">DML</span></span><span style="">操作时,</span><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle</span></span><span style="">会将这些操作的旧数据写入</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">段。管理</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据不仅可以使用回滚段,还可以使用</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">表空间。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">2.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO</span></span></span><span style="font-size: small;"><span style="">数据的作用:当用户执行</span><span lang="EN-US"><span style="font-family: Times New Roman;">DML</span></span><span style="">操作修改数据时,</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据被存放在</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">段,而新数据则被存放到数据段中,如果事务操作存在问题,就需要回退事务,以取消事物变化。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">例如:执行完</span><span lang="EN-US"><span style="font-family: Times New Roman;">UPDATE emp SET sal=1000 WHERE empno=7788</span></span><span style="">后,发现应该修改雇员</span><span lang="EN-US"><span style="font-family: Times New Roman;">7963</span></span><span style="">的工资,而不是</span><span lang="EN-US"><span style="font-family: Times New Roman;">7788.</span></span><span style="">此时应该执行</span><span lang="EN-US"><span style="font-family: Times New Roman;">ROLLBACK</span></span><span style="">语句。</span></span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;"><span style="font-size: small;">3.</span><span style='font: 7pt "Times New Roman";'> </span></span></span></span><span style=""><span style="font-size: small;">读一致性</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">用户检索数据时,</span><span lang="EN-US"><span style="font-family: Times New Roman;">ORACLE</span></span><span style="">总是使用户只能看到被提交过的数据,这是由</span><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle</span></span><span style="">自动提供的。当用户修改数据,但是没有提交时,另外一个用户使用</span><span lang="EN-US"><span style="font-family: Times New Roman;">select</span></span><span style="">语句查找该值时,该值就是从</span><span lang="EN-US"><span style="font-family: Times New Roman;">undo</span></span><span style="">表空间中取得的。</span></span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;"><span style="font-size: small;">4.</span><span style='font: 7pt "Times New Roman";'> </span></span></span></span><span style=""><span style="font-size: small;">事务恢复</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">事务恢复是例程恢复的一部分,它是由</span><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle Server</span></span><span style="">自动完成的。如果在数据库运行过程中出线历程失败,那么当启动</span><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle Server</span></span><span style="">时,后台进程</span><span lang="EN-US"><span style="font-family: Times New Roman;">SMON</span></span><span style="">会自动执行例程恢复。执行例程恢复时,</span><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle</span></span><span style="">会重做所有未应用的记录。然后打开数据库,回退未提交事务。</span></span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;"><span style="font-size: small;">5.</span><span style='font: 7pt "Times New Roman";'> </span></span></span></span><span style=""><span style="font-size: small;">倒叙查询</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style=""><span style="font-size: small;">倒叙查询用于取得某一特定时间点的数据库数据。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">6.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO_MANAGEMENT</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">使用初始化参数用于指定</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据的管理方式。如果使用自动管理模式,必须设置该参数为</span><span lang="EN-US"><span style="font-family: Times New Roman;">AUTO</span></span><span style="">,此时采用</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">表空间管理</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据;如果使用手工管理模式,必须设置该值为</span><span lang="EN-US"><span style="font-family: Times New Roman;">MANUAl</span></span><span style="">,此时采用回滚段管理</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">7.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO_TABLESPACE</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">用于指定例程所要使用的</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">表空间。使用自动</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">管理模式时,通过配置该参数可以指定例程所要使用的</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">表空间。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">使用</span><span lang="EN-US"><span style="font-family: Times New Roman;">RAC</span></span><span style="">结构时,必须为每个例程配置一个独立的</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">表空间。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">8.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO_RETENTION</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">该参数用于控制</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据的最大保留时间,其默认值为</span><span lang="EN-US"><span style="font-family: Times New Roman;">900</span></span><span style="">秒,该值时倒叙查询可以查看到的最早时间点。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">9.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO</span></span></span><span style=""><span style="font-size: small;">表空间上不能建立任何数据对象。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">2.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO</span></span></span><span style="font-size: small;"><span style="">数据的作用:当用户执行</span><span lang="EN-US"><span style="font-family: Times New Roman;">DML</span></span><span style="">操作修改数据时,</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据被存放在</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">段,而新数据则被存放到数据段中,如果事务操作存在问题,就需要回退事务,以取消事物变化。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">例如:执行完</span><span lang="EN-US"><span style="font-family: Times New Roman;">UPDATE emp SET sal=1000 WHERE empno=7788</span></span><span style="">后,发现应该修改雇员</span><span lang="EN-US"><span style="font-family: Times New Roman;">7963</span></span><span style="">的工资,而不是</span><span lang="EN-US"><span style="font-family: Times New Roman;">7788.</span></span><span style="">此时应该执行</span><span lang="EN-US"><span style="font-family: Times New Roman;">ROLLBACK</span></span><span style="">语句。</span></span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;"><span style="font-size: small;">3.</span><span style='font: 7pt "Times New Roman";'> </span></span></span></span><span style=""><span style="font-size: small;">读一致性</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">用户检索数据时,</span><span lang="EN-US"><span style="font-family: Times New Roman;">ORACLE</span></span><span style="">总是使用户只能看到被提交过的数据,这是由</span><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle</span></span><span style="">自动提供的。当用户修改数据,但是没有提交时,另外一个用户使用</span><span lang="EN-US"><span style="font-family: Times New Roman;">select</span></span><span style="">语句查找该值时,该值就是从</span><span lang="EN-US"><span style="font-family: Times New Roman;">undo</span></span><span style="">表空间中取得的。</span></span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;"><span style="font-size: small;">4.</span><span style='font: 7pt "Times New Roman";'> </span></span></span></span><span style=""><span style="font-size: small;">事务恢复</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">事务恢复是例程恢复的一部分,它是由</span><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle Server</span></span><span style="">自动完成的。如果在数据库运行过程中出线历程失败,那么当启动</span><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle Server</span></span><span style="">时,后台进程</span><span lang="EN-US"><span style="font-family: Times New Roman;">SMON</span></span><span style="">会自动执行例程恢复。执行例程恢复时,</span><span lang="EN-US"><span style="font-family: Times New Roman;">Oracle</span></span><span style="">会重做所有未应用的记录。然后打开数据库,回退未提交事务。</span></span></p>
<p class="MsoNormal" style=""><span style="" lang="EN-US"><span style=""><span style="font-family: Times New Roman;"><span style="font-size: small;">5.</span><span style='font: 7pt "Times New Roman";'> </span></span></span></span><span style=""><span style="font-size: small;">倒叙查询</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style=""><span style="font-size: small;">倒叙查询用于取得某一特定时间点的数据库数据。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">6.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO_MANAGEMENT</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">使用初始化参数用于指定</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据的管理方式。如果使用自动管理模式,必须设置该参数为</span><span lang="EN-US"><span style="font-family: Times New Roman;">AUTO</span></span><span style="">,此时采用</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">表空间管理</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据;如果使用手工管理模式,必须设置该值为</span><span lang="EN-US"><span style="font-family: Times New Roman;">MANUAl</span></span><span style="">,此时采用回滚段管理</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">7.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO_TABLESPACE</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">用于指定例程所要使用的</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">表空间。使用自动</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">管理模式时,通过配置该参数可以指定例程所要使用的</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">表空间。</span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">使用</span><span lang="EN-US"><span style="font-family: Times New Roman;">RAC</span></span><span style="">结构时,必须为每个例程配置一个独立的</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">表空间。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">8.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO_RETENTION</span></span></span></p>
<p class="MsoNormal" style="margin: 0cm 0cm 0pt 21pt;"><span style="font-size: small;"><span style="">该参数用于控制</span><span lang="EN-US"><span style="font-family: Times New Roman;">UNDO</span></span><span style="">数据的最大保留时间,其默认值为</span><span lang="EN-US"><span style="font-family: Times New Roman;">900</span></span><span style="">秒,该值时倒叙查询可以查看到的最早时间点。</span></span></p>
<p class="MsoNormal" style=""><span style="font-family: Times New Roman;"><span style="" lang="EN-US"><span style=""><span style="font-size: small;">9.</span><span style='font: 7pt "Times New Roman";'> </span></span></span><span lang="EN-US"><span style="font-size: small;">UNDO</span></span></span><span style=""><span style="font-size: small;">表空间上不能建立任何数据对象。</span></span></p>