暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

干货!EBS 12.2克隆详细步骤过程

原创 范伟林 2023-03-04
2491

前言

EBS作为Oracle很强大的电子商务套件,有时候我们需要有一个开发测试环境,如何进行快速的构建,Oracle官方是有提供一套完整的EBS克隆管理工具,以下进行详细过程演示,环境为19c多租户环境,EBS为12.2。

1、检查数据库状态

crsctl stat res -t

2、检查监听状态

lsnrctl stat

3、检查etcc目录

ls $ORACLE_HOME/appsutil

Note:若不存在,则需要下载补丁patch 17537119(latest)
mkdir ORACLE_HOME/appsutil/etcc 解压补丁到此目录进行检查 ORACLE_HOME/appsutil/etcc/checkDBpatch.sh

4、DB节点进行预克隆检查

cd $ORACLE_HOME
. <PDB_NAME>_hostname.env
cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
perl adpreclone.pl dbTier

5、APP节点进行预克隆检查

. EBSApps run
cd $ADMIN_SCRIPTS_HOME
perl adpreclone.pl appsTier

6、打包二进制软件目录到目标端

DB节点

tar -zcvf /ebsclone/19c_home.tar.gz 19c

APP节点

tar -zcvf /ebsclone/EBSapps_fs2_run.tar.gz EBSapps

7、目标端进行解压

DB节点

cd /u01/app/oracle/product/
tar -zxvf 19c_home.tar.gz

APP节点

cd /u01/app/ebsapps
tar -zxvf EBSapps_fs2_run.tar.gz 

8、配置DB节点

Note:RAC克隆到单机需要重新配置DB HOME,以下模板参考

创建pairsfile.txt文件

vi $ORACLE_HOME/appsutil/clone/pairsfile.txt

s_undo_tablespace=<Source (PDB) system undo tablespace name>
s_db_oh=<Location of new ORACLE_HOME>
s_dbhost=<Target hostname>
s_dbSid=<Target PDB name>
s_pdb_name=<Target PDB name>
s_cdb_name=<Target CDB SID>
s_base=<Base directory for DB Oracle Home>
s_dbuser=<DB User>
s_dbgroup=<DB group> (Not applicable on Windows)
s_dbhome1=<Data directory>
s_display=<Display>
s_dbCluster=false
s_isDBCluster=n
s_dbport=<DB port>
s_port_pool=<Port pool number>

创建context文件

cd $ORACLE_HOME/appsutil/clone/bin

perl adclonectx.pl \
contextfile=<Source database context file>\
template=$ORACLE_HOME/appsutil/template/adxdbctx.tmp \
pairsfile=$ORACLE_HOME/appsutil/clone/pairsfile.txt

配置ORACLE HOME技术栈

perl adcfgclone.pl dbTechStack <Complete path to the target context file>

配置监听

export ORACLE_HOME=/u01/app/oracle/product/19c
export PATH=$ORACLE_HOME/perl/bin:$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME:$ORACLE_HOME/lib
export PERL5LIB=$ORACLE_HOME/perl/lib/5.28.1:$ORACLE_HOME/perl/site_perl/5.28.1:$ORACLE_HOME/appsutil/perl
export PATH=$ORACLE_HOME/perl:$ORACLE_HOME/perl/lib:$ORACLE_HOME/perl/bin:$PATH

cd $ORACLE_HOME/appsutil
./txkSetCfgCDB.env -dboraclehome=<ORACLE_HOME>

cd <ORACLE_HOME>/appsutil/bin
perl txkGenCDBTnsAdmin.pl -dboraclehome=<ORACLE_HOME> -cdbname=<Name of the target container database> \
-cdbsid=<SID of the target container database> -dbport=<Target DB port> -outdir=$ORACLE_HOME/appsutil/log \
-israc=<yes/no>

启动监听

cd <ORACLE_HOME>/appsutil/scripts/<CONTEXT_NAME>
./adcdblnctl.sh start <CDB SID>

9、数据文件还原恢复

Note:可以利用备份工具还原,或者RMAN手工备份
以下演示在线复制数据文件

#!/bin/bash
DATE=`date +%Y%m%d%H`
source /home/oracle/.bash_profile
$ORACLE_HOME/bin/rman log=/home/oracle/dptodb_${DATE}.log <<EOF
connect target sys/oracle@prod_2
connect auxiliary sys/oracle@teste
run{ 
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
allocate channel c5 type disk;
allocate channel c6 type disk;
allocate AUXILIARY channel c7 type disk;
allocate AUXILIARY channel c8 type disk;
allocate AUXILIARY channel c9 type disk;
allocate AUXILIARY channel c10 type disk;
allocate AUXILIARY channel c11 type disk;
allocate AUXILIARY channel c12 type disk;
duplicate target database to "teste" from active database;
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
release channel c6;
release channel c7;
release channel c8;
release channel c9;
release channel c10;
release channel c11;
release channel c12;
}
exit;
EOF
exit

10、目标库配置

Note:此步骤有需要可以进行pdb名称修改
更新库文件

sqlplus / as sysdba
@adupdlib.sql so

11、目标库配置UTL_FILE_DIR目录

查看目录配置

cd <ORACLE_HOME>
source <CONTEXT_NAME>.env

perl <ORACLE_HOME>/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=<DB Context File> \
-oraclehome=<ORACLE_HOME> -outdir=<ORACLE_HOME>/appsutil/log -mode=getUtlFileDir

Note:如果目录需要变动,则需要修改<DB_NAME>_utlfiledir.txt文件并创建相关目录
cat $ORACLE_HOME/dbs/william_utlfiledir.txt

更新UTL目录

cd <ORACLE_HOME>/appsutil/bin
perl <ORACLE_HOME>/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=<DB Context File> \
-oraclehome=<ORACLE_HOME> -outdir=<ORACLE_HOME>/appsutil/log \
-mode=setUtlFileDir

创建UTL目录对象

source <CONTEXT_NAME>.env
perl <ORACLE_HOME>/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=<DB Context File> \
-oraclehome=<ORACLE_HOME> -outdir=<ORACLE_HOME>/appsutil/log -mode=createDirObject

同步UTL目录到context配置文件

source <CONTEXT_NAME>.env
perl <ORACLE_HOME>/appsutil/bin/txkCfgUtlfileDir.pl -contextfile=<DB Context File> \
-oraclehome=<ORACLE_HOME> -outdir=<ORACLE_HOME>/appsutil/log \
-mode=syncUtlFileDir  -skipautoconfig=yes

12、目标DB节点开始克隆配置

cd <ORACLE_HOME>/appsutil/clone/bin
perl adcfgclone.pl dbconfig <Target Database context file>

13、目标APP节点开始克隆配置

cd <COMMON_TOP>/clone/bin
perl ./adcfgclone.pl appsTier dualfs

14、启动APP服务

cd $ADMIN_SCRIPTS_HOME
./adstrtal.sh apps/password
./adopmnctl.sh status apps/password

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论