sitemap

RSS地图

收藏本站

设为首页

Oracle研究中心

当前位置:Oracle研究中心 > 故障案例 >

【案例】Oracle utlrp.sql把session使用完 更改为串行运行

时间:2016-10-28 22:16   来源:Oracle研究中心   作者:HTZ   点击:

天萃荷净 Oracle研究中心案例分析:运维DBA反映在执行utlrp.sql编译无效对象的时候把数据库session用完导致应用故障,结合案例将其由并行改为串行运行。
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.Oracleoracleplus.net2.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 | 认真就输

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【案例】Oracle utlrp.sql把session使用完 更改为串行运行

本文由大师惜分飞原创分享,网址:http://www.oracleplus.net/arch/1095.html

Oracle研究中心

关键词:

如何将一SQL改为串行运行

utlrp.sql更改为串行运行案例

utlrp.sql并行导致把session使用完的解决办法