设置threaded_execution启用12c的多线程模式

Unix/Linux中oracle数据库进程采用多进程模式,如我们可以在系统进程列表中看到pmon,smon,dbwr,lgwr,ckpt等oracle系统进程。随着oracle数据库功能增多,进程数量也随之增加,创建进程的开销以及进程上下文切换的开销也越来越大(进程状态切换 switching 是要直接硬件CPU资源),多线程结构中,线程切换在用户空间通过库函数实现,开销不在一个量级。所以,在oracle 12c中,有一个关于多线程的参数:threaded_execution,默认为false。启用的话,将其设置为true。启用之后,有如下变化:

1.进程数变少:
之前:

之后:

2. 必须网络登录,不能本地验证:


3. 可以不同实例不同值:

4. listener相关修改:
当threaded_execution这个字被设置成true后,在listener.ora文件中,需要加上:

参考:
http://docs.oracle.com/database/121/REFRN/GUID-7A668A49-9FC5-4245-AD27-10D90E5AE8A8.htm#REFRN10335
http://docs.oracle.com/database/121/CNCPT/process.htm#CNCPT1245

相关文章

2条评论

  1. 这个功能在实际生产中使用的多么?是否建议开启呢?

    1. 从运维角度考虑,保持和原来一致的维护模式,不建议打开了。
      不过可以在测试库,或小库先试用。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据