Sun Java System Application Server Enterprise Edition 8.1 2005Q2 高可用性管理指南

升级 HADB

HADB 旨在通过升级本软件提供不间断的 "always on" 服务。本节介绍了在不使数据库脱机或引起任何可用性损失的情况下如何升级到 HADB 的新版本。

以下各节将介绍如何升级 HADB 安装:

Procedure将 HADB 升级到更新版本

  1. 安装 HADB 的新版本。

  2. 按照注销 HADB 软件包中所述,注销您现有的 HADB 安装。

  3. 按照注册 HADB 软件包中所述,注册新的 HADB 版本。

    在 HADB 管理域中注册 HADB 软件包使得升级或更改 HADB 软件包变得更加容易。管理代理记录软件包的位置以及域中主机的版本信息。默认软件包的名称是以 V 开头的字符串,其中包括 hadbm 程序的版本号。

  4. 更改数据库所使用的软件包。

    请输入以下命令:


    hadbm set PackageName=package
    

    其中 package 是新的 HADB 软件包的版本号。

  5. 如果需要,请替换管理代理的启动脚本。

    有关更多信息,请参见替换管理代理的启动脚本

注册 HADB 软件包

使用 hadbm registerpackage 命令注册 HADB 软件包,该软件包安装在管理域中的主机上。也可在使用 hadbm create 命令创建数据库时注册 HADB 软件包。

使用 hadm registerpackage 命令之前,请确保满足以下要求:已配置所有管理代理并且它们在主机列表中的所有主机上运行;管理代理的系统信息库可以更新,并且没有使用相同的软件包名称注册的软件包。

该命令语法为:

hadbm registerpackage --packagepath=path [-- hosts=hostlist] [-- adminpassword=password | -- adminpasswordfile=file] [-- agent=maurl] [[package-name ]]

package-name 操作数是软件包的名称。

下表介绍了特殊的 hadbm registerpackage 命令选项。有关其他命令选项的说明,请参见安全性选项常规选项

表 2–1 hadbm registerpackage 选项

选项 

说明 

--hosts=hostlist

-H 

主机列表,用逗号分隔或放在双引号内并用空格分隔。 

--packagepath=path

-L 

HADB 软件包的路径。 

例如,使用以下命令可在主机 host1、host2 和 host3 上注册软件包 v4:

hadbm registerpackage 
--packagepath=hadb_install_dir/SUNWHadb/4.4 
--hosts=host1,host2,host3 v4

响应为:

软件包注册成功

如果您省略 --hosts 选项,则此命令将在域中所有已启用的主机上注册该软件包。

注销 HADB 软件包

使用 hadbm unregisterpackage 命令删除用管理域注册的 HADB 软件包。

使用 hadbm unregisterpackage 命令之前,请确保满足以下要求:已配置所有管理代理并且它们在主机列表中的所有主机上运行;管理代理的系统信息库可以更新;已在管理域中注册了该软件包,并且没有将现有数据库配置为在要注销的软件包上运行。

该命令语法为:

hadbm unregisterpackage  
--hosts=hostlist  
[--adminpassword=password | --adminpasswordfile= file]  
[--agent= maurl]  
[package-name ]

package-name 操作数是软件包的名称。

有关 --hosts 选项的说明,请参见上述注册 HADB 软件包。如果您省略 --hosts 选项,主机列表将默认为已启用的注册了软件包的主机。有关其他命令选项的说明,请参见安全性选项常规选项


示例 2–2 注销 HADB 的示例

从域中特定主机上注销软件包 v4:

hadbm unregisterpackage --hosts=host1,host2,host3 v4

响应为:

软件包注销成功


替换管理代理的启动脚本

安装 HADB 的新版本时,您可能需要替换 /etc/init.d/ma-initd 中的管理代理启动脚本。检查文件 HADB_install_dir/lib/ma-initd 的内容。如果该文件不同于旧的 ma-initd 文件,则请将旧文件替换为新文件。