环境:RHEL 6.4 + Oracle 11.2.0.4
需求:单机静默安装GI软件并创建ASM实例和ASM磁盘组,为后续迁移数据库文件到ASM做准备
1. 安装配置GI软件
## 1.1 创建grid用户和相关组,创建目录,确认ASM磁盘权限,配置环境变量 ## ``` -- 创建grid用户和相关组 groupadd asmadmin groupadd asmdba groupadd asmoper useradd -g oinstall -G dba,asmadmin,asmdba,asmoper grid usermod -g oinstall -G dba,asmadmin,asmdba oracle passwd grid -- 创建目录 mkdir -p /u02/app/11.2.0/grid mkdir -p /u02/app/grid -- 赋予目录权限 chmod 775 /u02/app chown -R grid:oinstall /u02/app/11.2.0 chown -R grid:oinstall /u02/app/grid -- ASM磁盘 $ ls -lh /dev/mapper/ora_vg-lv_asm* lrwxrwxrwx. 1 root root 7 Dec 1 13:13 /dev/mapper/ora_vg-lv_asm1 -> ../dm-2 lrwxrwxrwx. 1 root root 7 Dec 1 13:14 /dev/mapper/ora_vg-lv_asm2 -> ../dm-3 lrwxrwxrwx. 1 root root 7 Dec 1 13:14 /dev/mapper/ora_vg-lv_asm3 -> ../dm-4 lrwxrwxrwx. 1 root root 7 Dec 1 13:14 /dev/mapper/ora_vg-lv_asm4 -> ../dm-5 lrwxrwxrwx. 1 root root 7 Dec 1 13:14 /dev/mapper/ora_vg-lv_asm5 -> ../dm-6 lrwxrwxrwx. 1 root root 7 Dec 1 13:15 /dev/mapper/ora_vg-lv_asm6 -> ../dm-7 -- 赋权并将赋权操作添加到/etc/rc.local文件中 chown grid:asmadmin /dev/mapper/ora_vg-lv_asm* -- grid环境变量 export ORACLE_BASE=/u02/app/grid export ORACLE_HOME=/u02/app/11.2.0/grid export ORACLE_SID=+ASM export PATH=$ORACLE_HOME/bin:$PATH ``` 注意:生产环境一般用udev绑定新盘,我这里由于是Citrix虚拟化实验环境,用每个lv模拟了一个磁盘。划lv盘过程可参考《[Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考](http://www.cnblogs.com/jyzhao/p/4332410.html)》相关内容。 ## 1.2 解压安装包 ## ``` # chmod 775 /u02/soft/ $ unzip /u02/media/p13390677_112040_Linux-x86-64_3of7.zip -d /u02/soft/ ``` ## 1.3 静默安装GI ## ``` $ cd /u02/soft/grid/response $ cp grid_install.rsp grid_install.rsp.bak $ sed -i 's/^#.*$//g' *.rsp $ sed -i '/^$/d' *.rsp ``` $ more grid_install.rsp ``` oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0 ORACLE_HOSTNAME=JY-DB01 INVENTORY_LOCATION=/u02/app/oraInventory SELECTED_LANGUAGES=en oracle.install.option=HA_CONFIG ORACLE_BASE=/u02/app/grid ORACLE_HOME=/u02/app/11.2.0/grid oracle.install.asm.OSDBA=asmdba oracle.install.asm.OSOPER=asmoper oracle.install.asm.OSASM=asmadmin oracle.install.crs.config.gpnp.scanName= oracle.install.crs.config.gpnp.scanPort= oracle.install.crs.config.clusterName= oracle.install.crs.config.gpnp.configureGNS=false oracle.install.crs.config.gpnp.gnsSubDomain= oracle.install.crs.config.gpnp.gnsVIPAddress= oracle.install.crs.config.autoConfigureClusterNodeVIP= oracle.install.crs.config.clusterNodes= oracle.install.crs.config.networkInterfaceList= oracle.install.crs.config.storageOption=ASM_STORAGE oracle.install.crs.config.sharedFileSystemStorage.diskDriveMapping= oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations= oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=NORMAL oracle.install.crs.config.sharedFileSystemStorage.ocrLocations= oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=NORMAL oracle.install.crs.config.useIPMI=false oracle.install.crs.config.ipmi.bmcUsername= oracle.install.crs.config.ipmi.bmcPassword= oracle.install.asm.SYSASMPassword=oracle oracle.install.asm.diskGroup.name=data1 oracle.install.asm.diskGroup.redundancy=NORMAL oracle.install.asm.diskGroup.AUSize=1 oracle.install.asm.diskGroup.disks=/dev/mapper/ora_vg-lv_asm1,/dev/mapper/ora_vg-lv_asm2 oracle.install.asm.diskGroup.diskDiscoveryString=/dev/mapper/ora* oracle.install.asm.monitorPassword=oracle oracle.install.crs.upgrade.clusterNodes= oracle.install.asm.upgradeASM=false oracle.installer.autoupdates.option= oracle.installer.autoupdates.downloadUpdatesLoc= AUTOUPDATES_MYORACLESUPPORT_USERNAME= AUTOUPDATES_MYORACLESUPPORT_PASSWORD= PROXY_HOST= PROXY_PORT= PROXY_USER= PROXY_PWD= PROXY_REALM= ``` ### 1.3.1 静默安装 ### ``` ./runInstaller -responseFile /u02/soft/grid/response/grid_install.rsp -silent -ignorePrereq -showProgress ``` 过程如下: ``` Starting Oracle Universal Installer...Checking Temp space: must be greater than 120 MB. Actual 20827 MB Passed
Checking swap space: must be greater than 150 MB. Actual 4015 MB Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2015-12-01_03-47-21PM. Please wait ...[grid@JY-DB01 grid]$ [WARNING] [INS-30011] The SYS password entered does not conform to the Oracle recommended standards.
CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
ACTION: Provide a password that conforms to the Oracle recommended standards.
[WARNING] [INS-30011] The ASMSNMP password entered does not conform to the Oracle recommended standards.
CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
ACTION: Provide a password that conforms to the Oracle recommended standards.
[WARNING] [INS-32018] The selected Oracle home is outside of Oracle base.
CAUSE: The Oracle home selected was outside of Oracle base.
ACTION: Oracle recommends installing Oracle software within the Oracle base directory. Adjust the Oracle home or Oracle base accordingly.
You can find the log of this install session at:
/u01/app/oraInventory/logs/installActions2015-12-01_03-47-21PM.log
Prepare in progress.
.................................................. 9% Done.
Prepare successful.
Copy files in progress.
.................................................. 14% Done.
.................................................. 21% Done.
.................................................. 26% Done.
.................................................. 31% Done.
.................................................. 36% Done.
.................................................. 42% Done.
.................................................. 50% Done.
.................................................. 56% Done.
.................................................. 61% Done.
.................................................. 66% Done.
.................................................. 71% Done.
........................................
Copy files successful.
Link binaries in progress.
..........
Link binaries successful.
..........
Setup files in progress.
.................................................. 76% Done.
.................................................. 89% Done.
Setup files successful.
The installation of Oracle Grid Infrastructure 11g was successful.
Please check '/u01/app/oraInventory/logs/silentInstall2015-12-01_03-47-21PM.log' for more details.
.................................................. 94% Done.
Execute Root Scripts in progress.
As a root user, execute the following script(s):
1. /u02/app/11.2.0/grid/root.sh
.................................................. 100% Done.
Execute Root Scripts successful.
As install user, execute the following script to complete the configuration.
1. /u02/app/11.2.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=<response_file>
Note:
1. This script must be run on the same host from where installer was run.
2. This script needs a small password properties file for configuration assistants that require passwords (refer to install guide documentation).
Successfully Setup Software.
按提示执行脚本
-- root用户执行root.sh
/u02/app/11.2.0/grid/root.sh
Check /u02/app/11.2.0/grid/install/root_JY-DB01_2015-12-01_15-54-30.log for the output of root script
-- 启动资源
$ crsctl start resource -all
-- 检查has,css,evm都是online
crsctl check has
crsctl check css
crsctl check evm
-- 创建密码文件
$ cd $ORACLE_HOME/dbs
$ orapwd file=orapw+ASM password=oracle entries=10 ignorecase=y
-- grid用户执行配置
$ /u02/app/11.2.0/grid/cfgtoollogs/configToolAllCommands RESPONSE_FILE=/u02/soft/grid/response/grid_install.rsp
注意:如果执行root.sh的脚本日志中遇到libcap.so.1找不到的错误可参考《[Oracle 11g安装GI后,运行roothas.pl脚本报错libcap.so.1找不到](http://www.cnblogs.com/jyzhao/p/3855555.html)》解决。
<h1 id="2">2. 创建ASM实例</h1>
-- ASM实例参数文件
INSTANCE_TYPE=ASM
DB_UNIQUE_NAME=+ASM
ASM_POWER_LIMIT=1
ASM_DISKSTRING=/dev/mapper/ora*
ASM_DISKGROUPS=data1
LARGE_POOL_SIZE=16M
-- 启动到nomount
SQL> startup nomount pfile='$ORACLE_HOME/dbs/init+ASM.ora'
ASM instance started
Total System Global Area 1135747072 bytes
Fixed Size 2260728 bytes
Variable Size 1108320520 bytes
ASM Cache 25165824 bytes
<h1 id="3">3. 创建ASM磁盘组DATA1</h1>
## 3.1 查询可用ASM磁盘 ##
--查询v$asm_disk
set linesize 200
col path for a50
select GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, NAME, FAILGROUP, CREATE_DATE, PATH from v$asm_disk;
--结果如下:
GROUP_NUMBER DISK_NUMBER MOUNT_S NAME FAILGROUP CREATE_DA PATH
0 0 CLOSED /dev/mapper/ora_vg-lv_asm6
0 1 CLOSED /dev/mapper/ora_vg-lv_asm5
0 5 CLOSED /dev/mapper/ora_vg-lv_asm1
0 3 CLOSED /dev/mapper/ora_vg-lv_asm3
0 4 CLOSED /dev/mapper/ora_vg-lv_asm2
0 2 CLOSED /dev/mapper/ora_vg-lv_asm4
6 rows selected.
-- 查询v$asm_diskgroup
select GROUP_NUMBER, NAME, TYPE, TOTAL_MB, FREE_MB, USABLE_FILE_MB from v$asm_diskgroup;
## 3.2 创建磁盘组 ##
创建ASM磁盘组data1,普通冗余,指定2个故障组。
create diskgroup data1 normal redundancy
failgroup fg1 disk '/dev/mapper/ora_vg-lv_asm1' name d1a
failgroup fg2 disk '/dev/mapper/ora_vg-lv_asm2' name d1b;
执行过程输出信息:
SQL> create diskgroup data1 normal redundancy
2 failgroup fg1 disk '/dev/mapper/ora_vg-lv_asm1' name d1a
3 failgroup fg2 disk '/dev/mapper/ora_vg-lv_asm2' name d1b;
Diskgroup created.
SQL> select GROUP_NUMBER, DISK_NUMBER, MOUNT_STATUS, NAME, FAILGROUP, CREATE_DATE, PATH from v$asm_disk;
GROUP_NUMBER DISK_NUMBER MOUNT_S NAME FAILGROUP CREATE_DA PATH
0 0 CLOSED /dev/mapper/ora_vg-lv_asm6
0 1 CLOSED /dev/mapper/ora_vg-lv_asm5
0 2 CLOSED /dev/mapper/ora_vg-lv_asm4
0 3 CLOSED /dev/mapper/ora_vg-lv_asm3
1 1 CACHED D1B FG2 02-DEC-15 /dev/mapper/ora_vg-lv_asm2
1 0 CACHED D1A FG1 02-DEC-15 /dev/mapper/ora_vg-lv_asm1
6 rows selected.
SQL> select GROUP_NUMBER, NAME, TYPE, TOTAL_MB, FREE_MB, USABLE_FILE_MB from v$asm_diskgroup;
GROUP_NUMBER NAME TYPE TOTAL_MB FREE_MB USABLE_FILE_MB
1 DATA1 NORMAL 10240 10138 5069
## 3.3 注册磁盘组到crsctl中 ##
### 3.3.1 添加asm服务 ###
[grid@JY-DB01 ~]$ srvctl add asm
[grid@JY-DB01 ~]$ crsctl stat res -t
NAME TARGET STATE SERVER STATE_DETAILS
Local Resources
ora.LISTENER.lsnr
ONLINE ONLINE jy-db01
ora.asm
OFFLINE OFFLINE jy-db01
ora.ons
OFFLINE OFFLINE jy-db01
Cluster Resources
ora.cssd
1 ONLINE ONLINE jy-db01
ora.diskmon
1 OFFLINE OFFLINE
ora.evmd
1 ONLINE ONLINE jy-db01
### 3.3.2 创建spfile,重启ASM实例 ###
SQL> create spfile from pfile;
File created.
SQL> shutdown immediate;
ASM diskgroups volume disabled
ASM diskgroups dismounted
ASM instance shutdown
SQL> startup
ASM instance started
Total System Global Area 1135747072 bytes
Fixed Size 2260728 bytes
Variable Size 1108320520 bytes
ASM Cache 25165824 bytes
ASM diskgroups mounted
ASM diskgroups volume enabled
SQL> show parameter pfile
NAME TYPE VALUE
spfile string /u02/app/11.2.0/grid/dbs/spfil
e+ASM.ora
### 3.3.3 查看资源,DATA1磁盘组已经自动注册 ###
$ crsctl stat res -t
NAME TARGET STATE SERVER STATE_DETAILS
Local Resources
ora.DATA1.dg
ONLINE ONLINE jy-db01
ora.LISTENER.lsnr
ONLINE ONLINE jy-db01
ora.asm
ONLINE ONLINE jy-db01 Started
ora.ons
OFFLINE OFFLINE jy-db01
Cluster Resources
ora.cssd
1 ONLINE ONLINE jy-db01
ora.diskmon
1 OFFLINE OFFLINE
ora.evmd
1 ONLINE ONLINE jy-db01