------- OSM -------
Oracle 从12c开始在 SOLARIS平台上采用 OSM (Optimal Shared Memory) 作为申请SGA内存的默认机制,代替之前的ISM和Dynamic ISM,Solaris从以下版本开始支持OSM:
Oracle Solaris 10 1/13.
Oracle Solaris 11 SRU 7.5 or later.
对于如何启动OSM,引用MOS文档上的描述:"Provided that you are running on a version of Oracle Solaris which contains the OSM feature, OSM will be used to implement the SGA whenever you define MEMORY_MAX_TARGET to a value strictly greater than (and not equal to) MEMORY_TARGET."但是根据实验,两个参数相等时也可以启用。 有两种方法可以检测是否启用OSM。
1. 执行 "ipcs -dm " 查看列“ALLOC”
ALLOC列值中有连字符“-”证明OSM没有启用;如果列值是整型数字证明自用OSM:(例子中为系统启用了OSM)
# ipcs -dm
T ID KEY MODE OWNER GROUP ALLOC
Shared Memory:
m 486539308 0x0 --rw-r----- racusr osasm 16777216
m 486539307 0x0 --rw-r----- racusr osasm 1358954496
m 486539306 0xd6dbf168 --rw-r----- racusr osasm 16777216
m 369098787 0x0 --rw-r----- crsusr oinstall 658505728
m 369098786 0x78f47b24 --rw-r----- crsusr oinstall 4194304
2. 用pmap命令结果搜索 osm 关键字,pmap -xs 'ora_pmon' | grep osm
# pmap -xs `ps -ef | grep ora_pmon | grep -v grep | awk \'{print $2}\'` | grep osm
0000000380000000 16384 16384 - 16384 4M rwxs- [ osm shmid=0x1d00002a ]
0000000400000000 704512 - - - - ---s- [ osm shmid=0x1d00002b ]
000000042B000000 1327104 1327104 - 1327104 4M rwxs- [ osm shmid=0x1d00002b ]
0000000480000000 16384 16384 - 16384 4M rwxs- [ osm shmid=0x1d00002c ]
-------MPMT-------
Unix/Linux中oracle数据库进程采用多进程模式,如我们可以在系统进程列表中看到pmon,smon,dbwr,lgwr,ckpt等oracle系统进程。随着oracle数据库功能增多,进程数量也随之增加,创建进程的开销以及进程上下文切换的开销也越来越大(进程状态切换 switching 是要直接硬件CPU资源),多线程结构中,线程切换在用户空间通过库函数实现,开销不在一个量级。
以下介绍在RAC环境下如何启用多线程模式 1. 如果spfile不在ASM上,保证在每个rac节点中修改参数“threaded_execution=TRUE”;如果spfile在ASM上共享,只需要在一个节点中修改就好 SQL> show parameter threaded NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ threaded_execution boolean FALSE SQL> alter system set threaded_execution=true scope=spfile; System altered. 2. 重启数据库: srvctl stop database -d srvctl start database -d 3.在listener.ora中 DEDICATED_THROUGH_BROKER_=ON 保证客户端连接采用多线程模式。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20482996/viewspace-1142087/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20482996/viewspace-1142087/
本文介绍了Oracle在Solaris平台使用OSM管理SGA内存的方法,并提供了如何检测OSM是否启用的步骤。同时,文章还讲解了在RAC环境下启用多线程模式(MPMT)的具体操作。
5909

被折叠的 条评论
为什么被折叠?



