环境:RHEL 6.4 + Oracle 11.2.0.4
需求:单机静默安装GI软件并创建ASM实例和ASM磁盘组,为后续迁移数据库文件到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存储 安装部署 快速参考》相关内容。
# chmod 775 /u02/soft/
$ unzip /u02/media/p13390677_112040_Linux-x86-64_3of7.zip -d /u02/soft/
$ 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=
./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找不到》解决。
-- 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
--查询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;
创建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
[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
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
$ 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