Clone准备:
1. 拷贝文件:最好用tar否则一些快捷方式就变成文件了,官方建议用cp –RH,我用过cp –rpf这些都不可以拷贝快捷方式,用tar的时候也要小心,小心把source给覆盖了。
2. 在数据库control文件变化的时候一定要preclone一下,否则clone的时候建control文件会失败或者有部分文件建不进去。
3. 保险起见,检查$ORACLE_HOME/appsutil/clone/data/stage/adcrdb.zip里面的adcrdbclone.sql,看看source中的数据库文件是否都已经包含进去了。
4. 拷贝完文件,检查一下权限是否正确,如果base目录是快捷方式,clone的时候要用绝对路径。
5. 拷如果有条件,在clone之前把数据库启动,正常关闭一下看看是否正常,免得Clone时重建Control文件出错。
6. Apps密码和原来的数据库必须一致
Preclone
PROD==>COMPARD
1.开启prod
2.运行autoconfig,把xml写到DB里面去
先运行AP再DB
AP:
$INST_TOP/admin/scripts/adautocfg.sh
产生数据库层的appsutil目录
perl $AD_TOP/bin/admkappsutil.pl
记住appsutil.zip文件的位置,产生后放到DB所在的服务器上,比如放到/db目录下。
DB:
如果$ORACLE_HOME下有appsutil.zip先做备份,然后把上一步产生的拷贝过来。
cp /db/appsutil.zip $ORACLE_HOME
备份一下appsutil这个目录,然后把zip文件解压,带上-o参数,解压完毕,执行下列动作:
cd $ORACLE_HOME/appsutil/scripts/<content>/
./adautocfg.sh
3.开始preclone
和11i差不多先DB再AP
DB:
cd $ORACLE_HOME/appsutil/scripts/<content>/
perl adpreclone.pl dbTier
AP:
cd $INST_TOP/admin/scripts/
perl adpreclone.pl appsTier
-------------------
/appsutil/clone/data/stage/adcrdb.zip
检查所有的数据文件是否都已经包含了
Clone:
先DB后AP
DB:
设置ORACLE_HOME,PATH,ORCALE_SID这三个变量
ORACLE_HOME=/uattest/uat/db/tech_st/10.2.0
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH
ORACLE_SID= COMPARD
export ORACLE_SID
cd $ORACLE_HOME/appsutil/clone/bin
Control file need recreate:
perl adcfgclone.pl dbTier
Control file manual create:
perl adcfgclone.pl dbTechStack
<Create control manually and open database>
cd $ORACLE_HOME/appsutil/install/<CONTENT>
sqlplus "/ as sysdba" @adupdlib.sql <libext:"sl"--HP-UX,Other Unix "so" ,none for windows>
cd $ORACLE_HOME/appsutil/clone/bin
perl adcfgclone.pl dbconfig $ORACLE_HOME/appsutil/<TARGET CONTENT>.xml
AP:
$COMMON_TOP/clone/bin/ (apps/apps_st/comn)
perl adcfgclone.pl appsTier
Clone的问题:
1.[APPLY PHASE]
AutoConfig could not successfully execute the following scripts:
Directory: /apps/uat/apps/tech_st/10.1.3/perl/bin/perl -I /apps/uat/apps/tec
h_st/10.1.3/perl/lib/5.8.3 -I /apps/uat/apps/tech_st/10.1.3/perl/lib/site_perl/5
.8.3 -I /apps/uat/apps/apps_st/appl/au/12.0.0/perl -I /apps/uat/apps/tech_st/10.
1.3/Apache/Apache/mod_perl/lib/site_perl/5.8.3/sun4-solaris-thread-multi /apps/u
at/apps/tech_st/10.1.2/appsutil/clone
ouicli.pl INSTE8_APPLY -1
AutoConfig is exiting with status 1
RC-50013: Fatal: Instantiate driver did not complete successfully.
/apps/uat/apps/tech_st/10.1.2/appsutil/driver/regclone.drv
metalink给的解法:
To implement the solution, please execute the following steps:
1 - Initiate the "perl adcfgclone.pl appsTier" again
2 - When it appears to hang again Check if it is the 10.1.2 opmn processes are causing the hanging using:
"ps -ef | grep opmn" If the "ps -ef | grep opmn" gives the following result it is causing this issue:
<user> <PID> 28462 0 <Time> pts/ta 0:00 <10.1.2 ORACLE_HOME>/opmn/bin/opmn -a -q ping
<user> <PID> 28459 0 <Time> pts/ta 0:00 <10.1.2 ORACLE_HOME>/opmn/bin/opmnctl stopall
3 - Kill the "opmn -a -q ping" and the "opmnctl stopall" using the PID's archived in step 2
The clone should continue now, in case it appears to hang again check if the opmn processes are started again and kill them until the clone continues.
后经过分析日志,发现还是inventory的问题,同样的手工修改部分文件,就可以让3%很快过去。并且inventory存在的话,就会OK。
2.AIX上如果做了autoconfig,必须注意Error: Couldn't find per display information 问题是否还存在。
3.AIX上作了clone以后,要注意看看安装时候的问题是否存在。
4.下面的问题,在clone的过程中会自动修复。
chown: lbuilder: A file or directory in the path name does not exist.
chown: libhsnav.so: A file or directory in the path name does not exist.
chown: hsdb_syb.so: A file or directory in the path name does not exist.
chown: hsdb_odbc.so: A file or directory in the path name does not exist.
chown: hsdb_ora.so: A file or directory in the path name does not exist.
chown: libhsbase.so: A file or directory in the path name does not exist.
chown: ldflags: A file or directory in the path name does not exist.
chown: libocci.a.10.1: A file or directory in the path name does not exist.
chown: xmlparserv2.jar: A file or directory in the path name does not exist.
chown: libXML4CMessages.a: A file or directory in the path name does not exist.
chown: libXML4CMessages54.a: A file or directory in the path name does not exist
.
chown: libicudata26.a: A file or directory in the path name does not exist.
chown: libxml4c54.a: A file or directory in the path name does not exist.
chown: libicudata26.so: A file or directory in the path name does not exist.
chown: libicuuc26.a: A file or directory in the path name does not exist.
chown: libicuuc26.so: A file or directory in the path name does not exist.
chown: libxml4c.a: A file or directory in the path name does not exist.