windchill 11使用rehostUtility 3.0 进行环境克隆

来源:互联网 发布:dev.mysql.com 编辑:程序博客网 时间:2024/05/22 15:45

适用场景:

将正式环境(linux)的windchill 系统应用,clone 到测试环境,做数据回归测试等

条件:

linux –linux

步骤:

    -

压缩正式环境应用文件夹,对正式环境应用做备份

 tar -cvf ptc20170517.tar ptc

导出正式环境数据库备份

expdp wcdba/wcdbapw@plmdb directory=PLM_DUMP_DIR dumpfile=plmtestdb_20170519.dmp parallel=10

备份测试环境应用

在备份测试环境数据时,如果测试环境的电子仓库在windchill 目录下,应先将电子仓库文件夹移出、移出或删除日志文件夹等,之后进行备份压缩,否则目录会很大,压缩很慢。
如 mv /home/ptc/Windchill_11.0/Windchill/vaults /home/ptc20171111_bak/vaults

cd /hometar -cvf /home/ptc20171111_bak/ptc20171111.tar ptc 

备份测试环境数据库

备份数据库时导出数据时,需要创建directory

select * from dba_directories;---创建文件夹create directory PLMTEST_DUMP_DIR as '/u01/backup/plmtestdb';---赋予用户文件夹权限grant read,write on directory PLMTEST_DUMP_DIR to wcdba ;
expdp wcdevdba/wcdevdbapw@plmdevdb directory= PLMDEV_DUMP_DIR dumpfile=plmdevdb_20171111.dmp parallel=10

拷贝正式环境的备份应用/数据库到测试环境

scp -r root@xxx.xxx.xxx.xxx:/home/ptc/Windchill_11.0_201711022018.tar /home/

解压正式环境应用

 tar -xvf Windchill_11.0_201711022018.tar 

导入正式环境备份数据到测试环境数据库

导入正式数据库,有两种方式,
第一种,直接删除用户,导入数据

su - oracledrop user wcdba cascade;---如果出现有用户连接的情况,断开sessionselect username,sid,serial# from v$session ;select saddr,sid,serial#,paddr,username,status from v$session where username is not nullalter system kill session '360,10547'

第二种,直接导入数据

导入时,会自动创建指定的schema用户,密码是重新生成的,之后需要进行修改impdp wcdevdba/wcdevdbapw@plmdevdb directory=PLMDEV_DUMP_DIR dumpfile=20171102_plmdb2.dmp schemas=wcdba remap_schema=wcdba:wcdevdba table_exists_action=replace;

修改配置

如果配置中做过AD的配置,需要在rehost之前,将AD配置剔除掉,否则InfoEngin clone时会报错

--剔除掉wt.properties文件配置<Property name=”wt.federation.org.directoryServices” overridable=”true”         targetFile=”codebase/wt.properties”  value=”$(wt.federation.org.defaultAdapter),$(wt.federation.org.enterpriseAdapter),com.xxx.plmdev.jndiAdapter”/><AddToProperty name="mapcredentials.admin.adapters" value="com.xxx.plmdev.jndiAdapter^plmadu^pwd"/>--剔除掉apache app-Windchill-AuthProvider.xml 配置<provider>     <name>Windchill-JNDIAD</name>     <ldapUrl>ldap://xxx.xxx.xxx.xxx:389/OU=龙旗,DC=xxx,DC=net?sAMAccountName?sub?(objectClass=user)</ldapUrl>     <bindDn>plmadu</bindDn>     <bindPwd>pwd</bindPwd></provider>执行命令:ant -f webAppConfig.xml regenWebAppConf

修改rehsot配置文件
rehost.properties 、 projects.properties
见附件, 配置具体内容,有时间再写文章做解释,其实很简单

执行命令

rehost utility 根目录 执行reshot脚本

 ./rehost.sh conf/rehost.properties

异常处理

如果上述步骤都做完,目前只出现一次错误,在系统启动时。
在操作过程中, web.xml在执行完rehost命令之后,会出现错误, servlet 出现错误字符
com.xxx.plmdevdevdev.servlet
清除掉错误多余的dev即可, 我怀疑这是执行多次rehost命令导致的,是程序的bug。

clone完成后数据库处理

clone正式环境后,有一些数据库的数据需要处理,这个根据具体的业务而定,我这里只处理用户的邮件数据,防止测试邮件发送给正式用户

update wtuser set email = '@' ;

由于正式环境是集群环境,会记录一些启动服务时,master 服务的端口和IP等在数据库中,这些数据需要清理掉,否则在启动时,会默认去数据库查找这些服务,导致报错。

### 备份并清空rmistubs, 里面指定了CacheMasterselect * from rmistubs;create table rmistubs_bak as select * from rmistubsdelete rmistubs###备份并清空methodserverinfocreate table methodserverinfo_bak as select * from methodserverinfoselect * from methodserverinfo;delete methodserverinfo

修改host文件

正式环境如果是集群环境,会对host进行配置, 如app1 对应127.13.28.1 app2 对应127.13.28.2 所以需要将clone后的测试环境 app1 和app2 都配置到 127.0.0.1 (如果测试环境是单机)

电子仓库重新配置

对电子仓库的配置数据进行备份然后清除。
电子仓库相关数据表

create table replicafolder _bak as select * from replicafolder ;create table replicavault _bak as select * from replicavault ;create table fvfolder_bak as select * from fvfolder;create table fvhost_bak as select * from fvhost;create table fvitem_bak as select * from fvitem;create table fvmount_bak1 as select * from fvmount;create table fvvault_bak as select * from fvvault;create table rootfolder_bak as select * from rootfolder;create table rootmount_bak as select * from rootmount;select * from replicafolderselect * from replicavault;select * from fvfolder;select * from fvhost;select * from fvitem;select * from fvmount  ;select * from fvvault;select * from rootfolder;select * from rootmount;

不能上传附件,只能上传到资源里面
附件

原创粉丝点击