使用 scinstall 升级 Sun Cluster 框架时,请按以下过程操作。
将 Sun Cluster HA for Oracle 从 Sun Cluster 2.2 升级到 Sun Cluster 3.0 软件时,适用以下条件和限制。
在升级 Sun Cluster HA for Oracle 时,您必须 检查 Sun Cluster 3.0 安装指南 描述的与从 Sun Cluster 2.2 升级 Sun Cluster 框架有关的条件是否 已得到满足。
开始升级前,Sun Cluster HA for Oracle 必须在 Sun Cluster 2.2 上正常运行。
使用下面的过程来保存 Sun Cluster 2.2 配置中的配置文件。
按 scinstall 框架升级过程操作,直到在每个节点上完 成升级开始步骤 (scinstall -F begin)。
以超级用户身份在每个节点上运行下面的命令。此命令将 为 /var/opt/oracle 目录下的所有文件保存一个版本。
为确保不丢失此信息,请将 /var/opt/oracle 目录中的结构备份到一个外部设备上。
# cp -r /var/opt/oracle /var/cluster/logs/install/preserve/2.2/SUNWscor |
完成框架升级过程的完成部分 (scinstall -u finish)。
使用 scinstall -u finish 命令时不要使用 -s oracle 选项。此选项会尝试自动 升级 Sun Cluster HA for Oracle,而自动升级会失败。仅支持对 NFS 的升级。
完成框架升级后,请设置 Sun Cluster 3.0 环境。下面一 节("设置 Sun Cluster 3.0 环境")讲述此过程。
请执行下面的过程来设置 Sun Cluster 3.0 环境。
在一个节点上,运行下面的命令以检验:
框架升级已正确设置与每个 Sun Cluster 2.2 逻辑主机对应 的 Sun Cluster 3.0 资源组。
主机网络资源在资源组中并且处于联机状态。
# scstat -g |
在一个节点上,运行下面的命令来验证 Sun Cluster 2.2 中的 Oracle 数据库(可能 是 Oracle 二进制)所在的 VERITAS 磁盘组或 Solstice DiskSuite 磁盘集已正确映射 为 Sun Cluster 3.0 磁盘设备组。
# scstat -D |
在每个节点上,运行下面的命令来验证每个 Oracle 实例所需要的文件系统都已安装。
# mount |
在每个节点上,请运行下面的命令恢复 /var/opt 目录 下 Oracle 配置文件的保存的版本。
如果您在此过程中早些时间保存了 /var/opt/oracle 目录下的文件,而 这些文件仍未更改,则可以跳过此步操作。
# cp -r /var/cluster/logs/install/preserve/2.2/SUNWscor/oracle /var/opt # chown -R oracle:dba /var/opt/oracle |
采用下面的过程配置 Sun Cluster 3.0 HA for Oracle。
步骤 1 仅执行一次。
在一个节点上,使用下面的命令注册 Oracle 服务器和侦听器的类型。
# scrgadm -a -t SUNW.oracle_server # scrgadm -a -t SUNW.oracle_listener |
对于 /var/opt/oracle/oratab 文件中列出的每一 个 Sun Cluster 2.2 HA for Oracle 实例,请执 行从步骤 2到步骤 5的操作。
确定 oratab 文件中 的 ORACLE_HOME 变量的值。
例如,假定 oratab 文件显示下面的信息。
ora32:/oracle/816_32:N |
此信息表 明 ORACLE_SID ora32 实例 的 ORACLE_HOME 变量是值 /oracle/816_32。
从 ccd.database 文件 检索每个 Oracle 例程序的参数值。
这些参数将映射成为 scrgadm 在 Sun Cluster 3.0 中的参数。您将在 Sun Cluster 3.0 下 配置 Sun Cluster HA for Oracle 时使用这些参数。
# grep ^HAORACLE: /var/cluster/logs/install/preserve/2.2/SUNWcluster/conf/ccd.database |
ccd.database 文件中的每个 Oracle 实例都使用下面格式
HAORACLE:on:ora32:boots-1:60:10:120:300:scott/tiger:/oracle/816_32/dbs/initora32.ora:ORA_LIST |
这些参数都映射成下面的 Sun Cluster 3.0 格式。
HAORACLE:STATE:ORACLE_SID:LOGICAL_HOSTNAME_IP_Resource:THOROUGH_PROBE_INTERVAL:CONNECT_CYCLE: PROBE_TIMEOUT:RETRY_INTERVAL:CONNECT_STRING:PARAMETER_FILE:LISTENER_NAME |
资源组名称 RG_NAME 将 为 ${LOGICAL_HOSTNAME_IP_Resource}-lh。注 意 -lh 将自动附加到 Sun Cluster 3.0 中的资源组名称上。
定位 $PARAMETER_FILE 变量中 的 background_dump_dest 值,并 将 ALERT_LOG_FILE 变量设置为下面的值。
$background_dump_dest/alert_$ORACLE_SID.log |
例如,对于 ORACLE_SID=ora32,假定 在 $PARAMETER_FILE 文件 中,background_dump_dest 的值是下面值。
/oracle/816_32/admin/ora32/bdump |
在此示例中,ALERT_LOG_FILE 应当升级为下面的值。
/oracle/816_32/admin/ora32/bdump/alert_ora32.log |
在一个节点上,运行下面的命令来创建 Oracle 资源并使它们处于联机状态。
# scrgadm -a -t SUNW.oracle_server -g $RG_NAME -j $ORACLE_SID-serv \ -x Oracle_sid=$ORACLE_SID -x Oracle_home=$ORACLE_HOME \ -y Thorough_probe_interval=$THOROUGH_PROBE_INTERVAL \ -x Connect_cycle=$CONNECT_CYCLE -x Probe_timeout=$PROBE_TIMEOUT \ -y Retry_interval=$RETRY_INTERVAL -x Connect_string=$CONNECT_STRING \ -x Parameter_file=$PARAMETER_FILE -x Alert_log_file=$ALERT_LOG_FILE # scrgadm -a -j $ORACLE_SID-list -t SUNW.oracle_listener -g $RG_name \ -x Oracle_home=$ORACLE_HOME -x Listener_name=$LISTENER_NAME # scswitch -e -j $ORACLE_SID-serv # scswitch -e -j $ORACLE_SID-list # scswitch -e -M -j $ORACLE_SID-serv # scswitch -e -M -j $ORACLE_SID-list |
例如,采 用步骤 2、步骤 3 和 步骤 4,您可 以运行下面的命令。
# scrgadm -a -t SUNW.oracle_server -g boots-1-lh -j ora32-serv \ -x Oracle_sid=ora32 -x Oracle_home=/oracle/816_32 \ -y Thorough_probe_interval=60 \ -x Connect_cycle=10 -x Probe_timeout=120 \ -y Retry_interval=300 -x Connect_string=scott/tiger \ -x Parameter_file=/oracle/816_32/dbs/initora32.ora \ -x Alert_log_file=/oracle/816_32/admin/ora32/bdump/alert_ora32.log # scrgadm -a -j ora32-list -t SUNW.oracle_listener -g boots-1-lh \ -x Oracle_home=/oracle/816_32 -x Listener_name=ORA_LIST # scswitch -e -j ora32-serv # scswitch -e -j ora32-list # scswitch -e -M -j ora32-serv # scswitch -e -M -j ora32-list |
要验证升级是否成功,请执行下面的步骤。