Windchill的迁移及分离Oracle到64位linux系统

 

随着企业的发展,信息化程度越来越高,尤其是产品在开发,设计,审核,质量控制和生产整个环节的管理需求越来越高,Windchill作为一整套用来管理产品和工序的整个生命周期,对所有形式的数字化产品开发数据(包括机械、电气和软件)进行专业管理的一种解决方案。本文旨在为Windchill_9.1的迁移,备份,恢复及将Oracle10g数据库与Windchill分离,并迁移到64linux上做参考,所用示例为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.   配置OracleORACLE_HOME要选择到Oracle的安装目录,system密码用于以后登陆Oracle后台管理,WindchillOracle用户名和密码最好与原生产系统的一致,例如本例为pdm8

 

k. 设置LDAP的管理密码

 

 

l.   设置Windchill的站点管理密码及组织

 

 

m. 设置暂存区域(即选择所有安装包的目录)

这里是..\WindchillInstallationFiles\Windchill9.1M010InstallFiles\9.1M010

 

 

n. 开始安装

 

o. 过程中如果弹出类似警告的,要运行该安装程序

 

 

4.       全新安装完成后,需要配置如下

配置hosts文件

 

配置Oraclelistener.ora文件

 

 

以上,全新安装的Windchill即可以使用了,通过启动Apache,Tomcat,MethodServer

 

第二部分:恢复原生产机上的Windchill系统及数据

1.       停止所有Windchill相关应用

依次停止下列应用及服务

a. 关闭MethodServerBackgroundMethodServer

b. 关闭ServerManager

c. 关闭Tomcat

d. 关闭Apache

e. 停止Aphelion的三个服务Aphelion AdministrationAphelion Drive MappingAphelion Services

f. 停止Oracle的两个服务OracleServiceWINDOracleOraDb10g_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即可以使用了,通过启动ApacheTomcatMethodServer

 

第三部分:将Windchill迁移到64linux server上(只安装Windchill数据库)

本部分实例为,将Windchill安装到64Redhat Enterprise Linux 5.5上。

Linux的安装过程省略,其中要注意的是要给swap分区两倍于内存,主分区至少50G,因为RHEL5及各种所需包大概10GOracle安装过程大概10GWindchill安装包大概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

因为SELinuxoracle有影响,所以把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 64linux下的安装包为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.   更改WindchillOracle连接配置

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

 

posted @ 2010-06-17 09:49  jason_lb  阅读(...)  评论(...编辑  收藏