背景介绍:
ORACLE 的集群文件系统ACFS ( ASM Cluster File System) 是Oracle 在11.2 之后引入的新特性,可在ASM磁盘组上创建卷(volumn)进而创建文件系统(ACFS),可存放的目标文件支持二进制格式的文件,这样我们就可以把ORACLE_HOME 目录放在ACFS上,此时多个RAC 节点共享一个ORACLE_HOME, 在升级打patch的时候非常方便。 本文就来实现如果创建共享ORACLE_HOME的ACFS。
前提: ORACLE RAC的GI部分(CRS 和 ASM)已经安装完毕, 数据库软件还没有安装。
操作系统版本 : Solaris 11.1
数据库版本 : Oracle 12.1.0.1
1. 用root用户在各个节点启动crs,启动ACFS驱动程序,执行:
2. 在主节点上创建 volumn:
命令解释:使用asmca的静默模式。
VOL_NAME -> 自助命名的卷名称
DISKGRP_ACFS -> 选择在哪个磁盘组上创建卷
VOL_SIZE -> 创建卷的大小,如果安装ORACLE_HOME,一般要大于5G
3. 用crs的用户查看卷信息:
4. 以crs用户执行命令,作用是格式化卷,创建ACFS文件系统:
命令解释:
-
acfsVolumeDevice 参数制定在哪个卷上创建(格式化)为ACFS文件系统;
-
acfsMountPoint 参数表示把ACFS文件系统mount到操作系统的具体目录,这个目录就是我们的ORACLE_HOME的位置,比如 /u01/app/oracle/product/12.1.0/dbhome_1;
-acfsUserName 和 -acfsGroupName 就是为了设置这个目录的权限,所以分别为 oracle:oinstall (数据库的用户和组)
5. 以root用户在执行步骤4的节点执行脚本:
解释:1行把ACFS加入 集群的资源,随着crs启动自动启动, 如果成功启动ACFS,效果就是RAC的各个节点的
mount_dir 目录是共享的,在一个节点创建测试文件,其它节点就可以看到了。
6. 继续RAC的安装,执行database的安装过程。
注意事项:
mount_dir的选择:如果选定ORACLE_HOME为 /u01/app/oracle/product/12.1.0/dbhome_1, 那么 mount_dir 最好选择它的上级目录: /u01/app/oracle/product/12.1.0, 因为ACFS创建成功之后会在mount_dir 下自动生成一个lost_found文件夹,而且删不掉,有些版本的oracle是不允许在安装之前家目录为非空,所以当installer发现有一个lost_found 文件夹会停止安装并报错。
ORACLE 的集群文件系统ACFS ( ASM Cluster File System) 是Oracle 在11.2 之后引入的新特性,可在ASM磁盘组上创建卷(volumn)进而创建文件系统(ACFS),可存放的目标文件支持二进制格式的文件,这样我们就可以把ORACLE_HOME 目录放在ACFS上,此时多个RAC 节点共享一个ORACLE_HOME, 在升级打patch的时候非常方便。 本文就来实现如果创建共享ORACLE_HOME的ACFS。
前提: ORACLE RAC的GI部分(CRS 和 ASM)已经安装完毕, 数据库软件还没有安装。
操作系统版本 : Solaris 11.1
数据库版本 : Oracle 12.1.0.1
1. 用root用户在各个节点启动crs,启动ACFS驱动程序,执行:
- $CRS_HOME/bin/crsctl start crs
- $CRSHOME/bin/acfsload start
- $CRSHOME/bin/asmca -silent -createVolume -volumename ${VOL_NAME} -volumeDiskGroup ${DISKGRP_ACFS} -volumeSizeGB ${VOL_SIZE}\
VOL_NAME -> 自助命名的卷名称
DISKGRP_ACFS -> 选择在哪个磁盘组上创建卷
VOL_SIZE -> 创建卷的大小,如果安装ORACLE_HOME,一般要大于5G
3. 用crs的用户查看卷信息:
- $CRSHOME/bin/asmcmd volinfo -G ${DISKGRP_ACFS} ${VOL_NAME}
- $CRSHOME/bin/asmca -silent -createACFS -acfsVolumeDevice ${VOL_DEVICE} -acfsMountPoint ${mount_dir} -acfsUserName ${DB_USER} -acfsGroupName oinstall
-acfsUserName 和 -acfsGroupName 就是为了设置这个目录的权限,所以分别为 oracle:oinstall (数据库的用户和组)
5. 以root用户在执行步骤4的节点执行脚本:
- 1 $CRSHOME/bin/srvctl add filesystem -d ${VOL_DEVICE} -m ${mount_dir} -u ${DB_USER} -autostart ALWAYS
- 2
- 3 if [ $? = "0" -o $? = "2" ]; then
4 $CRSHOME/bin/srvctl start filesystem -d ${VOL_DEVICE}
5 if [ $? = "0" ]; then - 6 chown ${DB_USER}:oinstall ${mount_dir}
7 chmod 775 ${mount_dir}
8 fi
9 else
10 echo "Creating CRS resources failed "
11 exit 1
12 fi
6. 继续RAC的安装,执行database的安装过程。
注意事项:
mount_dir的选择:如果选定ORACLE_HOME为 /u01/app/oracle/product/12.1.0/dbhome_1, 那么 mount_dir 最好选择它的上级目录: /u01/app/oracle/product/12.1.0, 因为ACFS创建成功之后会在mount_dir 下自动生成一个lost_found文件夹,而且删不掉,有些版本的oracle是不允许在安装之前家目录为非空,所以当installer发现有一个lost_found 文件夹会停止安装并报错。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20482996/viewspace-1291876/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/20482996/viewspace-1291876/