大佬教程收集整理的这篇文章主要介绍了Oracle 12c 新特性之多线程数据库操作,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
之前我们学习Oracle基础的时候,有一个概念,叫多进程和多线程。在Unix/Linux等环境下面。数据库是以多进程的方式运行的,当一个会话连接进来,就会通过监听,然后在服务器上创建一个进程。而在Windows上面它是以多线程的方式来运行的。一个进程有很多个thread线程。而在12c这个版本上面,Oracle在Unix/Linux平台上做出了一些改变,引入了多线程的方式。通过参数threaded_execution,我们可以控制数据库是以多进程方式运行还是以多线程方式运行,默认该参数是false数据库以多进程方式运行。
1.查看参数的默认值,和数据库进程状态.
2.修改参数重启数据库
当重启数据库的时候会遇到一些障碍,这里居然报无效的用户名和密码。这是因为我们修改了线程模式导致的,在这个时候我们需要通过先sqlplus /nolog,然后在conn的方式进行连接。
3.修改完参数之后查看进程状态。
后台进程的数量减少了。一些后台进程(pmon,dbw,LGWR,psp,vktm)的行为与以前一样。奇怪的是居然smon也没了。其他BACkgtound进程属于名为ora_uxxx_ 的多线程进程。
4.通过系统视图查看进程状态。
这里我们可以发现execution_type,一部分已经变成了THREAD,我们的SMON也变成了THREAD状态。
SPID STID PNAME PROGRAM EXECUTION_
PSEUDO NONE
25236 25236 PMON Oracle@ol6.localdomain (PMON) PROCESS
25242 25242 PSP0 Oracle@ol6.localdomain (PSP0) PROCESS
25244 25244 VKTM Oracle@ol6.localdomain (VKTM) PROCESS
25268 25268 DBW0 Oracle@ol6.localdomain (DBW0) PROCESS
25238 25238 SCMN Oracle@ol6.localdomain (SCMN) THREAD
25238 25240 CLMN Oracle@ol6.localdomain (CLMN) THREAD
25238 25247 GEN0 Oracle@ol6.localdomain (GEN0) THREAD
25238 25248 MMAN Oracle@ol6.localdomain (MMAN) THREAD
25238 25262 DBRM Oracle@ol6.localdomain (DBRM) THREAD
25238 25265 PMAN Oracle@ol6.localdomain (PMAN) THREAD
25238 25273 CKPT Oracle@ol6.localdomain (CKPT) THREAD
25238 25274 SMON Oracle@ol6.localdomain (SMON) THREAD
25238 25278 LREG Oracle@ol6.localdomain (LREG) THREAD
25251 25251 SCMN Oracle@ol6.localdomain (SCMN) THREAD
25251 25253 GEN1 Oracle@ol6.localdomain (GEN1) THREAD
25255 25255 SCMN Oracle@ol6.localdomain (SCMN) THREAD
25255 25257 DIAG Oracle@ol6.localdomain (DIAG) THREAD
25255 25263 VKRM Oracle@ol6.localdomain (VKRM) THREAD
25255 25264 SVCB Oracle@ol6.localdomain (SVCB) THREAD
25255 25266 DIA0 Oracle@ol6.localdomain (DIA0) THREAD
25255 25275 SMCO Oracle@ol6.localdomain (SMCO) THREAD
25255 25276 RECO Oracle@ol6.localdomain (RECO) THREAD
25255 25277 W000 Oracle@ol6.localdomain (W000) THREAD
25255 25279 W001 Oracle@ol6.localdomain (W001) THREAD
25255 25280 PXMN Oracle@ol6.localdomain (PXMN) THREAD
25255 25282 MMON Oracle@ol6.localdomain (MMON) THREAD
25255 25283 MMNL Oracle@ol6.localdomain (MMNL) THREAD
25255 25284 D000 Oracle@ol6.localdomain (D000) THREAD
25255 25285 S000 Oracle@ol6.localdomain (S000) THREAD
25255 25286 TMON Oracle@ol6.localdomain (TMON) THREAD
25255 25287 N000 Oracle@ol6.localdomain (N000) THREAD
25255 25296 Oracle@ol6.localdomain THREAD
25255 25297 Oracle@ol6.localdomain THREAD
25255 25298 Oracle@ol6.localdomain THREAD
25255 25299 Oracle@ol6.localdomain THREAD
25255 25300 Oracle@ol6.localdomain THREAD
25255 25301 Oracle@ol6.localdomain THREAD
25255 25302 Oracle@ol6.localdomain THREAD
25255 25303 Oracle@ol6.localdomain THREAD
25255 25304 Oracle@ol6.localdomain THREAD
25255 25305 Oracle@ol6.localdomain THREAD
25255 25306 Oracle@ol6.localdomain THREAD
25255 25307 Oracle@ol6.localdomain THREAD
25255 25308 Oracle@ol6.localdomain THREAD
25255 25309 Oracle@ol6.localdomain THREAD
25255 25310 Oracle@ol6.localdomain THREAD
25255 25311 Oracle@ol6.localdomain THREAD
25255 25312 Oracle@ol6.localdomain THREAD
25255 25313 Oracle@ol6.localdomain THREAD
25255 25314 Oracle@ol6.localdomain THREAD
25255 25315 Oracle@ol6.localdomain THREAD
25255 25319 TT00 Oracle@ol6.localdomain (TT00) THREAD
25255 25320 TT01 Oracle@ol6.localdomain (TT01) THREAD
25255 25321 TT02 Oracle@ol6.localdomain (TT02) THREAD
25255 25330 Oracle@ol6.localdomain THREAD
25255 25331 Oracle@ol6.localdomain THREAD
25255 25332 Oracle@ol6.localdomain THREAD
25255 25333 Oracle@ol6.localdomain THREAD
25255 25334 Oracle@ol6.localdomain THREAD
25255 25335 Oracle@ol6.localdomain THREAD
25255 25336 Oracle@ol6.localdomain THREAD
25255 25337 Oracle@ol6.localdomain THREAD
25255 25338 Oracle@ol6.localdomain THREAD
25255 25339 Oracle@ol6.localdomain THREAD
25255 25340 AQPC Oracle@ol6.localdomain (AQPC) THREAD
25255 25342 P000 Oracle@ol6.localdomain (P000) THREAD
25255 25343 P001 Oracle@ol6.localdomain (P001) THREAD
25255 25344 P002 Oracle@ol6.localdomain (P002) THREAD
25255 25345 P003 Oracle@ol6.localdomain (P003) THREAD
25255 25491 CJQ0 Oracle@ol6.localdomain (CJQ0) THREAD
25255 25528 QM02 Oracle@ol6.localdomain (QM02) THREAD
25255 25530 Q002 Oracle@ol6.localdomain (Q002) THREAD
25255 25531 Q003 Oracle@ol6.localdomain (Q003) THREAD
25255 25532 Q004 Oracle@ol6.localdomain (Q004) THREAD
25255 25533 Q005 Oracle@ol6.localdomain (Q005) THREAD
25255 25534 Q006 Oracle@ol6.localdomain (Q006) THREAD
25255 25535 Q007 Oracle@ol6.localdomain (Q007) THREAD
25255 25536 Q008 Oracle@ol6.localdomain (Q008) THREAD
25255 25633 W002 Oracle@ol6.localdomain (W002) THREAD
25259 25259 SCMN Oracle@ol6.localdomain (SCMN) THREAD
25259 25261 OFSD Oracle@ol6.localdomain (OFSD) THREAD
25270 25270 SCMN Oracle@ol6.localdomain (SCMN) THREAD
25270 25272 LGWR Oracle@ol6.localdomain (LGWR) THREAD
5.通过监听连接,可以看到仍然是进程模式。
6.如果要通过监听的方式连接变成线程模式,需要修改监听的参数DEDicATED_THROUGH_BROKER_listener-name,并重启监听才行。
7.再次通过监听连接到数据库,发现新连接上的会话已经变成了线程模式。
当然需要注意的一点是,如果在AIX上使用线程模式,需要安装补丁BUG 22226365 – THREADED_EXECUTION=TRUE – SCMN PROCESS RES MEMORY INCREASES。
总结
以上所述是小编给大家介绍的Oracle 12c 新特性之多线程数据库操作,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对菜鸟教程网站的支持!
以上是大佬教程为你收集整理的Oracle 12c 新特性之多线程数据库操作全部内容,希望文章能够帮你解决Oracle 12c 新特性之多线程数据库操作所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。