如何为 WebSphere Commerce 6.0 迁移 Oracle 数据库
WebSphere Commerce 6.0 的安装 向导只介绍了如何一次性的安装配置数据库。但是无论从测试 角度,还是从客户的使用角度出发,都会有需求要更换改变安装数据库的机器:
1. 从一台远端的数据库服务器迁移到另外一台远端的数据库服务器:因为老的数据库服务器性能太差或者偶出故障
2. 从本地的数据库服务器迁移到另外一台远端的数据库服务器:为了获得更好的性能
3. 从一台远端的数据库服务器迁移到本地的数据库服务器:由于某种测试的需要
前提条件:
1. 迁移之前的数据库服务器在机器 A 上, 迁移之后的数据库服务器在机器 B 上
2. 迁移前后的 Oracle 数据库拥有同样的表空间名称,例如 WCTBLSPC
3. 迁移前后的 Oracle 数据库拥有同样的用户名,例如 wcs
主要步骤:
1. 数据库迁移 :
1) 在机器 B 上安装和机器 A 相同版本的 Oracle
2) 根据安装手册上的参数,在机器 B 上创建 Oracle 数据库(机器 A 也是使用相同的参数)
- Shared Pool: 120 MB
- Buffer Cache: 120 MB
- Java Pool: 48 MB
- Large Pool: 8 MB
- PGA Size: 50 MB
- Database character set: UTF8
- National character set: UTF8
- open_cursors: 1000
- sort_area_size: 640 KB
3) 在机器 B 上运行初始化 SQL 语句( wcs 是数据库用户名)
- CREATE TABLESPACE WCTBLSPC DATAFILE 'Oracle_Home\database\wcs.dbf' SIZE 100M REUSE AUTOEXTEND ON NEXT 2M MAXSIZE UNLIMITED;
- CREATE USER wcs IDENTIFIED BY wcs_password DEFAULT TABLESPACE WCTBLSPC QUOTA UNLIMITED ON WCTBLSPC;
- ALTER USER wcs TEMPORARY TABLESPACE temp;
- GRANT CREATE PROCEDURE, CREATE SEQUENCE, CREATE SESSION, CREATE SYNONYM, CREATE TABLE, CREATE TRIGGER, CREATE VIEW, CREATE MATERIALIZED VIEW TO wcs;
4) 在机器 A 上导出数据,以 Unix/Linux 操作系统为例:( su – oracle )
exp wcs/wcs_passw0rd@database_name file=wcs.dmp log=wcs_exp.log full=y
5) 把备份 的数据文件 'wcs.dmp' 拷贝到机器 B
6) 将数据文件导入到机器 B: ( su – oracle )
imp wcs/wcs_passw0rd@database_name file=wcs.dmp log=wcs_imp.log full=y ignore=y
2. 修改 Commerce 实例 instance 中的数据源 DataSource
1) 登录 WAS adminconsole:http://hostname:9061/ibm/console
2) 点击 Resources > JDBC Providers
3) 找到实例所在的结点及服务器
4) 点击 "instanceName - WebSphere Commerce JDBC Provider"
5) 点击 "Additional Properties" 下方的 "Data sources"
6) 点击 "WebSphere Commerce Oracle DataSourceinstanceName "
7) 更改 "Oracle data source properties" 下方的 URL:
jdbc:oracle:thin:@MachineB_hostname:1521:database_name
8) 点击 OK
3. 如果机器的数据库密码和机器 A 不一致,还需要以下步骤:
1) 登录 WAS adminconsole:http://hostname:9061/ibm/console
2) 点击 Resources > JDBC Providers
3) 找到实例所在的结点及服务器
4) 点击 "instanceName - WebSphere Commerce JDBC Provider"
5) 点击 "Additional Properties" 下方的 "Data sources"
6) 点击 "WebSphere Commerce Oracle DataSourceinstanceName "
7) 点击 "Related Items" 下方的 "J2EE Connector Architecture (J2C) authentication data entries"
8) 点击 "WC_instanceName - authDataAlias"
9) 在 "password" 字段输入机器 B 的数据库密码
10) 点击 OK
4. 保存并运行修改后的配置
5. 重新启动 WebSphere Application Server
测试 Data Source 是否正常工作
1) 登录 WAS adminconsole:http://hostname:9061/ibm/console
2) 点击 Resources > JDBC Providers
3) 找到实例所在的结点及服务器
4) 点击 "instanceName - WebSphere Commerce JDBC Provider"
5) 点击 "Additional Properties" 下方的 "Data sources"
6) 点击 "WebSphere Commerce Oracle DataSourceinstanceName "
7) 点击 "Test Connection"
8) 如果看到以下信息表明数据库连接成功:
Test connection for data source WebSphere Commerce Oracle DataSource demo on server server1 at node WC_demo_node was successful.