今天一同事在群里面发,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();来实现 | 


utlrp.sql更改为串行运行:等您坐沙发呢!