Home > Enterprise Manager, Knowledge > 为实现EM中CRS rolling upgrade如何设置sudo以及sudo环境变量

为实现EM中CRS rolling upgrade如何设置sudo以及sudo环境变量

September 29th, 2009 Leave a comment Go to comments

今天在EM dbconsole 11.2环境里给11gR2的CRS打rolling patch时碰到不少关于sudo的问题,特此记录以免忘记。

因为EM都是通过Agent来进行操作的,所有不可能拥有root权限,而打有些patch的时候又不得不用root权限,所以有必要为grid(Grid Infra的user,就是以前的Clusterware),oracle(RAC database的user)两个用户设置sudo。下面以grid用户为例,说明一下。

首先,要编辑sudo,推荐使用visudo命令,而不要去修改/etc/sudoers的权限(默认是440,即只读)。
以root用户登录

[root@cdcjp64vm3 ~]# visudo

找到

root    ALL=(ALL)       ALL

这一行,在其下面添加

grid    ALL=(ALL)       NOPASSWD: ALL

注意一定要加NOPASSWD,因为EM是从web界面上直接操作,在其打patch过程中是没法人工输入密码的,当然在打patch之前会让你输入一次grid用户的密码,但是这个密码似乎不能存起来留到之后的交互过程中使用。

另外,找到

Defaults    env_keep

这个部分是使用sudo之后要保留的环境变量列表,默认里面是没有ORACLE_HOME的,在rolling upgrade里面有一步需要ORACLE_HOME环境变量,否则会提示让你设置ORACLE_HOME。改为如下:

Defaults    env_keep = "COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR \
                        LS_COLORS MAIL PS1 PS2 QTDIR USERNAME \
                        LANG LC_ADDRESS LC_CTYPE LC_COLLATE LC_IDENTIFICATION \
                        LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC\
                        LC_PAPER LC_TELEPHONE LC_TIME LC_ALL LANGUAGE LINGUAS \
_XKB_CHARSET XAUTHORITY ORACLE_HOME"

验证一下:

[grid@cdcjp64vm3 ~] sudo env|grep ORA
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

OK。现在这样设置就能给CRS打patch了。

  1. No comments yet.
You must be logged in to post a comment.