在Linux平台上,从Oracle 11gR2开始,不论是单实例的库,还是RAC库,如果需要用到ASM时,通常都需要单独安装Grid Infrastructure软件。而在Linux平台上以图形界面【OUI Oracle Universal Installer】安装Oracle 11gR2 Grid软件过程中,会提示以root用户执行orainstRoot.sh和root.sh脚本【如下图一:单实例安装,图二:RAC安装】。
那么这两个脚本分别做了什么,有什么作用呢?本文简单记录:
一 /u01/app/oraInventory/orainstRoot.sh脚本的作用
1 添加grid用户及oinstall组对Oracle Central Inventory 目录的读写权限;
Oracle Central Inventory 目录默认情况下,位于$ORACLE_BASE的上一级目录下,如下图三:
2 删除其它用户组对该目录的读、写、执行权限;
[shell]11gOCM-> pwd
/u01/app
11gOCM> ls
total 20
drwxrwxr-x. 3 grid oinstall 4096 Oct 28 10:38 11.2.0
drwxr-xr-x 2 grid oinstall 4096 Oct 30 10:20 acfs
drwxrwxr-x. 8 grid oinstall 4096 Oct 28 10:38 grid
drwxrwxr-x. 8 oracle oinstall 4096 Nov 5 10:57 oracle
drwxrwx—. 6 grid oinstall 4096 Oct 10 11:09 oraInventory
11gOCM->[/shell]
3 创建/etc/oraInst.loc文件。
11gOCM-> cat /etc/oraInst.loc inventory_loc=/u01/app/oraInventory inst_group=oinstall 11gOCM->
二 /u01/app/11.2.0/grid/root.sh脚本的作用
1 cp grid用户的$ORACLE_HOME/bin下的oraenv、dbhome、coraenv可执行程序到/usr/local/bin路径下;
11gOCM-> pwd /u01/app/11.2.0/grid/bin 11gOCM-> ll oraenv dbhome coraenv -rwxr-xr-x. 1 grid oinstall 5778 Jan 1 2000 coraenv -rwxr-xr-x. 1 grid oinstall 2415 Jan 1 2000 dbhome -rwxr-xr-x. 1 grid oinstall 6183 Jan 1 2000 oraenv 11gOCM-> ll /usr/local/bin/ total 232 -rwxr-xr-x. 1 grid root 5778 Oct 10 10:54 coraenv -rwxr-xr-x. 1 grid root 2415 Oct 10 10:54 dbhome -rwxr-xr-x. 1 grid root 6183 Oct 10 10:54 oraenv -rwxr-xr-x 1 root root 214001 Oct 10 16:39 rlwrap 11gOCM->
2 创建/etc/oratab文件;
11gOCM-> cat /etc/oratab #Backup file is /u01/app/11.2.0/grid/srvm/admin/oratab.bak.11gocm line added by Agent # # This file is used by ORACLE utilities. It is created by root.sh # and updated by either Database Configuration Assistant while creating # a database or ASM Configuration Assistant while creating ASM instance. # A colon, ':', is used as the field terminator. A new line terminates # the entry. Lines beginning with a pound sign, '#', are comments. # # Entries are of the form: # $ORACLE_SID:$ORACLE_HOME:<N|Y>: # # The first and second fields are the system identifier and home # directory of the database respectively. The third filed indicates # to the dbstart utility that the database should , "Y", or should not, # "N", be brought up at system boot time. # # Multiple entries with the same $ORACLE_SID are not allowed. # # +ASM:/u01/app/11.2.0/grid:N orcl:/u01/app/oracle/product/11.2.0/db_1:N # line added by Agent 11gOCM->
3 创建grid用户的OCR keys文件;
4 启动ohasd守护进程,并且将ohasd守护进程的启动文件写入到/etc/inittab文件中,以便于ohasd守护进程随着操作系统的启动而启动。如果是Oracle Enterprise Linux 6及以上版本的操作系统的话,则将该配置信息写入到/etc/init/oracle-ohasd.conf的独立配置文件中。
11gOCM-> cat /etc/init/oracle-ohasd.conf # Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. # # Oracle OHASD startup start on runlevel [35] stop on runlevel [!35] respawn exec /etc/init.d/init.ohasd run >/dev/null 2>&1
这是Oracle Enterprise Linux 6及以上版本的操作系统上的变化,在以前版本的操作系统下,由/etc/inittab文件来控制的条目均转移到/etc/init下单个文件来控制。