oracle 中 start tran,【学习笔记】Oracle fast

阅读: 评论:0

oracle 中 start tran,【学习笔记】Oracle fast

oracle 中 start tran,【学习笔记】Oracle fast

天萃荷净

Oracle研究中心学习笔记:数据库abort-restart或事务被异常终止时,SMON需要回滚未提交的事务,fast_start_parallel_rollback用于控制SMON恢复操作的并行度。

本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客

本文链接地址: 关于parallel rollback的一点总结

Oralce parallel rollback有重大关系的一个参数:

fast_start_parallel_rollback

该参数是oracle 8i引入的,详细信息如下表所示:

Version  Parameter    Type      Modifiable

11.1.0.7  fast_start_parallel_rollback  STRING    ALTER SYSTEM (IMMEDIATE)

11.1.0.6  fast_start_parallel_rollback  STRING    ALTER SYSTEM (IMMEDIATE)

10.2.0.4  fast_start_parallel_rollback  STRING    ALTER SYSTEM (IMMEDIATE)

10.2.0.3  fast_start_parallel_rollback  STRING    ALTER SYSTEM (IMMEDIATE)

10.1.0.5  fast_start_parallel_rollback  STRING    ALTER SYSTEM (IMMEDIATE)

10.1.0.4  fast_start_parallel_rollback  STRING    ALTER SYSTEM (IMMEDIATE)

9.2.0.8  fast_start_parallel_rollback  STRING    ALTER SYSTEM (IMMEDIATE)

9.0.1.4  fast_start_parallel_rollback  STRING    ALTER SYSTEM (IMMEDIATE)

8.1.7.4  fast_start_parallel_rollback  STRING    ALTER SYSTEM (IMMEDIATE)

该参数如下3种属性值:

false  -- 即是关闭parallel rollback功能

low    -- 也是10g的默认值,该值含有是最大的rollback进程为2*cpu_count个

high   -- 当设置为该值时,最大的rollback进程为4*cpu_count个

当然其最大值是要受参数parallel_max_servers的影响的,如果是rac环境,那么还跟参数parallel_threads_per_cpu有关系,这里需要说明一点的是,该参数跟recovery_parallelism不同的,recovery_parallelism参数是指在进行instance crash recovery时的并行恢复进程个数。

关于并行rollback操作,我们可以通过观察几个试图来进行判断其回滚的时间,如下的几个试图就是我们需要进行查询的:

v$fast_start_transactions

V$FAST_START_SERVERS

x$ktuxe

下面通过例子来进行说明.

SQL>SHOW parameter ROLLBACK

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

_cleanup_rollback_entries            INTEGER     100

_corrupted_rollback_segments         string

_max_cr_rollbacks                    INTEGER     0

_offline_rollback_segments           string

_rollback_segment_count              INTEGER     0

_rollback_segment_initial            INTEGER     1

_rollback_stopat                     INTEGER     0

fast_start_parallel_rollback         string      LOW  #### 10g中的默认值 ####

rollback_segments                    string

transactions_per_rollback_segment    INTEGER     5

SQL> SHOW USER

USER IS "ROGER"

SQL> SELECT COUNT(*) FROM ht1;

COUNT(*)

----------

999

SQL> BEGIN

2    FOR i IN 1 .. 1000 loop

3      INSERT /*+ append */

4      INTO ht1

5        SELECT * FROM ht1;

6      commit;

7    END loop;

8  END;

9  /

BEGIN

*

ERROR at line 1:

ORA-01653: unable TO extend TABLE ROGER.HT1 BY 1024 IN tablespace ROGER

ORA-06512: at line 3

SQL> SELECT COUNT(*) FROM ht1;

COUNT(*)

----------

1022976

++++++ 在当前SESSION执行全表的DELETE操作,如下:++++++

SQL> DELETE FROM ht1;

1022976 ROWS deleted.

++++++ 时间大约1分钟左右 ++++++

###### 在另一窗口进行如下查询:######

SQL> SHOW USER

USER IS "SYS"

SQL> SET LINES 200

SQL> SELECT XIDUSN,XIDSLOT,XIDSQN,NAME,START_UBASQN,START_UBAREC

2   FROM v$transaction;

XIDUSN    XIDSLOT     XIDSQN     NAME                      START_UBASQN START_UBAREC

---------- ---------- ---------- ------------------------- ------------ ------------

6         31        234                                    221            1

SQL> SELECT KTUXEUSN, KTUXESLT, KTUXESQN, KTUXECFL, KTUXESIZ, sysdate

2    FROM x$ktuxe

3   WHERE KTUXEUSN = 6

4     AND KTUXESLT = 31;

KTUXEUSN   KTUXESLT   KTUXESQN   KTUXECFL                   K

本文发布于:2024-02-01 08:33:41,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170674762135280.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:学习笔记   start   oracle   tran   fast
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23