Oracle 11g集群安装:oracleasm安装及初始化
#!/bin/bash
# 设置Oracle ASM库的环境变量
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_SID=+ASM
export PATH=$PATH:$ORACLE_HOME/bin
# 检查并安装Oracle ASM库
echo "检查并安装Oracle ASM库..."
$ORACLE_HOME/bin/sqlplus / as sysdba <<EOF
SET PAGESIZE 0 FEEDBACK OFF VERIFY OFF HEADING OFF ECHO OFF
SPOOL /tmp/asm_install.log
SELECT VALUE FROM V\$OPTION WHERE PARAMETER = 'Real Application Clusters';
SPOOL OFF
EXIT;
EOF
if [ $? -ne 0 ]; then
# 如果未安装,则安装Oracle ASM库
$ORACLE_HOME/bin/dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbName asmdb -sid +ASM -createAsContainerDatabase true \
-sysPassword P@ssw0rd -systemPassword P@ssw0rd \
-responseFile NO_VALUE \
-characterSet AL32UTF8 \
-memoryMb 1024 -databaseType MULTIPURPOSE
else
echo "Oracle ASM库已安装。"
fi
# 检查并初始化OCR和VOTEDISK
echo "检查并初始化OCR和VOTEDISK..."
$ORACLE_HOME/bin/ocrconfig -showbackup
if [ $? -ne 0 ]; then
# 如果OCR未初始化,则初始化OCR
$ORACLE_HOME/bin/ocrconfig -config local -localhandledisk /dev/raw/raw1
# 如果Voting Disk未初始化,则初始化Voting Disk
$ORACLE_HOME/bin/crsctl query crs activeversion
if [ $? -ne 0 ]; then
$ORACLE_HOME/bin/crsctl init votin disk /dev/raw/raw2
fi
else
echo "OCR和Voting Disk已初始化。"
fi
这段代码首先设置了Oracle ASM的环境变量,然后检查Oracle ASM是否已经安装。如果未安装,则使用dbca命令以静默方式创建一个ASM数据库。接着,它检查OCR是否已经初始化,如果没有,则使用ocrconfig命令进行初始化。最后,它检查Voting Disk是否已经初始化,如果没有,则使用crsctl命令进行初始化。这个过程是在构建Oracle Real Application Clusters (RAC)环境中的一个重要步骤。
评论已关闭