1.检查oradism文件权限(下方权限是正常的)
$ cd $ORACLE_HOME/bin
$ ls -lrt oradism
-rwsr-x--- 1 root oinstall 147848 Apr 17 2019 oradism
chown root $ORACLE_HOME/bin/oradism
chmod 4750 $ORACLE_HOME/bin/oradism
2.检查数据库的优先级别:VKTM还是LMS*
set linesize 680
col Parameter for a30
col "Session Value" for a16
col "Instance Value" for a16
col "Description" for a30
select a.ksppinm "Parameter", b.ksppstvl "Session Value", c.ksppstvl "Instance Value", a.KSPPDESC "Description"
from x$ksppi a, x$ksppcv b, x$ksppsv c
where a.indx = b.indx and a.indx = c.indx and a.ksppinm like '_%' and a.ksppinm like '_highest_priority_process%';
上面是正确的,如果不正确,更改优先级
alter system set "_high_priority_processes"='VKTM' scope=spfile;
3.检查Cgroup配置
$ ps -eaf|grep -i vktm |grep -v grep
oracle 1900 1 0 13:53 ? 00:00:00 ora_vktm_gsp
$ cat /proc/1900/cgroup | grep cpu
7:cpu,cpuacct:/user.slice
2:cpuset:/
$ ps -eaf|grep -i pmon|grep -v grep
oracle 1888 1 0 13:53 ? 00:00:00 ora_pmon_gsp
$ cat /proc/1888/cgroup | grep cpu
7:cpu,cpuacct:/user.slice
2:cpuset:/
检查发现设置显示其他路径,检查cpu.rt_runtime_us的值
# cat /sys/fs/cgroup/cpu,cpuacct/system.slice/cpu.rt_runtime_us
0
# cat /sys/fs/cgroup/cpu,cpuacct/user.slice/cpu.rt_runtime_us
0
根据官方文档其值应该为0和950000,可以使用下面命令修改,但是系统重启后,此参数设置会失效
echo 0 > /sys/fs/cgroup/cpu,cpuacct/system.slice/cpu.rt_runtime_us
echo 950000 > /sys/fs/cgroup/cpu,cpuacct/user.slice/cpu.rt_runtime_us
永久生效(在cgconfig.conf中设置)
Install libcgroup-tools* on the system. (You can find this package on OL7 latest repository)
# yum install libcgroup-tools
/etc/cgconfig.conf will be created automatically when you start cgconfig service
# systemctl start cgconfig
Edit /etc/cgconfig.conf with user.slice parameter below.
group user.slice {
cpu {
cpu.rt_period_us = 1000000;
cpu.rt_runtime_us = 950000;
}
}
Restart cgfconfig service so the value will take effect.
# systemctl restart cgconfig
Enable cgconfig so it will take effect during reboot.
#systemctl enable cgconfig
Reboot the server and check the value if it is now persistent.
重启实例