Cloning Oracle EBS R12.2 using Rapid Clone

克隆說明

參考文檔

Cloning Oracle E-Business Suite Release 12.2 with Rapid Clone (文檔 ID 1383621.1)
Oracle E-Business Suite Installation and Upgrade Notes Release 12 (12.2) for Linux x86-64 (文檔 ID 1330701.1)java

介紹

克隆是一個將現有的環境複製爲另外的環境,做爲測試等用途的一個過程。對於EBS來講,Oracle提供了Rapid Clone的工具來進行整個操做過程。node

按照Oracle官方文檔的建議,EBS的克隆只能是向相同或者更高版本的OS平臺進行。例如,EBS的克隆能夠從solaris 10平臺向solaris 11平臺進行,可是反過來的從solaris 11到solaris 10的克隆則不支持。linux

對EBS來講,經過rapid clone工具,能夠實現下面目的:c++

  1. Standard cloningweb

  2. System scale-upsql

  3. System transformations數據庫

  4. Patching and upgradingapi

在EBS R12.2版本中,應用層擁有run fs和patch fs兩個文件系統,以支持R12.2的hot patch特性(能夠在應用層不中止的狀況下apply patch,只有patch cycle最後一步切換文件系統時須要短暫的停機時間)。須要分別克隆run fs和patch fs是R12.2克隆相對於以前版本的EBS最大的不一樣之處。bash

準備工做

本文以在Oracle Linux 6.1 x86-64平臺的克隆一套EBS R12.2的測試環境爲例,說明系統克隆的操做過程。
本次操做使用的EBS版本爲R12.2.3。服務器

注意:開始進行克隆操做以前,確保source系統不處於patch cycle中。

克隆介質準備

開始克隆以前,須要先到source環境上獲得克隆須要的介質。這部分操做在source環境上進行。

運行prelcone

preclone是EBS中提供的腳本,用來生成在目標環境進行克隆須要的中間文件。一般,進行系統克隆以前,都必須在source環境上執行prelcone操做,不然可能致使在target進行克隆時出現錯誤。

和12.2以前版本不一樣的是:在source環境上運行prelcone時,source環境的數據庫和應用服務都須要處於運行狀態,而在以前版本,運行prelcone時,數據庫必須是運行狀態,可是應用服務則能夠是啓動狀態,也能夠是關閉狀態。
運行preclone時也要求應用層服務處於運行狀態的緣由是:在12.2版本中,中間件使用了Weblogic,而preclone clone操做會須要鏈接到Weblogic的domain中進行一些列操做。

數據庫層preclone

此操做使用數據庫層OS用戶執行。

$ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
$ perl adpreclone.pl dbTier
Enter the APPS User Password:  <--按照提示輸入數據庫apps用戶密碼

應用層preclone

此操做使用應用層OS用戶執行。

$ cd $ADMIN_SCRIPTS_HOME
$ perl adpreclone.pl appsTier
Enter the APPS User Password:  <-- 按照提示輸入數據庫apps用戶密碼
Enter the Weblogic AdminServer password :  <-- 按照提示輸入weblogic admin用戶密碼

打包克隆須要的文件

打包應用層文件

應用層須要打包的文件爲run fs下的EBSapps目錄。
假設數據庫安裝的base目錄爲/u01/test/app,且當前的run fs是fs1,則須要打包的目錄爲:
run fs的路徑能夠經過查看$RUN_BASE的路徑獲取(echo $RUN_BASE)

/u01/test/app
├── EBSapps.env
├── fs1
│   ├── EBSapps     <-- 須要打包的目錄
│   ├── FMW_Home
│   ├── inst
│   └── nohup.out
├── fs2
│   ├── EBSapps
│   ├── FMW_Home
│   └── inst
└── fs_ne
    ├── EBSapps
    └── inst

打包數據庫層文件

數據庫層須要打包的文件爲整個數據庫安裝目錄。
假設數據庫安裝目錄爲/u01/test/db,則須要打包的目錄爲:

/u01/test/db        <-- 須要打包的目錄
├── 11.2.0
└── data

設置目標環境操做系統

若是克隆的target環境是新安裝的OS,那麼開始克隆以前,須要對克隆目標環境所在的OS進行一些設置。

安裝OS RPM

安裝RPMS from OS media

此部分安裝能夠從操做系統安裝光盤中獲取到的rpm包,配置使用yum工具進行安裝。

MOUNT OS media ISO
mount -o loop /u01/media/OracleLinux-R6-U1-Server-x86_64-dvd.iso /media
建立install.repo

在 /etc/yum.repos.d/install.repo中添加以下內容:

[install]
name=install
baseurl=file:///media
enabled=1
gpgcheck=0
安裝 rpm包

使用root用戶執行下面腳本:

yum install libXrender.i686 \
binutils.x86_64 \
compat-libstdc++-296.i686 \
compat-libstdc++-33.i686 \
gcc.x86_64 \
gcc-c++.x86_64 \
glibc.i686  \
glibc.x86_64 \
glibc-common.x86_64 \
glibc-devel.i686  \
glibc-devel.x86_64 \
libgcc.i686 \
libgcc.x86_64 \
libstdc++-devel.i686 \
libstdc++-devel.x86_64 \
libstdc++.i686 \
libstdc++.x86_64 \
libXi.i686 \
libXp.i686 \
libXp.x86_64 \
libaio.i686 \
libaio.x86_64 \
libgomp.x86_64 \
make.x86_64 \
gdbm.i686 \
gdbm.x86_64 \
redhat-lsb.x86_64 \
sysstat.x86_64 \
util-linux-ng.x86_64 \
compat-libcap1.x86_64 \
compat-libstdc++-33.x86_64 \
elfutils-libelf-devel.x86_64 \
libaio-devel.i686 \
libaio-devel.x86_64 \
unixODBC.i686 \
unixODBC-devel.i686 \
xorg-x11-utils.x86_64 \
ksh \
libICE.i686 \
libSM.i686 \
libXt.i686

安裝RPMS from Oracle

除了操做系統中包含的RPM包以後,還須要安裝2個Oracle提供的RPM包。
這2個RPM包能夠從http://oss.oracle.com/project...下載

rpm -Uvh openmotif21-2.1.30-11.EL6.i386
rpm -Uvh xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386

安裝完成以後,還須要執行下面命令

ln -s /usr/X11R6/lib/libXtst.so.6.1 /usr/lib/libXtst.so.6
ls -l  /usr/lib/libXtst.so.6

設置OS參數

/etc/sysctl.conf

cat >> /etc/sysctl.conf <<EOF
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
EOF

/etc/security/limits.conf

cat >> /etc/security/limits.conf <<EOF
* soft nproc 2047
* hard nproc 16384
* soft nofile 1024
* hard nofile 65536
EOF

/etc/hosts

/etc/hosts文件須要按照下面格式進行設置:

192.168.100.134    r1223.home.net    r1223

建立用戶和組

建立2個用戶:oratest和appltest
其中,oratest是安裝數據庫的OS用戶
appltest是安裝應用的OS用戶

/usr/sbin/groupadd dba
/usr/sbin/useradd -g dba oratest
/usr/sbin/useradd -g dba appltest

建立目標環境安裝目錄

目標環境安裝目錄爲/u01/test

建立/etc/oraInst.loc

/etc/oraInst.loc包含指向oraInventory位置的參數。手動建立/etc/oraInst.loc文件,包含以下內容:

inventory_loc=/u01/test/oraInventory
inst_group=dba

建立完成/etc/oraInst.loc文件以後,手動建立oraInventory目錄:

mkdir /u01/test/oraInventory
chmod 777 /u01/test/oraInventory

克隆步驟

說明

關於數據庫克隆的說明

克隆目標環境的數據庫安裝在/u01/test/db目錄下,克隆目標數據庫使用SID爲TEST,使用的端口池爲0(即數據庫端口使用1521)。

EBS中端口池的概念爲:每一個端口池對應數據庫和應用的一組端口。好比當端口池選擇爲0時,數據庫監聽端口爲1521,應用的訪問端口爲8000。若是端口池增長1,數據庫和應用的端口也相應的增長。

關於應用克隆的說明

克隆目標環境的應用安裝在/u01/test/app目錄下。在EBS R12.2中,應用層包含fs1和fs2雙文件系統。克隆時,先使用tar包中的文件克隆出run fs,再從克隆好的run fs中克隆出patch fs。run fs使用和數據庫相同的端口池1,patch fs使用端口池2。

過程以下面截圖所示:
圖片描述

本次克隆中,文件系統的對應關係爲:

fs1 -> run fs
fs2 -> patch fs

數據庫克隆

解壓數據庫層tar包

解壓從源環境拷貝過來的數據庫層tar包,解壓到/u01/test目錄中,解壓以後的目錄結果以下所示:

/u01/test/db
├── 11.2.0
└── data

運行克隆腳本

數據庫的克隆使用oratest用戶操做,執行下面操做:

[oratest@r1223 ~]$ cd /u01/test/db/11.2.0/appsutil/clone/bin
[oratest@r1223 bin]$ perl adcfgclone.pl dbTier

                     Copyright (c) 2011 Oracle Corporation
                        Redwood Shores, California, USA

                        Oracle E-Business Suite Rapid Clone

                                 Version 12.2

                      adcfgclone Version 121.63.12020000.7.1202010.2

Enter the APPS password : <-- 輸入數據庫apps密碼

Running:
/u01/test/db/11.2.0/appsutil/clone/bin/../jre/bin/java -Xmx600M -cp /u01/test/db/11.2.0/appsutil/clone/jlib/java:/u01/test/db/11.2.0/appsutil/clone/jlib/xmlparserv2.jar:/u01/test/db/11.2.0/appsutil/clone/jlib/ojdbc5.jar oracle.apps.ad.context.CloneContext -e /u01/test/db/11.2.0/appsutil/clone/bin/../context/db/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_29447.lst -stage /u01/test/db/11.2.0/appsutil/clone  2> /tmp/adcfgclone_29447.err; echo $? > /tmp/adcfgclone_29447.res

Log file located at /u01/test/db/11.2.0/appsutil/clone/bin/CloneContext_0106093406.log

Provide the values required for creation of the new Database Context file.

Target System Hostname (virtual or normal) [r1223] :  <-- 目標服務器機器名,一般默認便可

Target Instance is RAC (y/n) [n] : <-- 目標數據庫是否爲RAC數據庫,此處爲單實例數據庫,選n

Target System Database SID : TEST <-- 此處設置目標數據庫的SID,設置爲TEST

Target System Base Directory : /u01/test/db <-- 此處設置目標環境base目錄的位置,此處爲/u01/test/db 

Target System utl_file_dir Directory List : /u01/test/db/temp <-- 此處設置數據庫utl_file_dir參數指定的位置,此處設置爲/u01/test/db/temp

Number of DATA_TOP's on the Target System [1] :  <-- DATA_TOP含義爲存放數據文件的目錄,咱們的數據文件都存放在一個目錄中,因此此處設置爲1

Target System DATA_TOP Directory 1 [/u01/test/db/data] : /u01/test/db/data <-- 此處設置數據文件保存路徑 

Target System RDBMS ORACLE_HOME Directory [/u01/test/db/11.2.0] : <-- 此處設置ORACLE_HOME的路徑

Do you want to preserve the Display [r1223:0.0] (y/n)  : n <-- 設置DISPLAY是否沿用源環境,此處單獨設置選擇爲n

Target System Display [r1223:0.0] : <-- 設置DISPLAY變量值,對於數據庫層,選用默認值便可。

Target System Port Pool [0-99] : 0 <-- 設置系統選用的端口池,此處選擇爲0。端口池0對應的數據庫端口爲1521

上面的設置完成以後,系統開始運行克隆過程。

Checking the port pool 0
done: Port Pool 0 is free
Report file located at /u01/test/db/11.2.0/appsutil/temp/portpool.lst
Complete port information available at /u01/test/db/11.2.0/appsutil/temp/portpool.lst

Backing up /u01/test/db/11.2.0/appsutil/TEST_r1223.xml to /u01/test/db/11.2.0/appsutil/TEST_r1223.xml.bak

Creating the new Database Context file from :
  /u01/test/db/11.2.0/appsutil/template/adxdbctx.tmp

The new database context file has been created :
  /u01/test/db/11.2.0/appsutil/TEST_r1223.xml

Log file located at /u01/test/db/11.2.0/appsutil/clone/bin/CloneContext_0106093406.log
Check Clone Context logfile /u01/test/db/11.2.0/appsutil/clone/bin/CloneContext_0106093406.log for details.

Running Rapid Clone with command:
Running:
perl /u01/test/db/11.2.0/appsutil/clone/bin/adclone.pl java=/u01/test/db/11.2.0/appsutil/clone/bin/../jre mode=apply stage=/u01/test/db/11.2.0/appsutil/clone component=dbTier method=CUSTOM dbctxtg=/u01/test/db/11.2.0/appsutil/TEST_r1223.xml showProgress contextValidated=true


Beginning database tier Apply - Tue Jan  6 09:34:39 2015

/u01/test/db/11.2.0/appsutil/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true  -Doracle.installer.oui_loc=/u01/test/db/11.2.0/oui -classpath /u01/test/db/11.2.0/appsutil/clone/jlib/xmlparserv2.jar:/u01/test/db/11.2.0/appsutil/clone/jlib/ojdbc6.jar:/u01/test/db/11.2.0/appsutil/clone/jlib/java:/u01/test/db/11.2.0/appsutil/clone/jlib/oui/OraInstaller.jar:/u01/test/db/11.2.0/appsutil/clone/jlib/oui/ewt3.jar:/u01/test/db/11.2.0/appsutil/clone/jlib/oui/share.jar:/u01/test/db/11.2.0/appsutil/clone/jlib/oui/srvm.jar:/u01/test/db/11.2.0/appsutil/clone/jlib/ojmisc.jar   oracle.apps.ad.clone.ApplyDBTier -e /u01/test/db/11.2.0/appsutil/TEST_r1223.xml -stage /u01/test/db/11.2.0/appsutil/clone   -showProgress
APPS Password : Log file located at /u01/test/db/11.2.0/appsutil/log/TEST_r1223/ApplyDBTier_01060934.log
  /      0% completed

克隆運行完成以後,會自動將數據庫的服務(包括oracle service和listener)啓動。以下所示:

Completed Apply...
Tue Jan  6 09:41:30 2015

Starting database listener for TEST:
Running:
/u01/test/db/11.2.0/appsutil/scripts/TEST_r1223/addlnctl.sh start TEST
Logfile: /u01/test/db/11.2.0/appsutil/log/TEST_r1223/addlnctl.txt

You are running addlnctl.sh version 120.4


Starting listener process TEST ...


Listener TEST has already been started.


addlnctl.sh: exiting with status 0

addlnctl.sh: check the logfile /u01/test/db/11.2.0/appsutil/log/TEST_r1223/addlnctl.txt for more information ...

設置oratest用戶的.bash_profile

數據庫克隆完成以後,會在ORACLE_HOME中生成一個.env文件中記錄關於此ORACLE_HOME的一些環境變量,只須要在oratest用戶的.bash_profile文件中引用此env文件,便可加載到所須要的環境變量。

針對這次克隆,在oratest用戶的.bash_profile中添加以下內容:

. /u01/test/db/11.2.0/TEST_r1223.env

建立數據庫起停腳本

對於EBS的數據庫來講,能夠直接使用oracle提供的腳本進行數據庫的啓停。
能夠建立以下的啓停腳本

startdb.sh:

/u01/test/db/11.2.0/appsutil/scripts/TEST_r1223/addbctl.sh start
/u01/test/db/11.2.0/appsutil/scripts/TEST_r1223/addlnctl.sh start TEST

stopdb.sh:

/u01/test/db/11.2.0/appsutil/scripts/TEST_r1223/addbctl.sh stop immediate
/u01/test/db/11.2.0/appsutil/scripts/TEST_r1223/addlnctl.sh stop TEST

克隆應用run fs

數據庫克隆完成以後,便可開始克隆應用。首先須要克隆出run fs:fs1。

解壓應用層tar包

解壓從源環境拷貝過來的應用層tar包,解壓到/u01/test/app/fs1目錄中,解壓以後的目錄結果以下所示:

/u01/test/app/fs1
└── EBSapps

運行克隆腳本

應用克隆使用appltest用戶進行操做:

[appltest@r1223 bin]$ cd /u01/test/app/fs1/EBSapps/comn/clone/bin
[appltest@r1223 bin]$ perl adcfgclone.pl appsTier

                     Copyright (c) 2011 Oracle Corporation
                        Redwood Shores, California, USA

                        Oracle E-Business Suite Rapid Clone

                                 Version 12.2

                      adcfgclone Version 120.63.12020000.26

Enter the APPS password : 
Running:
/u01/test/app/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /u01/test/app/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/java:/u01/test/app/fs1/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper -encryptpwd /u01/test/app/fs1/EBSapps/comn/clone/bin/../FMW/tempinfoApps.txt

Enter the Weblogic AdminServer password : 
Running:
/u01/test/app/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /u01/test/app/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/java:/u01/test/app/fs1/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper /u01/test/app/fs1/EBSapps/comn/clone/bin/../FMW/tempinfo.txt
Running:
/u01/test/app/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /u01/test/app/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/java:/u01/test/app/fs1/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper /u01/test/app/fs1/EBSapps/comn/clone/bin/../FMW/EBSDataSource


Do you want to add a node (yes/no) [no] : 


Running:
/u01/test/app/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -cp /u01/test/app/fs1/EBSapps/comn/clone/jlib/java:/u01/test/app/fs1/EBSapps/comn/clone/jlib/xmlparserv2.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/ojdbc5.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/java:/u01/test/app/fs1/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.context.CloneContext -e /u01/test/app/fs1/EBSapps/comn/clone/bin/../context/apps/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_2467.lst -stage /u01/test/app/fs1/EBSapps/comn/clone  2> /tmp/adcfgclone_2467.err; echo $? > /tmp/adcfgclone_2467.res

Log file located at /u01/test/app/fs1/EBSapps/comn/clone/bin/CloneContext_0106101014.log

Target System File Edition type [run] : 

Provide the values required for creation of the new APPL_TOP Context file.

Target System Hostname (virtual or normal) [r1223] : 

Target System Database SID : TEST

Target System Database Server Node [r1223] : 

Target System Database Domain Name [home.net] : 

Target System Base Directory : /u01/test/app

Target System Base Directory set to /u01/test/app

Target System Current File System Base set to /u01/test/app/fs1

Target System Other File System Base set to /u01/test/app/fs2

Target System Fusion Middleware Home set to /u01/test/app/fs1/FMW_Home

Target System Web Oracle Home set to /u01/test/app/fs1/FMW_Home/webtier

Target System Appl TOP set to /u01/test/app/fs1/EBSapps/appl

Target System COMMON TOP set to /u01/test/app/fs1/EBSapps/comn

Target System Instance Home Directory [/u01/test/app] : 

Target System Instance Top set to /u01/test/app/fs1/inst/apps/TEST_r1223

Do you want to preserve the Display [r1223:1.0] (y/n)  : n

Target System Display [r1223:0.0] : r1223:1.0

Target System Root Service [enabled] : 

Target System Web Administration [enabled] : 

Target System Web Entry Point Services [enabled] : 

Target System Web Application Services [enabled] : 

Target System Batch Processing Services [enabled] : 

Target System Other Services [disabled] : 

Target System Port Pool [0-99] : 0

Checking the port pool 0
done: Port Pool 0 is free
Report file located at /u01/test/app/fs1/inst/apps/TEST_r1223/admin/out/portpool.lst
Complete port information available at /u01/test/app/fs1/inst/apps/TEST_r1223/admin/out/portpool.lst

UTL_FILE_DIR on database tier consists of the following directories.

1. /usr/tmp
2. /u01/test/db/temp
3. /u01/test/db/11.2.0/appsutil/outbound/TEST_r1223
4. /usr/tmp
Choose a value which will be set as APPLPTMP value on the target node [1] : 2

Creating the new APPL_TOP Context file from :
  /u01/test/app/fs1/EBSapps/comn/clone/context/apps/adxmlctx.tmp

The new APPL_TOP context file has been created :
  /u01/test/app/fs1/inst/apps/TEST_r1223/appl/admin/TEST_r1223.xml

Log file located at /u01/test/app/fs1/EBSapps/comn/clone/bin/CloneContext_0106101014.log
Check Clone Context logfile /u01/test/app/fs1/EBSapps/comn/clone/bin/CloneContext_0106101014.log for details.

Running Rapid Clone with command:
Running:
perl /u01/test/app/fs1/EBSapps/comn/clone/bin/adclone.pl java=/u01/test/app/fs1/EBSapps/comn/clone/bin/../jre mode=apply stage=/u01/test/app/fs1/EBSapps/comn/clone component=appsTier method=CUSTOM appctxtg=/u01/test/app/fs1/inst/apps/TEST_r1223/appl/admin/TEST_r1223.xml showProgress contextValidated=true



FMW Pre-requisite check log file location : /u01/test/app/fs1/EBSapps/comn/clone/FMW/logs/prereqcheck.log

Running: /u01/test/app/fs1/EBSapps/comn/clone/FMW/t2pjdk/bin/java -classpath /u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/engine.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraPrereq.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraPrereqChecks.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraInstaller.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraInstallerNet.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/srvm.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl2.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl-log4j.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/xmlparserv2.jar:/u01/test/app/fs1/EBSapps/comn/clone/prereq/webtier/oui/jlib/share.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/java oracle.apps.ad.clone.util.FMWOracleHomePreReqCheck -prereqCheckFMW -e /u01/test/app/fs1/inst/apps/TEST_r1223/appl/admin/TEST_r1223.xml -stage /u01/test/app/fs1/EBSapps/comn/clone -log /u01/test/app/fs1/EBSapps/comn/clone/FMW/logs/prereqcheck.log

Beginning application tier Apply - Tue Jan  6 10:10:56 2015

/u01/test/app/fs1/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true -Doracle.installer.oui_loc=/oui -classpath /u01/test/app/fs1/EBSapps/comn/clone/jlib/xmlparserv2.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/ojdbc6.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/java:/u01/test/app/fs1/EBSapps/comn/clone/jlib/oui/OraInstaller.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/oui/ewt3.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/oui/share.jar:/u01/test/app/fs1/FMW_Home/webtier/../Oracle_EBS-app1/oui/jlib/srvm.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs1/FMW_Home/wlserver_10.3/server/lib/weblogic.jar:/u01/test/app/fs1/EBSapps/comn/clone/jlib/obfuscatepassword.jar  oracle.apps.ad.clone.ApplyAppsTier -e /u01/test/app/fs1/inst/apps/TEST_r1223/appl/admin/TEST_r1223.xml -stage /u01/test/app/fs1/EBSapps/comn/clone    -showProgress -nopromptmsg 
Log file located at /u01/test/app/fs1/inst/apps/TEST_r1223/admin/log/clone/ApplyAppsTier_01061010.log

克隆運行完成以後,會出現下面提問是否要啓動應用的提示:

/    100% completed       

Completed Apply...
Tue Jan  6 10:35:08 2015


 Executing command: /u01/test/app/fs1/EBSapps/10.1.2/bin/sqlplus @/u01/test/app/fs1/EBSapps/appl/ad/12.0.0/patch/115/sql/truncate_ad_nodes_config_status.sql


Do you want to startup the Application Services for TEST? (y/n) [n] :

咱們選擇先不啓動應用服務。
接下來進行patch fs: fs2的克隆

克隆應用patch fs

拷貝文件到patch fs:fs2

克隆patch fs以前,須要先將run fs(fs1)中的EBSapps目錄拷貝到patch fs(fs2)中。拷貝時注意使用cp -Rp 命令以保持目錄中的符號連接。
拷貝完成以後的目錄結構以下所示:

/u01/test/app
├── EBSapps.env
├── fs1
│   ├── EBSapps
│   ├── FMW_Home
│   ├── inst
│   └── nohup.out
├── fs2
│   └── EBSapps <- 從fs1中拷貝過來的目錄
└── fs_ne
    ├── EBSapps
    └── inst

運行克隆腳本

patch fs的克隆使用applprod用戶來操做:

[appltest@r1223 bin]$ cd /u01/test/app/fs2/EBSapps/comn/clone/bin
[appltest@r1223 bin]$ perl adcfgclone.pl appsTier

                     Copyright (c) 2011 Oracle Corporation
                        Redwood Shores, California, USA

                        Oracle E-Business Suite Rapid Clone

                                 Version 12.2

                      adcfgclone Version 120.63.12020000.26

Enter the APPS password :  <-- 此處填寫數據庫apps用戶的密碼
Running:
/u01/test/app/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /u01/test/app/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/java:/u01/test/app/fs2/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper -encryptpwd /u01/test/app/fs2/EBSapps/comn/clone/bin/../FMW/tempinfoApps.txt

Enter the Weblogic AdminServer password : <-- 此處填寫Weblogic admin server的密碼
Running:
/u01/test/app/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /u01/test/app/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/java:/u01/test/app/fs2/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper /u01/test/app/fs2/EBSapps/comn/clone/bin/../FMW/tempinfo.txt
Running:
/u01/test/app/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -classpath /u01/test/app/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/java:/u01/test/app/fs2/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.clone.util.OPWrapper /u01/test/app/fs2/EBSapps/comn/clone/bin/../FMW/EBSDataSource


Do you want to add a node (yes/no) [no] : <-- 選擇咱們當前進行的是不是增長節點操做,咱們是單節點環境的克隆,這裏選no


Running:
/u01/test/app/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -cp /u01/test/app/fs2/EBSapps/comn/clone/jlib/java:/u01/test/app/fs2/EBSapps/comn/clone/jlib/xmlparserv2.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/ojdbc5.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/java:/u01/test/app/fs2/EBSapps/comn/clone/jlib/emCfg.jar oracle.apps.ad.context.CloneContext -e /u01/test/app/fs2/EBSapps/comn/clone/bin/../context/apps/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_1672.lst -stage /u01/test/app/fs2/EBSapps/comn/clone  2> /tmp/adcfgclone_1672.err; echo $? > /tmp/adcfgclone_1672.res

Log file located at /u01/test/app/fs2/EBSapps/comn/clone/bin/CloneContext_0106143016.log

Target System File Edition type [run] : patch <-- 詢問咱們克隆的是run fs仍是patch fs,這裏填寫patch

Enter the full path of Run File System Context file : /u01/test/app/fs1/inst/apps/TEST_r1223/appl/admin/TEST_r1223.xml <-- 這裏須要填寫run fs中context file的路基in個

Provide the values required for creation of the new APPL_TOP Context file.

Target System Fusion Middleware Home set to /u01/test/app/fs2/FMW_Home

Target System Web Oracle Home set to /u01/test/app/fs2/FMW_Home/webtier

Target System Appl TOP set to /u01/test/app/fs2/EBSapps/appl

Target System COMMON TOP set to /u01/test/app/fs2/EBSapps/comn

Target System Instance Top set to /u01/test/app/fs2/inst/apps/TEST_r1223

Target System Port Pool [0-99] : 1 <-- 爲patch fs選擇端口池。patch fs使用的端口池須要和run fs不一樣,剛纔的run fs選擇的是0,因此這裏選擇1.

Checking the port pool 1
done: Port Pool 1 is free
Report file located at /u01/test/app/fs2/inst/apps/TEST_r1223/admin/out/portpool.lst
Complete port information available at /u01/test/app/fs2/inst/apps/TEST_r1223/admin/out/portpool.lst

UTL_FILE_DIR on database tier consists of the following directories.

1. /usr/tmp
2. /u01/test/db/temp
3. /u01/test/db/11.2.0/appsutil/outbound/TEST_r1223
4. /usr/tmp

Choose a value which will be set as APPLPTMP value on the target node [1] : 2 <-- 選擇utl_file_dir的路徑,這裏選擇2.

上面的設置完成以後,開始自動運行克隆的過程。

Creating the new APPL_TOP Context file from :
  /u01/test/app/fs2/EBSapps/comn/clone/context/apps/adxmlctx.tmp

The new APPL_TOP context file has been created :
  /u01/test/app/fs2/inst/apps/TEST_r1223/appl/admin/TEST_r1223.xml

Log file located at /u01/test/app/fs2/EBSapps/comn/clone/bin/CloneContext_0106143016.log
Check Clone Context logfile /u01/test/app/fs2/EBSapps/comn/clone/bin/CloneContext_0106143016.log for details.

Running Rapid Clone with command:
Running:
perl /u01/test/app/fs2/EBSapps/comn/clone/bin/adclone.pl java=/u01/test/app/fs2/EBSapps/comn/clone/bin/../jre mode=apply stage=/u01/test/app/fs2/EBSapps/comn/clone component=appsTier method=CUSTOM appctxtg=/u01/test/app/fs2/inst/apps/TEST_r1223/appl/admin/TEST_r1223.xml showProgress contextValidated=true



FMW Pre-requisite check log file location : /u01/test/app/fs2/EBSapps/comn/clone/FMW/logs/prereqcheck.log

Running: /u01/test/app/fs2/EBSapps/comn/clone/FMW/t2pjdk/bin/java -classpath /u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/engine.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraPrereq.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraPrereqChecks.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraInstaller.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/OraInstallerNet.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/srvm.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl2.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/Scripts/ext/jlib/ojdl-log4j.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/xmlparserv2.jar:/u01/test/app/fs2/EBSapps/comn/clone/prereq/webtier/oui/jlib/share.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/java oracle.apps.ad.clone.util.FMWOracleHomePreReqCheck -prereqCheckFMW -e /u01/test/app/fs2/inst/apps/TEST_r1223/appl/admin/TEST_r1223.xml -stage /u01/test/app/fs2/EBSapps/comn/clone -log /u01/test/app/fs2/EBSapps/comn/clone/FMW/logs/prereqcheck.log

Beginning application tier Apply - Tue Jan  6 14:31:09 2015

/u01/test/app/fs2/EBSapps/comn/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true -Doracle.installer.oui_loc=/oui -classpath /u01/test/app/fs2/EBSapps/comn/clone/jlib/xmlparserv2.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/ojdbc6.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/java:/u01/test/app/fs2/EBSapps/comn/clone/jlib/oui/OraInstaller.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/oui/ewt3.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/oui/share.jar:/u01/test/app/fs2/FMW_Home/webtier/../Oracle_EBS-app1/oui/jlib/srvm.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/ojmisc.jar:/u01/test/app/fs2/FMW_Home/wlserver_10.3/server/lib/weblogic.jar:/u01/test/app/fs2/EBSapps/comn/clone/jlib/obfuscatepassword.jar  oracle.apps.ad.clone.ApplyAppsTier -e /u01/test/app/fs2/inst/apps/TEST_r1223/appl/admin/TEST_r1223.xml -stage /u01/test/app/fs2/EBSapps/comn/clone    -showProgress -nopromptmsg 
Log file located at /u01/test/app/fs2/inst/apps/TEST_r1223/admin/log/clone/ApplyAppsTier_01061431.log
  /      0% completed

自動配置完成以後會顯示:

/    100% completed       

Completed Apply...
Tue Jan  6 14:52:05 2015

Looking for incomplete CLONE record in ad_adop_session_patches table

The CLONE record status is no rows selected

Updating incomplete CLONE record to COMPLETED

設置應用層的.bash_profile

因爲EBS R12.2有run fs和patch fs兩個文件系統,這2個文件系統使用不一樣的環境變量設置,針對這種狀況,Oracle也提供了一個EBSapps.env的腳本,方便用戶將環境變量設置在2個文件系統之間進行切換。這個文件在app文件系統的base目錄下面,以下:

/u01/test/app
├── EBSapps.env <-- 就是這個文件
├── fs1
├── fs2
└── fs_ne

能夠在這個文件後面加上run或patch做爲參數,會自動設置run fs和patch fs的環境變量。具體用法以下所示:

[appltest@r1223 app]$ . EBSapps.env run  <-- 加載run fs的環境變量

  E-Business Suite Environment Information
  ----------------------------------------
  RUN File System : /u01/test/app/fs1/EBSapps/appl
  PATCH File System : /u01/test/app/fs2/EBSapps/appl
  Non-Editioned File System : /u01/test/app/fs_ne
  DB Host: r1223.home.net  Service/SID: TEST

  Sourcing the RUN File System ...

[appltest@r1223 app]$ . EBSapps.env patch  <--加載patch fs的環境變量

  E-Business Suite Environment Information
  ----------------------------------------
  RUN File System : /u01/test/app/fs1/EBSapps/appl
  PATCH File System : /u01/test/app/fs2/EBSapps/appl
  Non-Editioned File System : /u01/test/app/fs_ne
  DB Host: r1223.home.net  Service/SID: TEST

  Sourcing the PATCH File System ...

因此在.bash_profile中添加下面內容,就能夠實現登陸時自動加載環境變量的效果

. /u01/test/app/EBSapps.env run

建立應用起停腳本的

startapp.sh

. /home/appltest/.bash_profile
cd $ADMIN_SCRIPTS_HOME
./adstrtal.sh apps/apps <<EOF
welcome1
EOF

stop.sh

. /home/appltest/.bash_profile
cd $ADMIN_SCRIPTS_HOME
./adstpall.sh apps/apps <<EOF
welcome1
EOF
相關文章
相關標籤/搜索