windchill 11使用rehostUtility 3.0 進行環境克隆

適用場景:

將正式環境(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 /home
tar -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 - oracle

drop user wcdba cascade;
---如果出現有用戶連接的情況,斷開session
select username,sid,serial# from v$session ;

select saddr,sid,serial#,paddr,username,status from v$session where username is not null

alter 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, 裏面指定了CacheMaster
select * from rmistubs;
create table rmistubs_bak as select * from rmistubs
delete rmistubs

###備份並清空methodserverinfo
create table methodserverinfo_bak as select * from methodserverinfo
select * 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 replicafolder
select * from replicavault;
select * from fvfolder;
select * from fvhost;
select * from fvitem;
select * from fvmount  ;
select * from fvvault;
select * from rootfolder;
select * from rootmount;

不能上傳附件,只能上傳到資源裏面
附件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章