随着企业的发展,信息化程度越来越高,尤其是产品在开发,设计,审核,质量控制和生产整个环节的管理需求越来越高,Windchill作为一整套用来管理产品和工序的整个生命周期,对所有形式的数字化产品开发数据(包括机械、电气和软件)进行专业管理的一种解决方案。本文旨在为Windchill_9.1的迁移,备份,恢复及将Oracle10g数据库与Windchill分离,并迁移到64位linux上做参考,所用示例为VMWARE中测试系统,rhel为目前红帽子最新的企业版Redhat Enterprise Linux 5.5。
第一部分:在Windows 2003 Server上全新安装Windchill
1. 安装Windows 2003 Server,打上必要的补丁
2. 安装Oracle10g,在Windows 2003 Server上安装Oracle相对简单,可按照PTC公司提供的《WCAdvancedInstallConfigGuide_zh_CN.pdf》手册,仅安装数据库软件,无需安装数据库实例,再配置监听即可。安装完成必须要打ORACLE_10.2.0.3.0_PATCH_Windows补丁,此补丁是为了解决Oracle10g 10.2.0.2 不支持大于 65535 的批处理大小的问题。
3. 安装Windchill_9.1
a. 进入Windchill的安装包MED-60702-CD-091_M020_zip,执行里面的setup.vbs启动安装程序。
b. 安装时选择快速安装
c. 选择安装产品为PDMLink
d. 选择可选产品
e. 选择数据库类型为Oracle
f. 选择安装目录
g. 输入WEB主机名及管理员的邮箱地址
h. 选择语言为中文
i. 选择数据库初始大小
j. 配置Oracle,ORACLE_HOME要选择到Oracle的安装目录,system密码用于以后登陆Oracle后台管理,Windchill的Oracle用户名和密码最好与原生产系统的一致,例如本例为pdm8
k. 设置LDAP的管理密码
l. 设置Windchill的站点管理密码及组织
m. 设置暂存区域(即选择所有安装包的目录)
这里是..\WindchillInstallationFiles\Windchill9.1M010InstallFiles\9.1M010
n. 开始安装
o. 过程中如果弹出类似警告的,要运行该安装程序
4. 全新安装完成后,需要配置如下
配置hosts文件
配置Oracle的listener.ora文件
以上,全新安装的Windchill即可以使用了,通过启动Apache,Tomcat,MethodServer。
第二部分:恢复原生产机上的Windchill系统及数据
1. 停止所有Windchill相关应用
依次停止下列应用及服务
a. 关闭MethodServer,BackgroundMethodServer
b. 关闭ServerManager
c. 关闭Tomcat
d. 关闭Apache
e. 停止Aphelion的三个服务Aphelion Administration,Aphelion Drive Mapping,Aphelion Services
f. 停止Oracle的两个服务OracleServiceWIND,OracleOraDb10g_home1TNSListener
2. 冷备份所有相关数据及文件
a. 备份D:\ptc\Windchill_9.1整个目录
b. 备份D: \vault整个目录
c. 导出生产机Aphelion数据
i. 使用admin登陆LDAP Browser
ii. 选择根节点Root DSE,导出LDIF文件
d. 导出生产机Oracle数据
在Windchill Shell中输入exp pdm8/pdm8 file=d:\20100428.dmp owner=pdm8 compress=Y grants=Y Rows=Y
3. 将备份数据恢复到新系统
a. 同1中要求,停止所有新系统中Windchill相关应用
b. 将Windchill安装目录D:\ptc\Windchill_9.1改名为D:\ptc\Windchill_9.1.old
c. 将生产机备份的Windchill_9.1目录整个拷贝过来
d. 将生产机备份的vault目录整个拷贝过来
e. 导入生产机的Aphelion数据
i. 启动Aphelion服务
ii. 使用admin登陆LDAP Browser
iii. 删除整个“o=xxx”分支
iv. 选择根节点,并导入备份的ldif格式数据
f. 导入生产机的Oracle数据
i. 启动Oracle服务
ii. 在Windchill Shell中输入imp pdm8/pdm8 file=d:\20100428.dmp full=Y,导入备份的Oracle数据
以上,备份、恢复生产机上的Windchill即可以使用了,通过启动Apache,Tomcat,MethodServer。
第三部分:将Windchill迁移到64位linux server上(只安装Windchill数据库)
本部分实例为,将Windchill安装到64位Redhat Enterprise Linux 5.5上。
Linux的安装过程省略,其中要注意的是要给swap分区两倍于内存,主分区至少50G,因为RHEL5及各种所需包大概10G,Oracle安装过程大概10G,Windchill安装包大概20G,安装过程需要10G。
如未明确说明,则安装及配置所在用户均为root
1. 修改主机名
打开/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=localhost.localdomain
修改其中HOSTNAME,点前面是主机名,点后面是域名,如果没有点则整个都是主机名
例如将localhost修改成rhel,修改完成,重启生效
2. 设置IP地址
Oracle安装需要固定IP,否则环境检测通不过。
打开/etc/sysconfig/network-scripts/ifcfg-eth0文件
DHCP方式如下:
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:0C:29:6E:3D:2C
ONBOOT=yes
修改成如下
静态IP方式:
DEVICE=eth0
BOOTPROTO=static
HWADDR=00:0C:29:6E:3D:2C
ONBOOT=yes
IPADDR=192.168.133.143
NETMASK=255.255.255.0
GATEWAY=192.168.133.2
BROADCAST=192.168.133.255
修改完成,在终端输入service network restart重启网卡以使配置生效
或者/etc/init.d/network restart
3. 设置SELinux
因为SELinux对oracle有影响,所以把secure linux设成无效,编辑文件 /etc/selinux/config
设置SELINUX=disabled
也可以用图形界面下的工具 (系统->管理->安全级别和防火墙). 选择SELinux页面并且设为无效
4. 设定RHEL版本信息
因oracle 官方只支持到RHEL4为止,所以要修改版本说明,编辑文件 /etc/redhat-release 把Red Hat Enterprise Linux Server release 5 (Tikanga)改成Red Hat Enterprise Linux Server release 4 (Tikanga),oracle安装完成后,要修改回来。
5. 修改内核参数
/etc/sysctl.conf添加以下内容
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
如其中某些值已经在该文件中存在,并且比这些值大,则无需更改。
运行命令/sbin/sysctl -p以使内核参数生效
/etc/security/limits.conf添加以下内容
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
/etc/pam.d/login添加以下内容
session required /lib/security/pam_limits.so
6. 安装Oracle必须的包
根据Oracle Database 10g Documentation Library->Installation->Release Notes for Linux x86-64中的6.5 List of Packages for Asianux 3, Oracle Enterprise Linux 5 and Red Hat Enterprise Linux 5,列出以下所需包
binutils-2.17.50.0.6-2.el5
compat-db-4.2.52-5.1
compat-gcc-34-3.4.6-4
compat-gcc-34-c++-3.4.6-4
compat-libstdc++-33-3.2.3-61
compat-libstdc++-33-3.2.3-61(i386)
compat-libstdc++-296(i386)
gcc-4.1.1-52.el5.2
gcc-c++-4.1.1-52.el5.2
glibc-2.5-12
glibc-2.5-12(i386)
glibc-common-2.5-12
glibc-devel-2.5-12
glibc-devel-2.5-12(i386)
glibc-headers-2.5-12
libgcc-4.1.1-52.el5(i386)
libXp-1.0.0(i386)
libXt-1.0.2(i386)
libXtst-1.0.1(i386)
libaio-0.3.106-3.2
libaio-devel-0.3.106-3.2
libgcc-4.1.1-52.el5
libstdc++-4.1.1-52.el5.2
libstdc++-devel-4.1.1-52.el5.2
libgomp-4.1.1-52.EL5
make-3.81-1.1
numactl-devel-0.9.8.x86_64
sysstat-7.0.0-3.el5
根据这些包,到RHEL5.5 x86_64安装光盘中的Server目录下查找,找到以下对应包
binutils-2.17.50.0.6-14.el5.x86_64.rpm
compat-db-4.2.52-5.1.i386.rpm
compat-gcc-34-3.4.6-4.x86_64.rpm
compat-gcc-34-c++-3.4.6-4.x86_64.rpm
compat-libstdc++-33-3.2.3-61.i386.rpm
compat-libstdc++-33-3.2.3-61.x86_64.rpm
compat-libstdc++-296-2.96-138.i386.rpm
gcc-4.1.2-48.el5.x86_64.rpm
gcc-c++-4.1.2-48.el5.x86_64.rpm
glibc-2.5-49.x86_64.rpm
glibc-common-2.5-49.x86_64.rpm
glibc-devel-2.5-49.i386.rpm
glibc-devel-2.5-49.x86_64.rpm
glibc-headers-2.5-49.x86_64.rpm
libgcc-4.1.2-48.el5.i386.rpm
libXp-1.0.0-8.1.el5.i386.rpm
libXt-1.0.2-3.2.el5.i386.rpm
libXtst-1.0.1-3.1.i386.rpm
libaio-0.3.106-5.x86_64.rpm
libaio-devel-0.3.106-5.x86_64.rpm
libgcc-4.1.2-48.el5.x86_64.rpm
libstdc++-4.1.2-48.el5.x86_64.rpm
libstdc++-devel-4.1.2-48.el5.x86_64.rpm
libgomp-4.4.0-6.el5.x86_64.rpm
make-3.81-3.el5.x86_64.rpm
numactl-devel-0.9.8-11.el5.x86_64.rpm
sysstat-7.0.2-3.el5.x86_64.rpm
在终端中通过rpm –Uvh加包名的方法,安装这些包
在运行该命令前,先运行命令rpm --import /etc/pki/rpm-gpg/RPM*
否则每次都报warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID*****的错误信息,这是由于yum安装了旧版本的GPG keys造成的。
7. 创建oracle用户及组,并把权限付给oracle用户
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
passwd oracle
mkdir -p /u01/app/oracle/
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
8. 以oracle用户登陆,配置环境变量
/home/oracle/.bash_profile添加以下内容
# Oracle Settings
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=wind
export PATH=$PATH:$ORACLE_HOME/bin
export LC_CTYPE=en_US.UTF-8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK"
修改完成以后运行这个指令测试变量是否有效:
source /home/oracle/.bash_profile
环境变量配置完成,必须注销才能测试是否生效
运行以下命令,测试是否生效
echo $ORACLE_HOME
9. 安装Oracle
Oracle 64位linux下的安装包为10201_database_linux_x86_64.cpio.gz,需要先解压缩。
a. 安装RHEL5.5 x86_64安装光盘中Server目录下gzip-1.3.5-11.el5_4.1.x86_64.rpm
b. 通过执行解压缩命令gunzip 10201_database_linux_x86_64.cpio.gz,将包解压成10201_database_linux_x86_64.cpio,此文件还是压缩文件
c. 再执行命令cpio -idcvm < 10201_database_linux_x86_64.cpio将包解压出database文件夹
d. 进入database文件夹,通过命令./runInstaller启动Oracle安装程序。
e. 安装过程类同Windows下的Oracle安装。(其中要注意的是,安装同样不要安装数据库实例,Windchill的数据库实例还是通过Windchill本身的安装程序配置完成。)
10. 安装Windchill的数据库
a. 安装RHEL5.5 x86_64安装光盘中Server目录下ncompress-4.2.4-47.x86_64.rpm
b. 通过命令chmod -R 775 将Windchill的整个安装目录都附上权限
c. 进入Windchill的安装包MED-60702-CD-091_M020_zip,运行其中的安装程序./setup
d. 此安装只需安装数据库,所以安装选择高级安装,然后选择独立产品或组件
e. 只需选择安装Oracle配置
f. 设置安装数据库用户为前面配置的oracle用户
g. 设置Windchill的安装目录
h. 选择基本数据及显示语言
i. 同Windows下安装Windchill时的Oracle配置
11. 启动监听
通过终端命令启动停止监听lsnrctl start
12. 启动数据库实例
通过终端登陆sqlplus
sqlplus sys/passwd as sysdba
然后启动数据库实例
startup
13. 配置远程端口
为了让其他计算机能够访问,必须把下面端口打开,端口1521(用于连接数据库),端口1158(如果要用浏览器访问enterprise managment),端口5560(如果要用浏览器访问isqlplus)。
可以用图形界面下的工具 (系统 > 管理 > 安全级别和防火墙). 选择防火墙页面,并且增加上面的端口。
14. 更改Windchill的Oracle连接配置
a. 备份D:\ptc\Windchill_9.1\Windchill\site.xconf文件为D:\ptc\Windchill_9.1\Windchill\site.xconf.bak
b. 用记事本打开D:\ptc\Windchill_9.1\Windchill\site.xconf文件
c. 将第51行<Property name="wt.pom.serviceName" overridable="true" targetFile="db/db.properties" value="svr-ptc:1521:wind"/>中的“svr-ptc:1521:wind”改为另外一台Oracle服务器名称
d. 将第195行<Property name="wt.pom.jdbc.host" overridable="true" targetFile="db/db.properties" value="svr-ptc"/>中的"svr-ptc"改为Oracle服务器名称
e. 在Windchill Shell中输入xconfmanager –p,回车
f. 重启Windchill各个服务,测试到新的Oracle服务器的连接
参考资料:
Oracle Database 10g Documentation Library(可从甲骨文官方网站下载)
WCAdvancedInstallConfigGuide_zh_CN(由PTC公司提供)
Fedora.10.and.Red.Hat.Enterprise.Linux.Bible
Linux指令速查手册 吴恒奎编著 人民邮电出版社 2007.12