rdbms: 11.2.0.3
OS:Oracle Linux 5.11
exadata :11.2.3.2.0
可以參考文檔:MOS: Using PROCESSOR_GROUP_NAME to bind a database instance to CPUs or NUMA nodes on Linux (Doc ID 1585184.1)
[root@exadb01 oracle]# sh setup_processor_group.sh -show
This is a NUMA system.
NUMA configuration:
-------------------
Node 0
CPUs: 0
Memory Total: 2096636 kB Free: 1063988 kB
This system does not have any processor group.
[root@exadb01 oracle]#
[root@exadb01 oracle]# sh setup_processor_group.sh -prepare
SUCCESS: -prepare complete
Next step: create a new proc group using option -create
[root@exadb01 oracle]#
[root@exadb01 oracle]# sh setup_processor_group.sh -check
setup_processor_group.sh -prepare has been run on this system
[root@exadb01 oracle]#
[root@exadb01 oracle]# sh setup_processor_group.sh -create -name mycg -cpus 0 -u:g oracle:dba
SUCCESS: -create complete for processor group mycg
To start an Oracle instance in this processor group,
set the database initialization parameter:
PROCESSOR_GROUP_NAME=mycg
[root@exadb01 oracle]#
[root@exadb01 oracle]# mount
/dev/mapper/VolGroup00-LogVol00 on / type ext3 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
cpuset on /mnt/cgroup type cgroup (rw,cpuset)
[root@exadb01 oracle]#
--數據庫層的設置。出現無法啓動數據庫的原因,可以參考上面的MOS,Oracle Database - Enterprise Edition - Version 12.1.0.1 and later 。要DB 12.1.0.1 開始。這裏11.2.0.3 ,出現錯誤正常
SYS@exa>show parameter processor_group_name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
processor_group_name string
SYS@exa>alter system set processor_group_name=mycg scope=spfile;
System altered.
SYS@exa>
SYS@exa>startup
ORA-01078: failure in processing system parameters
ORA-56729: Failed to bind the database instance to processor group MYCG;
Additional Information: Cannot open /mnt/cgroup/MYCG/cpuset.memory_migrate at skgsnmvpgs:4
SYS@exa>
-- 修復spfile
SYS@exa>create pfile='/home/oracle/pfile' from spfile='+data_add/exa/spfileexa.ora';
--備份原來的spfile,重新創建spfile並啓動數據庫
SYS@exa>
ASMCMD> cp spfileexa.ora spfileexa.ora_old
copying +data_add/exa/spfileexa.ora -> +data_add/exa/spfileexa.ora_old
ASMCMD> rm -rf spfileexa.ora
-- 重新創建spfile ,並啓動數據庫
SYS@exa>create spfile='+data_add/exa/spfileexa.ora' from pfile='/home/oracle/pfile';
File created.
SYS@exa>startup
ORACLE instance started.
Total System Global Area 626327552 bytes
Fixed Size 2230952 bytes
Variable Size 285214040 bytes
Database Buffers 335544320 bytes
Redo Buffers 3338240 bytes
Database mounted.
Database opened.
SYS@exa>
-- 刪除掉配置的cgroup,此時mount下還是可以看到cpuset on /mnt/cgroup type cgroup (rw,cpuset)。其中一些書上介紹到,cgroup雖然在Oracle Linux5上也有該特性,但是到了Oracle Linux 6 才正式發佈這個新特性。相比Oracle Linux 6,Oracle Linux 5 上的cgroups缺少了一些管理工具,大部分步驟需要通過手工來配置。
setup_processor_group.sh –delete –name mycg
[root@exadb01 oracle]# sh setup_processor_group.sh -delete -name mycg
SUCCESS: -delete complete for processor group mycg
END