返回顶部
首页 > 资讯 > 数据库 >EBS在线克隆DB和应用的实例分析
  • 236
分享到

EBS在线克隆DB和应用的实例分析

2024-04-02 19:04:59 236人浏览 薄情痞子
摘要

这篇文章将为大家详细讲解有关EBS在线克隆DB和应用的实例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 本次克隆学习到的有

这篇文章将为大家详细讲解有关EBS在线克隆DB和应用的实例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

本次克隆学习到的有1点
只要A数据库可以正常启动,保证A数据库文件(redo、undo、datafile、arcHivelog、tempfile)和控制文件不在oracle_HOME目录情况下,
备份好A数据库的pfile,可以随便删除A的ORACLE_HOME并从别的地方拷贝ORACLE_HOME过来进行软件克隆操作,软件克隆过程中会产生新的pfile,把原来的pfile拿过来覆盖就可以了


本次克隆从21.16克隆到128.118,克隆为测试环境,所以DB duplicate后测试环境关闭了归档
21.16服务器信息
96CPU、256G、Centos release 6.5 (Final)、hostname是ebsdba、base是/db/PROD,SID是PROD、数据文件路径/db/prod/db/apps_st/data、oracle用户oraprod,应用用户是applprod
128.118服务器信息
48CPU、64G、Red Hat Enterprise linux Server release 5.4 (Tikanga)、hostname是ebsdev、base是/db/DEV,SID是DEV、数据文件路径/db/DEV/db/apps_st/data、oracle用户oradev、应用用户是appldev、ORACLE_HOME是/u01/DEV/db/tech_st/11.2.0/


一:ORACLE软件克隆(此过程会生成新的pfile文件,一般克隆时不需这一步,除非如下两种情况)
1、新搭建的OS环境,没有安装ORACLE软件;
2、DB软件已经安装好了,并且DB已经duplicate好了,但是需要再次克隆软件,比如DB的数据文件目录和软件环境变量DATA_TOP不一样,比如duplicate过程中发现目标数据库的/u02目录空间不够,新增了一个目录/u03,但是目标数据库的DATA_TOP还是duplicate之前的一个目录/u02,此时DB的pfile要先备份一遍,因为软件克隆的过程中会生成新的pfile文件

1.
128.118服务器建立/db/DEV/db/tech_st、/db/DEV/apps、/db/DEV/inst并分别授权为oradev.dba、appldev.dba、appldev.dba

2.
21.16对ORACLE_HOME打包
cd /db/prod/db/tech_st
tar -zcvf primy.tar.gz 11.2.0
并把该包拷贝到128.118的/db/DEV/db/tech_st

3.
128.118使用oradev登录
cd /db/DEV/db/tech_st
tar -zxvf primy.tar.gz
cd /db/DEV/db/tech_st/11.2.0/appsutil/clone/bin
PERL5LIB=/u01/DEV/db/tech_st/11.2.0/perl/lib/5.10.0:/u01/DEV/db/tech_st/11.2.0/perl/lib/site_perl/5.10.0:/db/DEV/db/tech_st/11.2.0/appsutil/perl
PATH=/u01/DEV/db/tech_st/11.2.0/perl/bin:$PATH
--PERL5LIB,不是代表linux5,所以遇到克隆的目标环境的OS版本为linux6时,不能设置为PERL6LIB,如果/u01/DEV/db/tech_st/11.2.0/perl/lib/5.10.0目录不存在,而只存在/u01/DEV/db/tech_st/11.2.0/perl/lib/5.8.3,则先设置为/u01/DEV/db/tech_st/11.2.0/perl/lib/5.10.0,没有报错不管,遇到报错再设置为/u01/DEV/db/tech_st/11.2.0/perl/lib/5.8.3

perl adcfGClone.pl dbTechStack(此过程会新建pfile)
Enter the APPS passWord :
Target System Hostname (virtual or nORMal) [ebsdev] :
Target Instance is RAC (y/n) [n] :
Target System Database SID : DEV
Target System Base Directory : /u01/DEV
Target System utl_file_dir Directory List : /usr/tmp
Number of DATA_TOP's on the Target System [2] : 1
Target System DATA_TOP Directory 1 : /u01/DEV/db/apps_st/data
Target System RDBMS ORACLE_HOME Directory [/u01/DEV/db/db/tech_st/11.1.0] : /u01/DEV/db/tech_st/11.2.0
Do you want to preserve the Display [0.0] (y/n)  : n
Target System Display [ebsdev:0.0] :
Do you want the the target system to have the same port values as the source system (y/n) [y] ? : n
Target System Port Pool [0-99] : 30
--以上,如果数据文件存在两个目录,u01和u02,则
Number of DATA_TOP's on the Target System [2] : 2
Target System DATA_TOP Directory 2 : /u01/DEV/db/apps_st/data,/u02/DEV/db/apps_st/data
4.
再重新使用原来的数据库pfile备份覆盖新生成的数据库pfile

5.oradev的~/.bash_profle增加
. /u01/DEV/db/tech_st/11.2.0/DEV_ebsdev.env


二:数据库duplicate(查看克隆环境DB的补丁是否和正式环境DB的补丁一样,不一样,先打好补丁再进行克隆)(21.16在27号重新生成了一个生命周期5,25号有个0级备份,28号重新1级备份了)
1.
nohup rman target sys/XX@prod auxiliary sys/XX@8030_DEV_DUPlICATE cmdfile=duplica_8030_dev_from_backup.rman msglog=duplica_8030_dev_from_backup.log &

duplicate的内容如下(使用了生命周期4)
run {
duplicate database PROD incarnation 4 to DEV
pfile=/ebsbak/rmanbackup/duplicate/initDEV.ora
db_file_name_convert=('/db/prod/db/apps_st/','/u01/DEV/db/apps_st/')
LOGFILE
  '/u01/DEV/db/apps_st/data/log01.dbf' size 1024M,
  '/u01/DEV/db/apps_st/data/log02.dbf' size 1024M,
  '/u01/DEV/db/apps_st/data/log03.dbf' size 1024M
NOFILENAMECHECK UNTIL TIME "TO_DATE('2016-11-29 10:00:00','YYYY-MM-DD hh34:mi:ss')";
}

2.重建tempfile
alter  tablespace temp1 drop tempfile '/u01/DEV/db/apps_st/data/temp01.dbf';
alter  tablespace temp1 drop tempfile '/u01/DEV/db/apps_st/data/temp03.dbf';
alter tablespace temp1 add tempfile '/u01/DEV/db/apps_st/data/temp01.dbf';
alter database tempfile '/u01/DEV/db/apps_st/data/temp01.dbf' autoextend on next 64m maxsize 8g;
alter tablespace temp1 add tempfile '/u01/DEV/db/apps_st/data/temp03.dbf';
alter database tempfile '/u01/DEV/db/apps_st/data/temp03.dbf' autoextend on next 64m maxsize 8g;
alter  tablespace temp1 drop tempfile '/u01/DEV/db/apps_st/data/temp05.dbf';
alter tablespace temp1 add tempfile '/u01/DEV/db/apps_st/data/temp05.dbf';
alter database tempfile '/u01/DEV/db/apps_st/data/temp05.dbf' autoextend on next 64m maxsize 8g;

alter  tablespace temp2 drop tempfile '/u01/DEV/db/apps_st/data/temp02.dbf';
alter  tablespace temp2 drop tempfile '/u01/DEV/db/apps_st/data/temp04.dbf';
alter tablespace temp2 add tempfile '/u01/DEV/db/apps_st/data/temp02.dbf';
alter database tempfile '/u01/DEV/db/apps_st/data/temp02.dbf' autoextend on next 64m maxsize 8g;
alter tablespace temp2 add tempfile '/u01/DEV/db/apps_st/data/temp04.dbf';
alter database tempfile '/u01/DEV/db/apps_st/data/temp04.dbf' autoextend on next 64m maxsize 8g;
alter  tablespace temp2 drop tempfile '/u01/DEV/db/apps_st/data/temp06.dbf';
alter tablespace temp2 add tempfile '/u01/DEV/db/apps_st/data/temp06.dbf';
alter database tempfile '/u01/DEV/db/apps_st/data/temp06.dbf' autoextend on next 64m maxsize 8g;

3.关闭归档


三:数据库克隆配置(此过程会修改数据库pfile文件,所以要用备份pfile覆盖新生成的pfile)
1.
cd $ORACLE_HOME/appsutil/install/DEV_ebsdev
sqlplus "/ as sysdba" @adupdlib.sql 'so'

2.
cd $ORACLE_HOME/appsutil/clone/bin
mv /u01/DEV/db/tech_st/11.2.0/bin/unzip /u01/DEV/db/tech_st/11.2.0/bin/unzip_6.00
scp orapft@192.168.3.1:/u03/PFT/db/tech_st/11.2.0/bin/unzip $ORACLE_HOME/bin/
which unzip必须是来自$ORACLE_HOME/bin/unzip
which perl必须是来自$ORACLE_HOME/perl/bin/perl
--Unzip必须5.52(or higher),但是不能高于6.0

perl adcfgclone.pl dbconfig $ORACLE_HOME/appsutil/DEV_ebsdev.xml(此过程必须使用到$ORACLE_HOME/bin/unzip,不会使用/usr/bin/unzip)
Enter the APPS password :

3.重新使用原来的数据库pfile备份覆盖新生成的数据库pfile


四:应用克隆(使用应用用户appldev)
1.
21.16对应用目录/app/prod/apps、 /app/prod/inst打包
cd /app/prod
tar -zcvf prod_erp_20161126.tar.gz apps inst
并把该包拷贝到128.118的/u01/DEV

128.118解压应用包
cd /db/DEV
tar -zxvf prod_erp_20161126.tar.gz

2.(最后一步不用启动应用)
cd /u01/DEV/apps/apps_st/comn/clone/bin
perl adcfgclone.pl appsTier(不需要使用自己的/u01/NPS/apps/tech_st/10.1.3/perl/bin/perl,自己找到/usr/bin/perl)

Enter the APPS password :
Target System Hostname (virtual or normal) [ebsdev] :
Target System Database SID : DEV
Target System Database Server node [ebsdev] :
Target System Database Domain Name [huaqin.com] :
Target System Base Directory : /u01/DEV
Target System Tools ORACLE_HOME Directory [/u01/DEV/apps/tech_st/10.1.2] :
Target System WEB ORACLE_HOME Directory [/u01/DEV/apps/tech_st/10.1.3] :
Target System APPL_TOP Directory [/u01/DEV/apps/apps_st/appl] :
Target System COMMON_TOP Directory [/u01/DEV/apps/apps_st/comn] :
Target System Instance Home Directory [/u01/DEV/inst] :
Target System Root Service [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] :
Do you want to preserve the Display [proderp:0.0] (y/n)  : n
Target System Display [ebsdev:0.0] :
Do you want the the target system to have the same port values as the source system (y/n) [y] ? : n
Target System Port Pool [0-99] : 30

Checking the port pool 30
done: Port Pool 30 is free
Report file located at /u01/DEV/inst/apps/DEV_ebsdev/admin/out/portpool.lst
Complete port information available at /u01/DEV/inst/apps/DEV_ebsdev/admin/out/portpool.lst

UTL_FILE_DIR on database tier consists of the following directories.

1. /usr/tmp
2. /u01/DEV/db/tech_st/11.2.0/appsutil/outbound/DEV_ebsdev
Choose a value which will be set as APPLPTMP value on the target node [1] : 1
...
Completed Apply...
Mon Feb 26 16:59:27 2018
Do you want to startup the Application Services for NAS? (y/n) [y] : n
Services not started


3.appldev的~/.bash_profle增加
. /u01/DEV/apps/apps_st/appl/APPSDEV_ebsdev.env


五:收尾工作(应用没有启动的情况下)
1.
数据库修改信息(修改system的密码)
su - oradev
sqlplus / as sysdba
alter user system identified by kkk;

2.
应用修改信息
su - appldev
source ~/.bash_profile
vi $AF_JRE_TOP/lib/xdo.cfg修改path路径
vi $FORMS_WEB_CONFIG_FILE增加archive2=,/OA_JAVA/hand.jar.sig

3.修改目标测试环境的所有ERP相关的数据库用户密码为yyy,包括apps用户的密码也从原来的xxx修改为yyy
FNDCPASS apps/xxx 0 Y system/kkk SYSTEM APPLSYS yyy
FNDCPASS apps/yyy 0 Y system/kkk ALLORACLE yyy

4.
sqlplus apps/apps
update FND_FORM_FUNCTIONS_TL set user_function_name='8030 ERP测试' where function_id=20569;
commit;
UPDATE fnd_concurrent_requests SET phase_code ='C', status_code = 'X' WHERE phase_code ='P';
COMMIT;

5.
cd ~
sqlplus apps/apps
@cmclean.sql  --这个动作绝对不能在正式环境操作

6.
--如果开启了asadmin功能的话,配置asadmin的密码xxx
vi $INST_TOP/ora/10.1.3/j2ee/oafm/config/system-jazn-data.xml修改ASADMIN对应的credentials值为!XXX

7.
如果源端和目标端的OS版本不一样的话,需要做如下两句
After installation, users must update the stub libraries in the 10.1.2 and 10.1.3 Oracle Homes using the patch 12415211. In following the instructions below, please note that Opatch should not be used to install this patch.
Users must specifically copy the files in the patch to the specified directories as follows for the 10.1.2 Oracle Home:
$ cd <12.1_INSTALL_DIR>/apps/tech_st/10.1.2/lib
$ cp -p -R stubs stubsORIG
$ cd stubs
$ cp /12415211/files/lib/stubs/libgcc_s-2.3.2-stub.so .
$ ln -s libgcc_s-2.3.2-stub.so libgcc_s.so.1
$ ln -s libgcc_s.so.1 libgcc_s.so
After this is done and sourcing the APPS.env file, users should relink all 10.1.2 executables by running the $ORACLE_HOME/appsutil/clone/adlnktools.sh script and ensuring that there are now no errors in the make log file output from the script.

The instructions for the 10.1.3 Oracle Home are:
$ cd <12.1_INSTALL_DIR>/apps/tech_st/10.1.3/lib
$ cp -p -R stubs stubsORIG
$ cd stubs
$ cp /12415211/files/lib/stubs/libgcc_s-2.3.2-stub.so .
$ ln -s libgcc_s-2.3.2-stub.so libgcc_s.so.1
$ ln -s libgcc_s.so.1 libgcc_s.so
After this, users should relink sqlplus by running the /apps/tech_st/10.1.3/appsutil/clone/adlnkweboh.sh script and ensuring that there are now no errors in the make log file output from the script.


8.启动ERP
su - appldev
cd $ADMIN_SCRIPTS_HOME
./adstrtal.sh apps/apps

9.
配置ASADMIN集成SOA网关的
find $APPL_TOP -name "soagenerate.sh"
/u01/DEV/apps/apps_st/appl/fnd/12.0.0/bin/soagenerate.sh
cd /u01/DEV/apps/apps_st/appl/fnd/12.0.0/bin
soagenerate.sh irepname=CUX_FND_MSG_CALL_CENTER_PKG

登录ERP的WEB页面,看上面第6步的配置是否正常
asadmin/XXX
集成SOA网关-集成信息库-CUX Developer-CUX Developer-CUX Developer-SOAP Web服务-查看WSDL-点击出现页面就可以了

10.
进入窗口修改如下信息
ERP--配置文件--系统--配置文件框中输入%地点名%--点击查找--把地点修改为XX测试环境(8030) 2016-11-18
ERP--配置文件--系统--配置文件框中输入%Java 色彩设计%--点击查找--把地点选择为紫色





备注
如果是现有应用要改服务器名,改域名,改db_name,改端口,执行步骤如下
1、数据库软件克隆
2、数据库重建控制文件修改db_name,把数据库拉起来,增加tempfile
3、数据库克隆
4、应用克隆

如果是duplicate到目标服务器,目标服务器要改服务器名,改域名,改db_name,改端口,执行步骤如下
1、duplicate目标服务器后,再目前服务器拉起数据库
2、数据库软件克隆
3、数据库重建控制文件修改db_name,把数据库拉起来,增加tempfile
4、数据库克隆
5、应用克隆

关于EBS在线克隆DB和应用的实例分析就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: EBS在线克隆DB和应用的实例分析

本文链接: https://lsjlt.com/news/68479.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • EBS在线克隆DB和应用的实例分析
    这篇文章将为大家详细讲解有关EBS在线克隆DB和应用的实例分析,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 本次克隆学习到的有...
    99+
    2024-04-02
  • Java序列化和克隆的实例分析
    Java序列化和克隆的实例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。序列化Java 序列化技术可以使你将一个对象的状态写入一个Byte 流里,并且可以从...
    99+
    2023-06-17
  • JavaScript中合并和克隆对象的示例分析
    小编给大家分享一下JavaScript中合并和克隆对象的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!当我们想要复制原始值和引用值(对象)时,它们的行为会大不相同。原始值我们假设一个变量 name 具有一个与之关联...
    99+
    2023-06-15
  • Java多线程的应用场景和应用目的实例分析
    Java多线程的应用场景和应用目的实例分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。通俗的解释一下多线程先:多线程用于堆积处理,就像一个大土堆,一个推土机很慢,那么10个推...
    99+
    2023-06-19
  • NumPy在ASP和Laravel的应用案例分析
    NumPy是Python科学计算的核心库之一,提供了高性能的多维数组对象以及相关的计算工具。在ASP和Laravel中,NumPy也有着广泛的应用。本文将以实例为基础,介绍NumPy在ASP和Laravel中的应用案例,帮助读者更好地理解...
    99+
    2023-06-22
    laravel 并发 numy
  • 移动Web离线应用的示例分析
    这篇文章主要介绍了移动Web离线应用的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 先决条件 在本文中,您将使用最新 Web ...
    99+
    2024-04-02
  • HTML标签和属性应用实例分析
    本篇内容主要讲解“HTML标签和属性应用实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML标签和属性应用实例分析”吧!HTML的主体结构HTML 页...
    99+
    2024-04-02
  • Golang在数据分析和可视化的应用示例
    go广泛用于数据分析和可视化。示例包括:基础设施监控:使用go和telegraf、prometheus构建监控应用程序。机器学习:利用go和tensorflow或pytorch构建和训练...
    99+
    2024-05-12
    可视化 数据分析 git golang 可视化数据
  • Python的进程,线程和协程实例分析
    这篇“Python的进程,线程和协程实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python的进程,线程和协程实例...
    99+
    2023-06-29
  • Node.js中的多进程和多线程实例分析
    本篇内容主要讲解“Node.js中的多进程和多线程实例分析”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Node.js中的多进程和多线程实例分析”吧!我们都知道...
    99+
    2024-04-02
  • 在Java应用中使用Hibernate的示例分析
    这篇文章给大家介绍在Java应用中使用Hibernate的示例分析,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。一、在Java应用中使用Hibernate的步骤创建Hibernate的配置文件创建持久化类创建对象-关系...
    99+
    2023-06-17
  • JavaScript单线程和任务队列使用实例分析
    这篇文章主要介绍“JavaScript单线程和任务队列使用实例分析”,在日常操作中,相信很多人在JavaScript单线程和任务队列使用实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScrip...
    99+
    2023-06-20
  • Springmvc应用Mongodb分页实现的示例分析
    这篇文章将为大家详细讲解有关Springmvc应用Mongodb分页实现的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。对于web应用来说分页显示数据是是最基本的功能,作为经常开发web应用的程序...
    99+
    2023-05-30
    springmvc mongodb
  • Spring在SingleTon模式下的线程安全实例分析
    这篇“Spring在SingleTon模式下的线程安全实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring在S...
    99+
    2023-06-26
  • C语言指针和数组应用实例分析
    这篇文章主要介绍“C语言指针和数组应用实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C语言指针和数组应用实例分析”文章能帮助大家解决问题。一、指针和数组分析-上1.数组的本质数组是一段连续的...
    99+
    2023-06-30
  • Android Handler主线程和一般线程通信的应用分析
    Handler的定义:主要接受子线程发送的数据, 并用此数据配合主线程更新UI.解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管...
    99+
    2022-06-06
    handler 通信 线程 Android
  • C#线程的创建和生命周期实例分析
    本篇内容介绍了“C#线程的创建和生命周期实例分析”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1,获取当前线程信息Thread.Curren...
    99+
    2023-06-29
  • 递归在 C++ 中的实战应用:图像处理和数据分析案例
    递归在 c++++ 中广泛应用,包括:图像处理:图像缩小通过递归将图像划分为更小的部分并重复调用缩小操作。数据分析:归并排序:通过递归将数组拆分为更小的子数组并合并已排序的子数组来实现。...
    99+
    2024-05-04
    c++ 递归
  • 容器在编程中的优缺点分析及应用实例。
    容器在编程中的优缺点分析及应用实例 随着计算机科学的不断发展,编程语言和技术也在不断进步。在编写程序的过程中,容器已经成为了一个非常重要的概念。容器是一种轻量级的虚拟化技术,它可以在同一台物理机器上运行多个应用程序,并且在运行时保证应用程序...
    99+
    2023-06-01
    leetcode 编程算法 容器
  • 如何分析Python多线程在爬虫中的应用
    本篇文章为大家展示了如何分析Python多线程在爬虫中的应用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。作为测试工程师经常需要解决测试数据来源的问题,解决思路无非是三种:直接从生产环境拷贝真实数据...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作