当前位置: 首页 > BASIC > 正文

utlrp.sql更改为串行运行

今天一同事在群里面发,utlrp.sql并行导致把session使用完了,需要将utlrp.sql改成串联的方式运行

1,数据库版本

SQL> select * from v$version;

 

BANNER

——————————————————————————–

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 – 64bit Production

PL/SQL Release 11.2.0.4.0 – Production

CORE    11.2.0.4.0      Production

TNS for Linux: Version 11.2.0.4.0 – Production

NLSRTL Version 11.2.0.4.0 – Production

2,并行的控制

[oracle@orcl9i admin]$ tail -10 utlrp.sql

 

Rem ===========================================================================

Rem BEGIN utlrp.sql

Rem ===========================================================================

 

@@utlprp.sql 0

 

Rem ===========================================================================

Rem END utlrp.sql

Rem ===========================================================================

其实这里的0就是控制并行的方式

0 – 基于CPU_COUNT参数设置并行度.

1 – 以串行方式编译对象,一次编译一个.

N – 以N个并行度进行编译.

 

下面我们在看看ultprp.sql脚本中有如下的内容

这里我们也可以直接修改并行度

 

   This script automatically chooses serial or parallel recompilation

   based on the number of CPUs available (parameter cpu_count) multiplied

   by the number of threads per CPU (parameter parallel_threads_per_cpu).

   On RAC, this number is added across all RAC nodes.

 

 

DECLARE

   threads pls_integer := &&1;

BEGIN

   utl_recomp.recomp_parallel(threads);

END;

/

 

另外我们还可以修改utl_recomp.recomp_serial();来实现

本文固定链接: http://www.htz.pw/2014/08/13/utlrp-sql%e6%9b%b4%e6%94%b9%e4%b8%ba%e4%b8%b2%e8%a1%8c%e8%bf%90%e8%a1%8c.html | 认真就输

该日志由 huangtingzhong 于2014年08月13日发表在 BASIC 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: utlrp.sql更改为串行运行 | 认真就输
关键字: ,