oracle放到crs,利用Oracle CRS搭建应用的高可用集群

五、总结 - 及其他说明/TIPS/文中提到的有用脚本:

从上面的配置及测试我们可以看到,只要掌握了应用程序的启动、关闭、检查的方法,我们就完全可以

利用Oracle CRS来搭建一般应用程序的高可用集群,从而保证了业务的连续性。

1.简单错误处理:如果在实施或测试过程中命令失败,或者有错误需要回退状态,

或者删除资源及相关信息,可以使用下面的几个命令:

crs_stop -f db

crs_unregister db

crs_profile -delete db

错误二:我在上面启动虚拟IP资源的时候报错:

root@rac01 # crs_start –all

….

Attempting to start `havip` on member `rac01`

`havip` on member `rac01` has experienced an unrecoverable failure.

Human intervention required to resume its availability.

…..

查看crs日志:

2008-01-10 17:30:22.526: [ CRSRES][1580] startRunnable: setting CLI values

2008-01-10 17:30:22.527: [ CRSRES][1580] Attempting to start `dg` on member `rac01`

2008-01-10 17:30:22.589: [ CRSRES][1581] startRunnable: setting CLI values

2008-01-10 17:30:22.629: [ CRSRES][1581] Attempting to start `havip` on member `rac01`

2008-01-10 17:30:22.688: [ CRSAPP][1581] StartResource error for havip error code = 1

2008-01-10 17:30:22.749: [ CRSAPP][1581] StopResource error for havip error code = 1

2008-01-10 17:30:22.757: [ CRSRES][1581] X_OP_StopResourceFailed : Stop Resource failed

(File: rti.cpp, line: 1796

2008-01-10 17:30:22.758: [ CRSRES][1581][ALERT] `havip` on member `rac01` has experienced an ...

2008-01-10 17:30:22.758: [ CRSRES][1581] Human intervention required to resume its availability.

2008-01-10 17:30:23.211: [ CRSRES][1580] Start of `dg` on member `rac01` succeeded.

这时候发现在输入网卡时候不小心输入了错误的网卡名称,公共网卡名称应该是e1000g0,

结果使用的bge0,使用下面命令修改

root@rac01 # crs_profile -update havip -o oi=e1000g0

再次启动资源成功。

2.文中的sysdba命令是我习惯用的alias,需要在oracle的.bash_profile或者.profile中添加:

alias sysdba="sqlplus '/as sysdba'"

文中的命令crs_start/crs_stop/crs_profile/crs_register等命令位于$CRS_HOME/bin/目录下,

为了使用方面,一般需要手工将该PATH添加到root和oracle的PATH环境变量中去。

3.磁盘组的启动、关闭、监测脚本db.sh

#!/bin/sh

# *****************************************************************

# shahand 2008-1-3

SCRIPT=$0

ACTION=$1 # Action (start, stop or check)

DG_NAME=oradata12

VOL_NAME=oradata

case $1 in

'start')

/usr/sbin/vxdg -tfC import $DG_NAME;

/usr/sbin/vxvol -g $DG_NAME startall

echo "Resource STARTED"

;;

'stop')

/usr/sbin/vxvol -g $DG_NAME stopall;

/usr/sbin/vxdg deport $DG_NAME

echo "Resource STOPPED"

;;

'check')

if [[ `/usr/sbin/vxprint -v -g $DG_NAME |grep $VOL_NAME|wc -c` -eq 0 ]]

then

exit 1

else

exit 0

fi

echo "Resource CHECKED"

;;

*)

echo "usage: $0 {start stop check}"

;;

esac

exit 0

4.文件系统的启动、关闭、监测脚本fs.sh

#!/bin/sh

# *****************************************************************

# shahand 2008-1-3

SCRIPT=$0

ACTION=$1 # Action (start, stop or check)

DG_NAME=oradata12

VOL_NAME=oradata

case $1 in

'start')

mount -F vxfs /dev/vx/dsk/$DG_NAME/$VOL_NAME /oradata

echo "Resource STARTED"

;;

'stop')

umount /oradata

echo "Resource STOPPED"

;;

'check')

if [[ `mount |grep $VOL_NAME |wc -c` -eq 0 ]]

then

exit 1

else

exit 0

fi

echo "Resource CHECKED"

;;

*)

echo "usage: $0 {start stop check}"

;;

esac

exit 0

5. 数据库的启动、关闭、监测脚本db.sh

#!/bin/sh

# *****************************************************************

# ## shahand 2008-1-3

# *****************************************************************

# /oracle/crs/crs/public/db.sh

SCRIPT=$0

ACTION=$1 # Action (start, stop or check)

CRS_HOME=/oracle/crs/

case $1 in

'start')

su - oracle -c "export ORACLE_SID=orcl;

sqlplus /nolog <

connect /as sysdba;

startup;

exit;

EOF"

exit $?

;;

'stop')

su - oracle -c "export ORACLE_SID=orcl;

sqlplus /nolog <

connect /as sysdba;

alter system checkpoint;

shutdown immediate;

exit;

EOF1"

exit $?

;;

'check')

if [ ! -f $CRS_HOME/crs/public/db.sql ]

then

echo "connect /as sysdba;" > $CRS_HOME/crs/public/db.sql;

echo "spool /tmp/db_check.out;" >>$CRS_HOME/crs/public/db.sql;

echo "select status from v\$instance ;" >> $CRS_HOME/crs/public/db.sql;

echo "exit;" >> $CRS_HOME/crs/public/db.sql;

fi

su - oracle -c "export ORACLE_SID=orcl;sqlplus /nolog @$CRS_HOME/crs/public/db.sql";

if [ `cat /tmp/db_check.out|grep OPEN|wc -c` -eq 0 ]

then

exit 1

else

exit 0

fi

;;

*)

echo "usage: $0 {start stop check}"

;;

esac

exit 0

5. 监听的启动、关闭、监测脚本lsnr.sh

#!/bin/sh

# *****************************************************************

# ## shahand 2008-1-3

# *****************************************************************

# /oracle/crs/crs/public/lsnr.sh

SCRIPT=$0

ACTION=$1 # Action (start, stop or check)

case $1 in

'start')

su - oracle -c "lsnrctl start"

exit $?

;;

'stop')

su - oracle -c "lsnrctl stop"

exit $?

;;

'check')

if [ `ps -ef|grep tnslsnr |wc -c` -eq 0 ]

then

echo "bad";

exit 1

else

echo "good";

exit 0

fi

;;

*)

echo "usage: $0 {start stop check}"

;;

esac

exit 0

7.Oracle集群软件的安装响应文件crs.rsp ,其中在####之前需要修改

ORACLE_HOME="/oracle/crs"

sl_tableList={"rac01:rac01-priv:rac01-vip:N:Y","rac02:rac02-priv:rac02-vip:N:Y"}

ret_PrivIntrList={"e1000g0:10.198.88.0:1","e1000g1:192.168.0.0:2"}

n_storageTypeOCR=2

s_ocrpartiti

s_ocrMirrorLocation=""

n_storageTypeVDSK=2

s_votingdisklocation="/oracle/vdfile1"

s_OcrVdskMirror1RetVal=""

s_VdskMirror2RetVal=""

ORACLE_HOME_NAME="OraCRS10ghome1"

################# complete modify #####################

RESPONSEFILE_VERSION=2.2.1.0.0

UNIX_GROUP_NAME="oinstall"

FROM_LOCATION="../stage/products.xml"

NEXT_SESSION_RESPONSE=

TOPLEVEL_COMPONENT={"oracle.crs","10.2.0.1.0"}

DEINSTALL_LIST={"oracle.crs","10.2.0.1.0"}

SHOW_SPLASH_SCREEN=false

SHOW_WELCOME_PAGE=false

SHOW_NODE_SELECTION_PAGE=false

SHOW_SUMMARY_PAGE=false

SHOW_INSTALL_PROGRESS_PAGE=false

SHOW_CONFIG_TOOL_PAGE=false

SHOW_XML_PREREQ_PAGE=false

SHOW_ROOTSH_CONFIRMATION=true

SHOW_END_SESSION_PAGE=false

SHOW_EXIT_CONFIRMATION=false

NEXT_SESSION=false

NEXT_SESSION_ON_FAIL=false

SHOW_DEINSTALL_CONFIRMATION=false

SHOW_DEINSTALL_PROGRESS=false

RESTART_SYSTEM=false

RESTART_REMOTE_SYSTEM=false

REMOVE_HOMES=

ORACLE_HOSTNAME=

SHOW_END_OF_INSTALL_MSGS=false

COMPONENT_LANGUAGES={"en"}

s_clustername="crs"

CLUSTER_CONFIGURATION_FILE=""

8. Oracle数据库软件的安装响应文件db.rsp,其中在####之前需要修改

CLUSTER_NODES={}

ORACLE_HOME_NAME="OraDB10ghome1"

ORACLE_HOME="/oracle/10g"

##########################################################

FROM_LOCATION="../stage/products.xml"

RESPONSEFILE_VERSION=2.2.1.0.0

UNIX_GROUP_NAME="oinstall"

FROM_LOCATION_CD_LABEL=

SHOW_WELCOME_PAGE=true

SHOW_CUSTOM_TREE_PAGE=true

SHOW_COMPONENT_LOCATIONS_PAGE=true

SHOW_SUMMARY_PAGE=true

SHOW_INSTALL_PROGRESS_PAGE=true

SHOW_REQUIRED_CONFIG_TOOL_PAGE=true

SHOW_CONFIG_TOOL_PAGE=true

SHOW_RELEASE_NOTES=true

SHOW_ROOTSH_CONFIRMATION=true

SHOW_END_SESSION_PAGE=true

SHOW_EXIT_CONFIRMATION=true

NEXT_SESSION=false

NEXT_SESSION_ON_FAIL=true

NEXT_SESSION_RESPONSE=

DEINSTALL_LIST={"oracle.server","10.2.0.1.0"}

SHOW_DEINSTALL_CONFIRMATION=true

SHOW_DEINSTALL_PROGRESS=true

ACCEPT_LICENSE_AGREEMENT=false

TOPLEVEL_COMPONENT={"oracle.server","10.2.0.1.0"}

SHOW_SPLASH_SCREEN=true

SELECTED_LANGUAGES={"en"}

COMPONENT_LANGUAGES={"en"}

INSTALL_TYPE="Enterprise Edition"

sl_superAdminPasswds=

sl_dlgASMCfgSelectableDisks={}

s_superAdminSamePasswd=

s_globalDBName="orcl"

s_dlgASMCfgRedundancyValue="2 (Norm)"

s_dlgASMCfgNewDisksSize="0"

s_dlgASMCfgExistingFreeSpace="0"

s_dlgASMCfgDiskGroupName="DATA"

s_dlgASMCfgDiskDiscoveryString=""

s_dlgASMCfgAdditi

s_dbSelectedUsesASM=""

s_dbSIDSelectedForUpgrade=""

s_dbRetChar=""

s_dbOHSelectedForUpgrade=""

s_ASMSYSPassword=

n_performUpgrade=0

n_dlgASMCfgRedundancySelected=2

n_dbType=1

n_dbSelection=0

b_useSamePassword=false

b_useFileSystemForRecovery=true

b_receiveEmailNotification=false

b_loadExampleSchemas=false

b_enableAutoBackup=false

b_dlgASMShowCandidateDisks=true

b_centrallyManageASMInstance=true

sl_dlgASMDskGrpSelectedGroup={" "," "," "," "}

s_dlgRBOUsername=""

s_dlgEMCentralAgentSelected="No Agents Found"

b_useDBControl=true

s_superAdminSamePasswdAgain=

s_dlgEMSMTPServer=""

s_dlgEMEmailAddress=""

s_dlgRBORecoveryLocation="/oracle/db/flash_recovery_area/"

n_upgradeDB=1

n_configurationOption=3c

sl_upgradableSIDBInstances={}

n_upgradeASM=0

sl_dlgASMCfgDiskSelections={}

s_ASMSYSPasswordAgain=

n_dbStorageType=0

s_rawDeviceMapFileLocation=""

sl_upgradableRACDBInstances={}

s_dlgRBOPassword=

b_stateOfUpgradeDBCheckbox=false

s_dbSid="orcl"

b_dbSelectedUsesASM=false

sl_superAdminPasswdsAgain=

s_mountPoint="/oracle/db/oradata/"

b_stateOfUpgradeASMCheckbox=false

oracle.assistants.server:OPTIONAL_CONFIG_TOOLS="{}"

oracle.has.common:OPTIONAL_CONFIG_TOOLS="{}"

oracle.network.client:OPTIONAL_CONFIG_TOOLS="{}"

oracle.sqlplus.isqlplus:OPTIONAL_CONFIG_TOOLS="{}"

oracle.sysman.console.db:OPTIONAL_CONFIG_TOOLS="{}"

varSelect=1

s_nameForOPERGrp="dba"

s_nameForDBAGrp="dba"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值