ce97
作者ce972015-04-01 17:56
软件开发工程师, 某某某

IBM WebSphere Portal v8.5独立服务器(Linux)数据库迁移_DB2版本

字数 14895阅读 2858评论 0赞 0

初始安装完成的WebSphere Portal v8.5默认提供了derby数据库支持,为了获得更好的性能需要将原有derby数据库中的数据迁移至专业数据库产品中,目前WPS支持Oracle、DB2、MS SQL Server等数据库,本次数据库迁移演示使用的是DB2 v9.7数据库。

1、WebSphere配置向导说明

新版本的WebSphere Portal v8.5提供了基于Web图形界面的配置向导,通过此向导可以进行独立服务器、集群环境的数据库迁移、服务器迁移、启用安全性等操作;相比以往手动修改配置文件、在控制台敲各种命令的方式,基于Web图形界面的配置向导更加简单、便捷。

WebSphere配置向导提供的Web图形界面上以问答形式与用户进行交互,获取迁移所需信息;完成后配置向导会生成数据库迁移的配置脚本,该脚本可以直接通过配置向导的Web界面中执行,也可以下载脚本进行查看、修改并且可以在服务器端执行;本演示使用向导生成配置脚本,然后下载脚本并上传至服务器中执行执行脚本,最终完成数据库迁移。

WebSphere Portal v8.5安装完成后会在AppServer中创建一个名称为cw_profile的概要文件,启动此概要文件中的server1服务器即可访问配置向导图形界面。

启动cw_profile中的server1服务器:

cd <AppServer_home>/profiles/cw_profile/bin ./startServer.sh server1

 

访问配置向导地址:

http://<服务器IP或域名>:10200/ibm/wizard

 

2、使用WebSphere配置向导生成数据库迁移脚本2.1、进入数据库迁移配置界面

1、在浏览器中输入WebSphere配置向导地址:

http://192.168.121.131:10200/ibm/wizard

Snap21

2、在登录界面中输入管理员标识和密码后点击登录按钮,登录成功后进入配置向导主页面;

Snap23

3、在配置向导主界面中选择“设置独立服务器”链接;

4、在设置独立服务器界面中选择“数据库转移”链接即可进入数据库迁移配置界面;

Snap24

2.2、设置数据库迁移参数

基于Web界面的数据库迁移需要三大步:

1、回答问题

    以问答形式设置迁移的系统信息、数据库设置、数据库用户等内容供用户选择迁移方式;

2、定制值

    根据问答问题里面做的选择,定制值模块提供具体表单供用户填写具体参数值;

3、配置

    有了迁移方式和具体参数,在配置模块中即可进行脚本下载或者在线迁移操作;

 

 

 

2.2.1、回答问题

1、系统信息

系统选择了“数据库迁移”链接后,即可进入“数据库迁移—》问答问题—》系统信息”配置界面;

Snap25

在系统信息配置界面,系统已经检测到了目标操作系统、目标Portal概要文件名称、目标Portal概要目录的相关信息,请检查系统自动检测值是否正确,确认无误后点击右侧箭头进入后续配置界面;

2、数据库设置

Snap26

Snap27

设置值如下表所示:

数据库管理软件DB2
要迁移到一个数据库还是多个数据库多个数据库
数据库是否与Portal托管在同一服务器上
是否要让向导创建数据库否,请为我生成可用来创建数据库的脚本
是否要让向导创建用户并为其分配许可权否,请生成可用来创建用户并分配许可权的脚本
是否需要高级数据库整理支持否,无需高级整理支持
(仅限DB2 PureScale):是否要对DB2 pureScale启用工作负载均衡

确认无误后点击右侧箭头进入后续配置界面;

3、数据库用户

Snap28

设置值如下表所示:

门户网站数据库域是否使用同一用户标识和密码
是否需要运行时数据库用户标识进行日常操作

确认无误后点击右侧箭头进入后续配置界面;

2.2.2、定制值

经过上一章节的配置,已经完成回答问题部分的迁移类型选择,进入了定制值模块;
定制值模块根据回答问题模块中选择的数据库迁移类型,提供了具体的表单供用户输入迁移所需信息值;
1、系统信息

Snap29

设置值如下表所示:

WebSphere Application Server管理员标志wpsadmin
WebSphere Application Server管理员密码********
重新输入密码********

确认无误后点击右侧箭头进入后续配置界面;

2、数据库设置
数据库设置部分是整个配置的关键点,主要对数据库用户、密码、各个数据库连接字符串等信息进行配置;

Snap33

设置值如下表所示:

配置用户标志db2inst1
配置密码********
重新输入密码********
数据库管理员标志db2inst1
数据库管理员密码********
重新输入密码********
*Release 数据库名称WPREL
*Release 数据源wpreldbDS
*Release 数据库 URLjdbc:db2://localhost:50000/WPREL:returnAlias=0;
*Community 数据库名称WPCOMM
*Community 数据源wpcommdbDS
*Community 数据库 URLjdbc:db2://localhost:50000/WPCOMM:returnAlias=0;
*Customization 数据库名称WPCUST
*Customization 数据源wpcustdbDS
*Customization 数据库 URLjdbc:db2://localhost:50000/WPCUST:returnAlias=0;
*JCR 数据库名称WPJCR
*JCR 数据源wpjcrdbDS
*JCR 数据库 URLjdbc:db2://localhost:50000/WPJCR:returnAlias=0;
*Feedback 数据库名称WPFDBK
*Feedback 数据源wpfdbkdbDS
*Feedback 数据库 URLjdbc:db2://localhost:50000/WPFDBK:returnAlias=0;
*Likeminds 数据库名称WPLM
*Likeminds 数据源wplmdbDS
*Likeminds 数据库 URLjdbc:db2://localhost:50000/WPLM:returnAlias=0;
*IBM DB2 库/opt/ibm/db2/V9.7/java/db2jcc4.jar:/opt/ibm/db2/V9.7/java/db2jcc_license_cu.jar

注意:
配置用户标识和数据库管理员为安装DB2时创建实例用户名,而且需确保该用户具有足够的权限,否则在进行数据库迁移的过程中会出错。
确认无误后点击右侧箭头进入后续配置界面;

2.2.3、配置

配置向导在配置环节为我们提供了“向导选择”和“配置脚本”两个下载链接;

向导选择记录了问答问题中的信息,方便下次执行相同操作时直接导入;

配置脚本则是向导根据问答问题中的具体参数生成的迁移数据库的脚本;

在此界面中可以点击界面中的“启动配置”按钮进行数据库迁移,但是经过试验,在图形界面中的迁移错误率较高,且不好查找失败原因,因此我们采用下载配置脚本并上传服务器执行的方式进行数据库迁移。

配置界面如下图所示:

Snap34

2.3、下载配置脚本并上传至Portal服务器

1、在配置界面中点击“下载配置脚本”链接下载配置脚本;

2、系统会下载一个名称为“WorkflowInstanceScriptsAll.zip”的zip压缩文件;

3、将此压缩文件上传至WPS服务器的任意目录;

4、解压该压缩文件;

    unzip WorkflowInstanceScriptsAll.zip

5、为解压的文件赋权;

    chmod –R 777 WorkflowInstanceScriptsAll

3、数据库迁移

按照配置向导中的步骤,WPS v8.5迁移数据库需要10个步骤:

1、创建数据库用户和组

2、备份向导在配置期间使用的属性文件

3、下载脚本并在数据库服务器上运行该脚本,以创建数据库

4、下载脚本并在数据库服务器上运行该脚本,以设置数据库

5、重新启动 DB2 服务器

6、验证数据库连接和环境

7、停止门户网站服务器

8、传输数据库

9、配置 JCR 域以支持大型文件

10、启动门户网站服务器

3.1、创建数据库用户和组

配置向导中对数据库用户和组的信息提示如下:

在操作系统上为数据库域创建数据库配置用户。

在操作系统上为数据库域创建数据库配置用户。

创建 release 数据库配置用户。创建此用户时,请使用 db2inst1 作为用户标识。

创建 community 数据库配置用户。创建此用户时,请使用 db2inst1 作为用户标识。

创建 customization 数据库配置用户。创建此用户时,请使用 db2inst1 作为用户标识。

创建 jcr 数据库配置用户。创建此用户时,请使用 db2inst1 作为用户标识。

创建 feedback 数据库配置用户。创建此用户时,请使用 db2inst1 作为用户标识。

创建 likeminds 数据库配置用户。创建此用户时,请使用 db2inst1 作为用户标识。

在已安装 DB2 的操作系统上为数据库域创建数据库配置组。请参阅操作系统指示信息以获取有关创建组的详细信息。

创建 release 数据库配置组。在操作系统上使用 WP_BASE_CONFIG_USERS 作为组名。

创建 community 数据库配置组。在操作系统上使用 WP_BASE_CONFIG_USERS 作为组名。

创建 customization 数据库配置组。在操作系统上使用 WP_BASE_CONFIG_USERS 作为组名。

创建 jcr 数据库配置组。在操作系统上使用 WP_JCR_CONFIG_USERS 作为组名。

创建 feedback 数据库配置组。在操作系统上使用 WP_PZN_CONFIG_USERS 作为组名。

创建 likeminds 数据库配置组。在操作系统上使用 WP_PZN_CONFIG_USERS 作为组名。

将数据库配置用户分配给您创建的数据库配置组。请参阅操作系统指示信息以获取有关向组添加用户的详细信息。

注意:

官方提示中使用的数据库用户为db2inst1,与试验环境相同;

数据库组出现了WP_BASE_CONFIG_USERS 、WP_JCR_CONFIG_USERS 、WP_PZN_CONFIG_USERS 等组,而实际试验环境统一使用db2iadm1组名代替;

创建DB2用户组:

groupadd -g 999 db2iadm1groupadd -g 998 db2fsdm1groupadd -g 997 dasadm1

创建DB2用户:

useradd -u 1004 -g db2iadm1 -m -d /opt/data/db2inst1 db2inst1 useradd -u 1003 -g db2fsdm1 -m -d /home/db2fenc1 db2fenc1 useradd -u 1002 -g dasadm1 -m -d /home/dasusr1 dasusr1

设置DB2用户密码:

passwd

db2inst1 passwd db2fenc1 passwd dasusr1

3.2、备份向导在配置期间使用的属性文件

进入WorkflowInstanceScriptsAll目录中的scripts子目录,执行其中的BackupPropertyFiles.sh命令来备份属性文件;

./BackupPropertyFiles.sh

3.3、下载脚本并在数据库服务器上运行该脚本,以创建数据库

 

 

 

 

在Linux操作系统中,切换db2inst1用户,执行“CreateDB2Database”来创建数据库;

./CreateDB2Database

CreateDB2Database脚本内容如下:

复制代码

db2set DB2COMM=TCPIP db2set DB2_EVALUNCOMMITTED=YES db2set DB2_INLIST_TO_NLJN=YES db2 "UPDATE DBM CFG USING sheapthres 0" db2 "CREATE DB WPREL using codeset UTF-8 territory us PAGESIZE 8192" db2 "UPDATE DB CFG FOR WPREL USING locktimeout 30" db2 "CONNECT TO WPREL" db2 "GRANT DBADM, SECADM ON DATABASE TO USER db2inst1" db2 "CONNECT RESET" db2 "CREATE DB WPCOMM using codeset UTF-8 territory us PAGESIZE 8192" db2 "UPDATE DB CFG FOR WPCOMM USING locktimeout 30" db2 "CONNECT TO WPCOMM" db2 "GRANT DBADM, SECADM ON DATABASE TO USER db2inst1" db2 "CONNECT RESET" db2 "CREATE DB WPCUST using codeset UTF-8 territory us PAGESIZE 8192" db2 "UPDATE DB CFG FOR WPCUST USING locktimeout 30" db2 "CONNECT TO WPCUST" db2 "GRANT DBADM, SECADM ON DATABASE TO USER db2inst1" db2 "CONNECT RESET" db2 "CREATE DB WPJCR using codeset UTF-8 territory us PAGESIZE 8192" db2 "UPDATE DB CFG FOR WPJCR USING locktimeout 30" db2 "CONNECT TO WPJCR" db2 "GRANT DBADM, SECADM ON DATABASE TO USER db2inst1" db2 "CONNECT RESET" db2 "CREATE DB WPFDBK using codeset UTF-8 territory us PAGESIZE 8192" db2 "UPDATE DB CFG FOR WPFDBK USING locktimeout 30" db2 "CONNECT TO WPFDBK" db2 "GRANT DBADM, SECADM ON DATABASE TO USER db2inst1" db2 "CONNECT RESET" db2 "CREATE DB WPLM using codeset UTF-8 territory us PAGESIZE 8192" db2 "UPDATE DB CFG FOR WPLM USING locktimeout 30" db2 "CONNECT TO WPLM" db2 "GRANT DBADM, SECADM ON DATABASE TO USER db2inst1" db2 "CONNECT RESET" db2 "CONNECT TO WPJCR USER db2inst1 USING passw0rd" db2 "CREATE BUFFERPOOL ICMLSFREQBP4 SIZE 1000 AUTOMATIC PAGESIZE 4K" db2 "CREATE BUFFERPOOL ICMLSVOLATILEBP4 SIZE 16000 AUTOMATIC PAGESIZE 4K" db2 "CREATE BUFFERPOOL ICMLSMAINBP32 SIZE 16000 AUTOMATIC PAGESIZE 32K" db2 "CREATE BUFFERPOOL CMBMAIN4 SIZE 1000 AUTOMATIC PAGESIZE 4K" db2 "CREATE REGULAR TABLESPACE ICMLFQ32 PAGESIZE 32K BUFFERPOOL ICMLSMAINBP32" db2 "CREATE REGULAR TABLESPACE ICMLNF32 PAGESIZE 32K BUFFERPOOL ICMLSMAINBP32" db2 "CREATE REGULAR TABLESPACE ICMVFQ04 PAGESIZE 4K BUFFERPOOL ICMLSVOLATILEBP4" db2 "CREATE REGULAR TABLESPACE ICMSFQ04 PAGESIZE 4K BUFFERPOOL ICMLSFREQBP4" db2 "CREATE REGULAR TABLESPACE CMBINV04 PAGESIZE 4K BUFFERPOOL CMBMAIN4" db2 "CREATE SYSTEM TEMPORARY TABLESPACE ICMLSSYSTSPACE32 PAGESIZE 32K BUFFERPOOL ICMLSMAINBP32" db2 "CREATE SYSTEM TEMPORARY TABLESPACE ICMLSSYSTSPACE4 PAGESIZE 4K BUFFERPOOL ICMLSVOLATILEBP4" db2 "CREATE USER TEMPORARY TABLESPACE ICMLSUSRTSPACE4 PAGESIZE 4K BUFFERPOOL ICMLSVOLATILEBP4" db2 "DISCONNECT WPJCR" db2 "TERMINATE" db2 "UPDATE DB CFG FOR WPJCR USING logfilsiz 16000" db2 "UPDATE DB CFG FOR WPJCR USING logprimary 20" db2 "UPDATE DB CFG FOR WPJCR USING logsecond 50" db2 "UPDATE DB CFG FOR WPJCR USING logbufsz 500" db2 "UPDATE DB CFG FOR WPJCR USING DFT_QUERYOPT 2"

复制代码

脚本执行完成后,会在DB2实例中创建门户所需的数据库,切换至db2inst1用户,使用如下命令查看建库结果:

db2 list db directory

试验环境返回结果示例:

复制代码

[db2inst1@localhost ~]$ db2 list db directory System Database Directory Number of entries in the directory = 6 Database 1 entry: Database alias = WPJCR Database name = WPJCR Local database directory = /home/db2inst1 Database release level = d.00 Comment = Directory entry type = Indirect Catalog database partition number = 0 Alternate server hostname = Alternate server port number = Database 2 entry: Database alias = WPCOMM Database name = WPCOMM Local database directory = /home/db2inst1 Database release level = d.00 Comment = Directory entry type = Indirect Catalog database partition number = 0 Alternate server hostname = Alternate server port number = Database 3 entry: Database alias = WPREL Database name = WPREL Local database directory = /home/db2inst1 Database release level = d.00 Comment = Directory entry type = Indirect Catalog database partition number = 0 Alternate server hostname = Alternate server port number = Database 4 entry: Database alias = WPLM Database name = WPLM Local database directory = /home/db2inst1 Database release level = d.00 Comment = Directory entry type = Indirect Catalog database partition number = 0 Alternate server hostname = Alternate server port number = Database 5 entry: Database alias = WPCUST Database name = WPCUST Local database directory = /home/db2inst1 Database release level = d.00 Comment = Directory entry type = Indirect Catalog database partition number = 0 Alternate server hostname = Alternate server port number = Database 6 entry: Database alias = WPFDBK Database name = WPFDBK Local database directory = /home/db2inst1 Database release level = d.00 Comment = Directory entry type = Indirect Catalog database partition number = 0 Alternate server hostname = Alternate server port number =

复制代码

3.4、下载脚本并在数据库服务器上运行该脚本,以设置数据库

scripts目录中的SetupDB2Database.sql文件用于对数据库进行设置;

所以需要切换至db2inst1用户下使用如下命令执行该脚本:

db2 -tvf SetupDB2Database.sql

注意:

因为自动生成的脚本中使用的操作系统用户组等信息与演示环境不太相同,所以为避免迁移出错,所以需要手动修改设置数据库脚本中的部分信息,将给组赋权的语句修改为db2inst1用户赋权;

如:

GRANT CONNECT, CREATETAB ON DATABASE TO GROUP WP_BASE_CONFIG_USERS;

修改为:

GRANT CONNECT, CREATETAB ON DATABASE TO USER db2inst1;

最终,试验环境设置数据库SQL脚本如下:

复制代码

CONNECT TO WPREL USER db2inst1 USING passw0rd; CREATE SCHEMA release AUTHORIZATION db2inst1; COMMIT; GRANT CONNECT, CREATETAB ON DATABASE TO GROUP db2inst1; GRANT EXECUTE ON PACKAGE NULLID.SYSSH200 TO GROUP db2inst1; GRANT ALTERIN, CREATEIN, DROPIN ON SCHEMA release TO GROUP db2inst1; GRANT USE OF TABLESPACE USERSPACE1 TO GROUP db2inst1; GRANT USAGE ON WORKLOAD SYSDEFAULTUSERWORKLOAD TO GROUP db2inst1; CONNECT RESET; CONNECT TO WPCOMM USER db2inst1 USING passw0rd; CREATE SCHEMA community AUTHORIZATION db2inst1; COMMIT; GRANT CONNECT, CREATETAB ON DATABASE TO GROUP db2inst1; GRANT EXECUTE ON PACKAGE NULLID.SYSSH200 TO GROUP db2inst1; GRANT ALTERIN, CREATEIN, DROPIN ON SCHEMA community TO GROUP db2inst1; GRANT USE OF TABLESPACE USERSPACE1 TO GROUP db2inst1; GRANT USAGE ON WORKLOAD SYSDEFAULTUSERWORKLOAD TO GROUP db2inst1; CONNECT RESET; CONNECT TO WPCUST USER db2inst1 USING passw0rd; CREATE SCHEMA customization AUTHORIZATION db2inst1; COMMIT; GRANT CONNECT, CREATETAB ON DATABASE TO GROUP db2inst1; GRANT EXECUTE ON PACKAGE NULLID.SYSSH200 TO GROUP db2inst1; GRANT ALTERIN, CREATEIN, DROPIN ON SCHEMA customization TO GROUP db2inst1; GRANT USE OF TABLESPACE USERSPACE1 TO GROUP db2inst1; GRANT USAGE ON WORKLOAD SYSDEFAULTUSERWORKLOAD TO GROUP db2inst1; CONNECT RESET; CONNECT TO WPJCR USER db2inst1 USING passw0rd; CREATE SCHEMA jcr AUTHORIZATION db2inst1; COMMIT; GRANT CONNECT, CREATETAB ON DATABASE TO GROUP db2inst1; GRANT EXECUTE ON PACKAGE NULLID.SYSSH200 TO GROUP db2inst1; GRANT ALTERIN, CREATEIN, DROPIN ON SCHEMA jcr TO GROUP db2inst1; GRANT USE OF TABLESPACE USERSPACE1 TO GROUP db2inst1; GRANT USAGE ON WORKLOAD SYSDEFAULTUSERWORKLOAD TO GROUP db2inst1; GRANT USE OF TABLESPACE ICMLFQ32 TO GROUP db2inst1; GRANT USE OF TABLESPACE ICMLNF32 TO GROUP db2inst1; GRANT USE OF TABLESPACE ICMVFQ04 TO GROUP db2inst1; GRANT USE OF TABLESPACE ICMSFQ04 TO GROUP db2inst1; GRANT USE OF TABLESPACE CMBINV04 TO GROUP db2inst1; GRANT USE OF TABLESPACE ICMLSUSRTSPACE4 TO GROUP db2inst1; CONNECT RESET; CONNECT TO WPFDBK USER db2inst1 USING passw0rd; CREATE SCHEMA feedback AUTHORIZATION db2inst1; COMMIT; GRANT CONNECT, CREATETAB ON DATABASE TO GROUP db2inst1; GRANT EXECUTE ON PACKAGE NULLID.SYSSH200 TO GROUP db2inst1; GRANT ALTERIN, CREATEIN, DROPIN ON SCHEMA feedback TO GROUP db2inst1; GRANT USE OF TABLESPACE USERSPACE1 TO GROUP db2inst1; GRANT USAGE ON WORKLOAD SYSDEFAULTUSERWORKLOAD TO GROUP db2inst1; CONNECT RESET; CONNECT TO WPLM USER db2inst1 USING passw0rd; CREATE SCHEMA likeminds AUTHORIZATION db2inst1; COMMIT; GRANT CONNECT, CREATETAB ON DATABASE TO GROUP db2inst1; GRANT EXECUTE ON PACKAGE NULLID.SYSSH200 TO GROUP db2inst1; GRANT ALTERIN, CREATEIN, DROPIN ON SCHEMA likeminds TO GROUP db2inst1; GRANT USE OF TABLESPACE USERSPACE1 TO GROUP db2inst1; GRANT USAGE ON WORKLOAD SYSDEFAULTUSERWORKLOAD TO GROUP db2inst1; CONNECT RESET;

复制代码

3.5、重新启动DB2服务器

对DB2重新设置参数后需要重新启动DB2服务;

切换至db2inst1用户,执行以下命令重启DB2服务:

su - db2inst1 db2stop db2start exit

切换至dasusr1用户,执行以下命令重启管理服务:

su - dasusr1 db2admin stop db2admin start exit

注意:

保险起见,有必要使用reboot命令重启整个服务器以生效所有配置;

reboot3.6、验证数据库连接和环境

scripts目录下的ValidateDatabase.sh脚本可以对前面步骤配置的数据库连接参数等信息进行验证;

./ValidateDatabase.sh

如果验证通过(出现Build Successful字样)即可继续执行剩余步骤;如果出现Build Faild,则需要查看具体出错信息,修改配置文件后再次执行验证,直至通过。

3.7、停止门户网站服务器

scripts目录下的StopPortalServer.sh脚本可以停止门户网站服务器;

./StopPortalServer.sh3.8、传输数据库

接下来就是最为关键的步骤,执行数据库迁移;

迁移数据库是执行scripts目录下的DatabaseTransfer.sh脚本来完成;

./DatabaseTransfer.sh3.9、配置JCR域以支持大型文件

scripts目录下的ConfigureDb2ForLargeFileHandling.sh脚本可完成配置JCR域以支持大型文件操作;

./ConfigureDb2ForLargeFileHandling.sh3.10、启动门户网站服务器

scripts目录下的StartPortalServer.sh脚本可完成启动门户网站服务器;

./StartPortalServer.sh4、迁移验证

数据库迁移完成后,需要对迁移进行验证;

步骤:

1、启动门户服务器,登录门户验证功能正常访问;

2、停止门户服务器;

3、停止DB2数据库;

4、启动门户服务器,登录门户验证是否能够正常访问;

5、如果无法正常访问,并且后台日志报“java.net.ConnectException”错误,则可认为数据库迁移至DB2成功。

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广