目录

  • 目的
  • 克隆前准备
  • db 预克隆
  • app 预克隆
  • db 克隆
  • app 克隆
  • 克隆后
  • 问题解决

目的

本文详细描述了将EBS生产环境PROD克隆到SIT测试环境的全步骤。

EBS版本 操作系统 原系统HOST 原系统IP 目标系统HOST 目标系统IP
R12.2.7 Oracle Linux 7.4 myebsprod 192.168.15.10 myebssit 192.168.20.10

另外需要说明的是,准备的目标系统,需要注意规划的应用所在目录挂载时建议小于1T,避免应用克隆时出现问题,具体原因可见文章最后的问题解决部分。

克隆前准备

克隆前,需要对目标服务器进行以下准备工作:
(1)修改 host

[root@localhost ~]# vi /etc/hosts

添加内容

192.168.20.18 myebssit.mylinux.com myebssit

(2)修改 hostname

[root@localhost ~]# hostnamectl set-hostname myebssit

(3)创建用户组、用户

[root@ myebssit ~]# groupadd dba
[root@ myebssit ~]# useradd -g dba -d /home/orasit -m orasit
[root@ myebssit ~]# useradd -g dba -d /home/applsit -m applsit

设置密码,可暂时设置为用户名

[root@myebssit ~]# echo "orasit" | passwd orasit --stdin
[root@myebssit ~]# echo "applsit" | passwd applsit --stdin

(4)创建目录
先在源端判断 app 运行的实例,执行 echo $RUN_BASE,根据结果是 fs1 还是 fs2 来创建对应文件夹

mkdir -p /u01/sit
mkdir -p /u01/sit/db
mkdir -p /u01/sit/temp
mkdir -p /u01/sit/oraInventory
mkdir -p /u01/sit/app/fs2(需确认fs1还是fs2)
chmod 777 /u01/sit/temp
chmod 777 /u01/sit/oraInventorychown -R orasit:dba /u01/sit/db
chown -R orasit:dba /u01/sit/oraInventory
chown -R orasit:dba /u01/sit/temp
chown -R applsit:dba /u01/sit/app

(5)安装依赖包
下载 repo 文件

[root@myebssit ~]# cd /etc/yum.repos.d
[root@myebssit yum.repos.d]# wget http://public-yum.oracle.com/public-yum-ol7.repo

public-yum-ol7.repo 的内容替换为:

[ol7_latest]
name=Oracle Linux $releasever Latest ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=0
enabled=1[ol7_u0_base]
name=Oracle Linux $releasever GA installation media copy ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/0/base/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_u1_base]
name=Oracle Linux $releasever Update 1 installation media copy ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/1/base/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_u2_base]
name=Oracle Linux $releasever Update 2 installation media copy ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/2/base/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_u3_base]
name=Oracle Linux $releasever Update 3 installation media copy ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/3/base/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_u4_base]
name=Oracle Linux $releasever Update 4 installation media copy ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/4/base/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=0
enabled=1[ol7_UEKR4]
name=Latest Unbreakable Enterprise Kernel Release 4 for Oracle Linux $releasever ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/UEKR4/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=0
enabled=1[ol7_UEKR3]
name=Latest Unbreakable Enterprise Kernel Release 3 for Oracle Linux $releasever ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/UEKR3/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_optional_latest]
name=Oracle Linux $releasever Optional Latest ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/optional/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=0
enabled=1[ol7_addons]
name=Oracle Linux $releasever Add ons ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/addons/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=0
enabled=1[ol7_UEKR3_OFED20]
name=OFED supporting tool packages for Unbreakable Enterprise Kernel on Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/UEKR3_OFED20/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0
priority=20[ol7_UEKR4_OFED]
name=OFED supporting tool packages for Unbreakable Enterprise Kernel Release 4 on Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/UEKR4/OFED/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0
priority=20[ol7_MySQL57]
name=MySQL 5.7 for Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/MySQL57_community/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_MySQL56]
name=MySQL 5.6 for Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/MySQL56/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_MySQL55]
name=MySQL 5.5 for Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/MySQL55/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_openstack30]
name=OpenStack 3.0 packages for Oracle Linux 7 (x86_64)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/openstack30/x86_64/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_openstack_extras]
name=OpenStack 3.0 Extra packages for Oracle Linux 7 (x86_64)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/openstack_extras/x86_64/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_openstack21]
name=OpenStack 2.1 packages for Oracle Linux 7 (x86_64)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/openstack21/x86_64/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
priority=20
enabled=0[ol7_openstack20]
name=OpenStack 2.0 packages for Oracle Linux 7 (x86_64)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/openstack20/x86_64/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
priority=20
enabled=0[ol7_ceph]
name=Ceph Storage for Oracle Linux Release 2.0 - Oracle Linux 7.2 or later ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/ceph/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_ceph10]
name=Ceph Storage for Oracle Linux Release 1.0 - Oracle Linux 7.1 or later ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/ceph10/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_software_collections]
name=Software Collection Library release 2.3 packages for Oracle Linux 7 (x86_64)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/SoftwareCollections/x86_64/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_spacewalk24_server]
name=Spacewalk Server 2.4 for Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/spacewalk24/server/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_spacewalk24_client]
name=Spacewalk Client 2.4 for Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/spacewalk24/client/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_spacewalk26_server]
name=Spacewalk Server 2.6 for Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/spacewalk26/server/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_spacewalk26_client]
name=Spacewalk Client 2.6 for Oracle Linux 7 ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/spacewalk26/client/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=0[ol7_MODRHCK]
name=Latest RHCK with fixes from Oracle for Oracle Linux $releasever ($basearch)
baseurl=http://yum.oracle.com/repo/OracleLinux/OL7/MODRHCK/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
priority=20
enabled=0

开始安装

yum install oracle-ebs-server-R12-preinstall -y

再单独安装下 openmotif21 ,否则打开form会提示错误

yum install -y openmotif21

安装后执行

ldconfig –v

(6)修改内核设置
在 /etc/sysctl.conf中添加内容,在安装 oracle-ebs-server-R12-preinstall 后,会自动进行该配置,无需修改

# oracle-ebs-server-R12-preinstall setting for fs.file-max is 6815744
fs.file-max = 6815744
# oracle-ebs-server-R12-preinstall setting for kernel.sem is '256 32000 100 142'
kernel.sem = 256 32000 100 142
# oracle-ebs-server-R12-preinstall setting for kernel.shmmni is 4096
kernel.shmmni = 4096
# oracle-ebs-server-R12-preinstall setting for kernel.shmall is 1073741824 on x86_64
# oracle-ebs-server-R12-preinstall setting for kernel.shmall is 2097152 on i386
kernel.shmall = 1073741824
# oracle-ebs-server-R12-preinstall setting for kernel.shmmax is 4398046511104 on x86_64
# oracle-ebs-server-R12-preinstall setting for kernel.shmmax is 4294967295 on i386
kernel.shmmax = 4398046511104
# oracle-ebs-server-R12-preinstall setting for kernel.msgmni is 2878
kernel.msgmni = 2878
# oracle-ebs-server-R12-preinstall setting for net.core.rmem_default is 262144
net.core.rmem_default = 262144
# oracle-ebs-server-R12-preinstall setting for net.core.rmem_max is 4194304
net.core.rmem_max = 4194304
# oracle-ebs-server-R12-preinstall setting for net.core.wmem_default is 262144
net.core.wmem_default = 262144
# oracle-ebs-server-R12-preinstall setting for net.core.wmem_max is 1048576
net.core.wmem_max = 1048576
# oracle-ebs-server-R12-preinstall setting for fs.aio-max-nr is 1048576
fs.aio-max-nr = 1048576
# oracle-ebs-server-R12-preinstall setting for net.ipv4.ip_local_port_range is 9000 65500
net.ipv4.ip_local_port_range = 9000 65500

如果需要修改,那修改完成后运行命令,使配置生效

/sbin/sysctl -p

(7)修改DNS解析参数
/etc/resolv.conf 文件中添加内容,在安装 oracle-ebs-server-R12-preinstall 后,会自动进行该配置,重启后无效:

#oracle-ebs-server-R12-preinstall setting for attempts is 5
options attempts:5#oracle-ebs-server-R12-preinstall setting for timeout is 15
options timeout:15

(8)修改资源限制
修改 /etc/security/limits.conf 文件,添加下面内容

@dba hard nofile 131072
@dba soft nofile 131072
@dba hard nproc 131072
@dba soft nproc 131072
@dba hard stack 16384
@dba soft stack 10240

(9)关闭防火墙和SELINUX

##关闭防火墙
systemctl stop firewalld
##关闭开机启动
systemctl disable firewalld
##查看防火墙状态
systemctl status firewalld
##修改/etc/selinux/config文件,其中的SELINUX=enforcing 修改为SELINUX=disabled
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
##即时关闭selinux
setenforce 0
##获取selinux状态
getenforce

(10)编辑 /etc/oraInst.loc,若不存在则新添文件,修改内容为:

inventory_loc=/u01/sit/oraInventory
inst_group=dba

db 预克隆

在源端的 oracle 用户下操作

[oraprod@myebsprod] cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
[oraprod@myebsprod] perl adpreclone.pl dbTier

根据提示,输入 apps 密码,等执行完后,交互参考:

[oraprod@myebsprod ~]$ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
[oraprod@myebsprod PROD_myebsprod]$ perl adpreclone.pl dbTierCopyright (c) 2011, 2014 Oracle CorporationRedwood Shores, California, USAOracle E-Business Suite Rapid CloneVersion 12.2adpreclone Version 120.31.12020000.22Enter the APPS User Password:  --> 输入APPS密码
Verifying if Database Patch checker (ETCC) exists in /data/prod/db/12.1.0/appsutil/etccRunning:
perl /data/prod/db/12.1.0/appsutil/bin/adclone.pl java=/data/prod/db/12.1.0/appsutil/jre mode=stage                                                                                                         stage=/data/prod/db/12.1.0/appsutil/clone component=dbTier method=CUSTOM dbctx=/data/prod/db/12.1.                                                                                                        0/appsutil/PROD_myebsprod.xml showProgressBeginning database tier Stage - Wed Apr 20 16:11:02 2022/data/prod/db/12.1.0/appsutil/jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=false -Doracle.installer.ou                                                                                                        i_loc=/data/prod/db/12.1.0/oui -classpath /data/prod/db/12.1.0/lib/xmlparserv2.jar:/data/prod/db/12                                                                                                        .1.0/jdbc/lib/ojdbc6.jar:/data/prod/db/12.1.0/appsutil/java:/data/prod/db/12.1.0/oui/jlib/OraInstal                                                                                                        ler.jar:/data/prod/db/12.1.0/oui/jlib/ewt3.jar:/data/prod/db/12.1.0/oui/jlib/share.jar:/data/prod/d                                                                                                        b/12.1.0/oui/jlib/srvm.jar:/data/prod/db/12.1.0/jlib/ojmisc.jar   oracle.apps.ad.clone.StageDBTier                                                                                                         -e /data/prod/db/12.1.0/appsutil/PROD_myebsprod.xml -stage /data/prod/db/12.1.0/appsutil/clone -tmp /tm                                                                                                        p -method CUSTOM    -showProgress
APPS Password :
Log file located at /data/prod/db/12.1.0/appsutil/log/PROD_myebsprod/StageDBTier_04201611.log/      0% completedCompleted Stage...
Wed Apr 20 16:11:25 2022

将 cd $ORACLE_HOME/…/下的12.1.0 完整拷贝至目标目录 /u01/sit/db 下(data文件夹不用拷贝,通过rman来克隆数据库)
从源系统传文件至目标系统,nohup后台运行

--step1.源系统压缩,后台运行,等job完成
[oraprod@myebsprod ~]$ cd $ORACLE_HOME/..
[oraprod@myebsprod db] nohup tar czf /data/backup/db/12.1.0_20220420.tgz 12.1.0 &
[oraprod@myebsprod db]$ jobs
[1]+  Running                 nohup tar czf /data/backup/db/12.1.0_20220420.tgz 12.1.0 &
--step2.目标系统从源系统下载
[root@myebssit opt]# scp oraprod@192.168.15.10:/data/backup/db/12.1.0_20220420.tgz /opt
--step3.解压
[root@myebssit ~]# cd /u01/sit/db
[root@myebssit db]# nohup tar xzf /opt/12.1.0_20220420.tgz &
[root@myebssit db]# jobs
[1]+  Running                 nohup tar xzf /opt/12.1.0_20220420.tgz &
step4.等待解压完成后,修改权限
[root@myebssit db]# cd /u01/sit/db
[root@myebssit db]# chown -Rh orasit:dba 12.1.0

数据库备份

我使用的0级和1级备份脚本如下:
db_rman_0_bak.sh

#0级备份
#!/bin/bash
source ~/.bash_profile
rman target / log=/data/backup/db/rman_0_bak/full_`date +%F-%T`.log <<eof
run{
sql 'alter system archive log current';allocate channel ch1 type disk;allocate channel ch2 type disk;backup as compressed backupset incremental level 0 database format '/data/backup/db/rman_0_bak/db0_%d_%T_%U.bak' plus archivelog format '/data/backup/db/rman_0_bak/arch_%d_%T_%U.bak' delete all input;backup current controlfile  format '/data/backup/db/rman_0_bak/cntrl_%d_%T_%U.bak';release channel ch1;release channel ch2;
}
eof

db_rman_1_bak.sh

#1级备份脚本#!/bin/sh
source ~/.bash_profile
rman target / log=/data/backup/db/rman_1_bak/full_`date +%F-%T`.log <<eof
run{
sql 'alter system archive log current';  allocate channel ch1 type disk;allocate channel ch2 type disk;backup as compressed backupset incremental level 1 cumulative database format '/data/backup/db/rman_1_bak/db1_%d_%T_%U.bak' plus archivelog format '/data/backup/db/rman_1_bak/arch_%d_%T_%U.bak' delete all input;backup current controlfile  format '/data/backup/db/rman_1_bak/cntrl_%d_%T_%U.bak';release channel ch1;release channel ch2;
}
eof

可以设置定时任务,每天跑一次。
这次克隆,我们只需要0级备份的文件即可,从备份脚本,定位到备份文件路径在 /data/backup/db/rman_0_bak
在目标端执行以下脚本,下载0级备份相关文件至目标环境,可以按日期筛选,这里我下载至 /opt/stage

[root@hsebssit ~]$ cd /opt/stage
[root@hsebssit stage]$ scp oraprod@192.168.15.10:/data/backup/db/rman_0_bak/*20220420*.* /opt/stage
## 修改备份文件的拥有者
[root@hsebssit stage]$ chown -R orasit:dba /opt/stage/*20220420*.*

app 预克隆

在源端的应用用户下,运行 adpreclone.pl 进行预克隆,交互参考如下:

[applprod@myebsprod ~]$ cd $ADMIN_SCRIPTS_HOME
[applprod@myebsprod scripts]$ perl adpreclone.pl appsTierCopyright (c) 2011, 2014 Oracle CorporationRedwood Shores, California, USAOracle E-Business Suite Rapid CloneVersion 12.2adpreclone Version 120.31.12020000.22Enter the APPS User Password: --> 输入apps密码
Enter the Weblogic AdminServer password : --> 输入weblogic密码Checking the status of the Oracle WebLogic Administration Server....Running perl /home/prod/app/fs2/EBSapps/appl/ad/12.0.0/patch/115/bin/adProvisionEBS.pl ebs-get-serverstatus -contextfile=/home/prod/app/fs2/inst/apps/PROD_myebsprod/appl/admin/PROD_myebsprod.xml -servername=AdminServer -promptmsg=hideThe Oracle WebLogic Administration Server is up.Running:
perl /home/prod/app/fs2/EBSapps/appl/ad/12.0.0/bin/adclone.pl java=/home/prod/app/fs2/EBSapps/comn/util/jdk64 mode=stage stage=/home/prod/app/fs2/EBSapps/comn/clone component=appsTier method= appctx=/home/prod/app/fs2/inst/apps/PROD_myebsprod/appl/admin/PROD_myebsprod.xml showProgressSetting the wls environmentBeginning application tier Stage - Wed Apr 20 16:29:08 2022/home/prod/app/fs2/EBSapps/comn/util/jdk64/bin/java -Xmx600M -DCONTEXT_VALIDATED=false -Doracle.installer.oui_loc=/oui -classpath /home/prod/app/fs2/FMW_Home/webtier/lib/xmlparserv2.jar:/home/prod/app/fs2/FMW_Home/webtier/jdbc/lib/ojdbc6.jar:/home/prod/app/fs2/EBSapps/comn/java/classes:/home/prod/app/fs2/FMW_Home/webtier/oui/jlib/OraInstaller.jar:/home/prod/app/fs2/FMW_Home/webtier/oui/jlib/ewt3.jar:/home/prod/app/fs2/FMW_Home/webtier/oui/jlib/share.jar:/home/prod/app/fs2/FMW_Home/webtier/../Oracle_EBS-app1/oui/jlib/srvm.jar:/home/prod/app/fs2/FMW_Home/webtier/jlib/ojmisc.jar:/home/prod/app/fs2/FMW_Home/wlserver_10.3/server/lib/weblogic.jar:/home/prod/app/fs2/FMW_Home/oracle_common/jlib/obfuscatepassword.jar  oracle.apps.ad.clone.StageAppsTier -e /home/prod/app/fs2/inst/apps/PROD_myebsprod/appl/admin/PROD_myebsprod.xml -stage /home/prod/app/fs2/EBSapps/comn/clone -tmp /tmp -method CUSTOM   -showProgress -nopromptmsgLog file located at /home/prod/app/fs2/inst/apps/PROD_myebsprod/admin/log/clone/StageAppsTier_04201629.log|     20% completedCompleted Stage...

打包RUN File System下的EBSapps目录,可通过 $RUN_BASE 确定路径,即打包 $RUN_BASE/EBSapps

[applprod@myebsprod ~]$ cd $RUN_BASE
[applprod@myebsprod fs2]$ ll
total 8
drwxr-xr-x.  5 applprod dba    44 Aug 13  2018 EBSapps
drwxr-x---  11 applprod dba  4096 Aug 13  2018 FMW_Home
drwxr-xr-x.  3 applprod dba    18 May  6  2018 inst
[applprod@myebsprod fs2] nohup tar czf /data/backup/app/EBSapps_20220420.tgz EBSapps &
[applprod@myebsprod fs2]$ jobs
[1]+  Running                 nohup tar czf /data/backup/app/EBSapps_20220420.tgz EBSapps &

目标系统下载并解压

--目标系统从源系统下载
[root@myebssit db]# scp applprod@192.168.15.10:/data/backup/app/EBSapps_20220420.tgz /opt
--解压
[root@myebssit app]# cd /u01/sit/app/fs2
[root@myebssit fs2]# nohup tar xzf /opt/EBSapps_20220420.tgz &
[root@myebssit fs2]# jobs
[1]+  Running                 nohup tar xzf /opt/EBSapps_20220420.tgz &
--等待解压完成后,修改权限
[root@myebssit fs2]# cd /u01/sit/app/fs2
[root@myebssit fs2]# chown -Rh applsit:dba EBSapps

db 克隆

在目标系统的数据库用户下,执行命令 perl adcfgclone.pl dbTechStack,交互参考如下:

[orasit@myebspsit ~]$ cd /u01/sit/db/12.1.0/appsutil/clone/bin
[orasit@myebspsit bin]$ perl adcfgclone.pl dbTechStackCopyright (c) 2002, 2015 Oracle CorporationRedwood Shores, California, USAOracle E-Business Suite Rapid CloneVersion 12.2adcfgclone Version 120.63.12020000.60Enter the APPS password : -> APPS密码Running: Context clone...Log file located at /u01/sit/db/12.1.0/appsutil/clone/bin/CloneContext_0421090750.logProvide the values required for creation of the new Database Context file.Target System Hostname (virtual or normal) [myebspsit] : -> 输入hostnameTarget Instance is RAC (y/n) [n] : -> 是否RACTarget System Database SID : SIT –> 数据库SIDTarget System Base Directory : /u01/sit/db -> db层根目录Role separation is supported y/n [n] ? :Target System utl_file_dir Directory List : /u01/sit/temp -> utl_file_dir目录Number of DATA_TOP's on the Target System [1] :Target System DATA_TOP Directory 1 [/u01/sit/db/data] : -> 默认即可Target System RDBMS ORACLE_HOME Directory [/u01/sit/db/12.1.0] : -> 默认即可Do you want to preserve the Display [hserp:0.0] (y/n)  : n -> NTarget System Display [myebspsit:0.0] : -> 默认Do you want the target system to have the same port values as the source system (y/n) [y] ? : --> 端口池,如果没有特别要求,默认即可
Validating if the source port numbers are available on the target system..
Complete port information available at /u01/sit/db/12.1.0/appsutil/clone/bin/out/SIT_myebspsit/portpool.lst
The new database context file has been created :/u01/sit/db/12.1.0/appsutil/SIT_myebspsit.xml
Check Clone Context logfile /u01/sit/db/12.1.0/appsutil/clone/bin/CloneContext_0421090750.log for details.Running Rapid Clone with command:Running:
perl /u01/sit/db/12.1.0/appsutil/clone/bin/adclone.pl java=/u01/sit/db/12.1.0/appsutil/clone/bin/../jre mode=apply stage=/u01/sit/db/12.1.0/appsutil/clone component=dbTechStack method=CUSTOM dbctxtg=/u01/sit/db/12.1.0/appsutil/SIT_myebspsit.xml showProgress contextValidated=trueBeginning rdbms home Apply - Thu Apr 21 09:09:44 2022/u01/sit/db/12.1.0/appsutil/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true -Doracle.installer.oui_loc=/u01/sit/db/12.1.0/oui -classpath /u01/sit/db/12.1.0/appsutil/clone/jlib/xmlparserv2.jar:/u01/sit/db/12.1.0/appsutil/clone/jlib/ojdbc6.jar:/u01/sit/db/12.1.0/appsutil/clone/jlib/java:/u01/sit/db/12.1.0/appsutil/clone/jlib/oui/OraInstaller.jar:/u01/sit/db/12.1.0/appsutil/clone/jlib/oui/ewt3.jar:/u01/sit/db/12.1.0/appsutil/clone/jlib/oui/share.jar:/u01/sit/db/12.1.0/appsutil/clone/jlib/oui/srvm.jar:/u01/sit/db/12.1.0/appsutil/clone/jlib/ojmisc.jar   oracle.apps.ad.clone.ApplyDBTechStack -e /u01/sit/db/12.1.0/appsutil/SIT_myebspsit.xml -stage /u01/sit/db/12.1.0/appsutil/clone   -showProgress
APPS Password : Log file located at /u01/sit/db/12.1.0/appsutil/log/SIT_myebspsit/ApplyDBTechStack_04210909.log\      0% completedCompleted Apply...
Thu Apr 21 09:12:18 2022Starting database listener for SIT:
Running:
/u01/sit/db/12.1.0/appsutil/scripts/SIT_myebspsit/addlnctl.sh start SIT
Logfile: /u01/sit/db/12.1.0/appsutil/log/SIT_myebspsit/addlnctl.txtYou are running addlnctl.sh version 120.4Starting listener process SIT ...LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 21-APR-2022 09:12:18Copyright (c) 1991, 2014, Oracle.  All rights reserved.Starting /u01/sit/db/12.1.0/bin/tnslsnr: please wait...TNSLSNR for Linux: Version 12.1.0.2.0 - Production
System parameter file is /u01/sit/db/12.1.0/network/admin/SIT_myebspsit/listener.ora
Log messages written to /u01/sit/db/12.1.0/admin/SIT_myebspsit/diag/tnslsnr/myebspsit/sit/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myebspsit.mylinux.com)(PORT=1521)))Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=myebspsit.mylinux.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     SIT
Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date                21-APR-2022 09:12:19
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/sit/db/12.1.0/network/admin/SIT_myebspsit/listener.ora
Listener Log File         /u01/sit/db/12.1.0/admin/SIT_myebspsit/diag/tnslsnr/myebspsit/sit/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=myebspsit.mylinux.com)(PORT=1521)))
Services Summary...
Service "SIT" has 1 instance(s).Instance "SIT", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfullyaddlnctl.sh: exiting with status 0addlnctl.sh: check the logfile /u01/sit/db/12.1.0/appsutil/log/SIT_myebspsit/addlnctl.txt for more information ...Running ETCC to check status of DB technology patches...+===============================================================+|    Copyright (c) 2005, 2017 Oracle and/or its affiliates.     ||                     All rights reserved.                      ||             Oracle E-Business Suite Release 12.2              ||          Database EBS Technology Codelevel Checker            |+===============================================================+Using context file from command line argument:
/u01/sit/db/12.1.0/appsutil/SIT_myebspsit.xmlStarting Database EBS Technology Codelevel Checker, Version 120.55
Thu Apr 21 09:12:58 CST 2022
Log file for this session : /u01/sit/db/12.1.0/appsutil/etcc/checkDBpatch_45328.logBugfix XML file version: 120.0.12020000.39
This file will be used for identifying missing bugfixes.Mapping XML file version: 120.0.12020000.12
This file will be used for mapping bugfixes to patches.[WARNING] DB-ETCC: Bugfix XML file (/u01/sit/db/12.1.0/appsutil/etcc/txk_R1220_DB_base_bugs.xml) in current directory is more than 30 days old.Check if a newer version is available in patch 17537119.Identifying database release.
Database release set to 12.1.0.2.Connecting to database.+-----------------------------------------------------------------------------+
[WARNING] DB-ETCC: Could not connect to database, so unable to check:- Whether database is in READ-WRITE mode.- Existence of table needed to store DB-ETCC results.- Enablement of database In-Memory option.If this feature is enabled, additional fixes need to be verified.Resolve the database connectivity issue, and then rerun DB-ETCC.
+-----------------------------------------------------------------------------+Checking Bugfix XML file for 12.1.0.2_PSUObtained list of bugfixes to be applied and the list to be rolled back.
Now checking Database ORACLE_HOME.The opatch utility is version 12.2.0.1.11.
DB-ETCC is compatible with this opatch version.Found patch records in the inventory.Checking Mapping XML file for 12.1.0.2.171017All the required one-off bugfixes are present in Database ORACLE_HOME.[WARNING] Database not available. DB-ETCC results cannot be stored.Finished checking fixes for Oracle Database: Thu Apr 21 09:13:14 CST 2022Log file for this session: /u01/sit/db/12.1.0/appsutil/etcc/checkDBpatch_45328.log===============================================================================

修改 .bash_profile,在最后添加 . /u01/sit/db/12.1.0/SIT_myebssit.env ,加载环境变量,退出重新登录,或者手工加载 source ~/.bash_profile

# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/binexport PATH. /u01/sit/db/12.1.0/SIT_myebssit.env

创建 startdb.sh,注意修改 ORACLE_SID

export ORACLE_SID=SIT
lsnrctl start $ORACLE_SID
sqlplus /nolog <<EOF
conn /as sysdba
startup
exit
EOF

创建 stopdb.sh,注意修改 ORACLE_SID

export ORACLE_SID=SIT
lsnrctl stop $ORACLE_SID
sqlplus /nolog <<EOF
conn /as sysdba
shutdown immediate
exit
EOF

修改脚本权限

[orasit@myebssit ~]$ chmod +x startdb.sh stopdb.sh

数据库恢复
重新登录数据用户,加载环境变量
修改 $ORACLE_HOME/dbs/initSIT.ora ,添加以下内容,根据实际情况填写,分别是源系统和目标系统的data目录

db_file_name_convert='/data/prod/db/data','/u01/sit/db/data'
log_file_name_convert='/data/prod/db/data','/u01/sit/db/data'

nomount 启动数据库

[orasit@myebssit ~]$ sqlplus / as sysdbaSQL*Plus: Release 12.1.0.2.0 Production on Thu Apr 21 09:53:30 2022Copyright (c) 1982, 2014, Oracle.  All rights reserved.Connected to an idle instance.SQL> startup nomount                    -->nomount 启动数据库
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.Total System Global Area 2147483648 bytes
Fixed Size                  3712904 bytes
Variable Size             486541432 bytes
Database Buffers         1644167168 bytes
Redo Buffers               13062144 bytes
SQL> show parameter convert             -–>显示参数,确保修改initSIT.ora 正确NAME                                 TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
db_file_name_convert                 string
/data/prod/db/data, /u01/sit/d
b/data
log_file_name_convert                string
/data/prod/db/data, /u01/sit/d
b/data
pdb_file_name_convert                stringSQL> quit
Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

新增脚本 dup.sh,内容如下,注意下最后语句中标红语句,确保正确,其中 /opt/stage 里存放0级备份相关文件,注意确认文件的拥有者是否是 orasit
DUPLICATE DATABASE TO 'SIT' BACKUP LOCATION '/opt/stage' NOFILENAMECHECK,注意最后语句中的 SIT 为目标数据库名称,/opt/stage 为存放0级备份文件的路径,注意备份文件的拥有者是否是数据库用户,若不是,则修改文件拥有者 chown -R orasit:dba /opt/stage/*20220420*.*(若需执行chown,需要切至root,然后记得切换回来)

rman auxiliary / <<EOF
run{
ALLOCATE AUXILIARY CHANNEL aux1 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux2 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux3 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux4 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux5 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux6 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux7 DEVICE TYPE DISK;
ALLOCATE AUXILIARY CHANNEL aux8 DEVICE TYPE DISK;
DUPLICATE DATABASE TO 'SIT' BACKUP LOCATION '/opt/stage' NOFILENAMECHECK;
}

赋予脚本执行权限

[orasit@myebssit ~]$ chmod +x dup.sh

后台运行,会在执行目录下,自动生成文件 nohup.log

[orasit@myebssit ~]$ nohup ./dup.sh &

运行进度可以通过 tail –f nohup.log,查看运行日志,或者切换至 /u01/sit/db/data,查看数据库文件是否生成来确定

[orasit@myebssit ~]$ tail -f nohup.out

数据库恢复耗时较长,等待完成后,将数据库 mount 启动,另外一般还需要做一些清除动作,比如dblink,应用节点等

sqlplus / as sysdba
shutdown immediate –先关闭
startup mount –在mount启动
alter database noarchivelog;
alter database open;--必要的步骤
conn apps/apps
--删除 db link
..
--清除应用节点信息
SELECT node_name FROM fnd_nodes; --查看结果,应该显示的正式环境--清除后提交
exec fnd_conc_clone.setup_clean;
commit;
SELECT node_name FROM fnd_nodes; --再次查看结果,应清空,后面运行 adautocfg.sh 时,会自动新增记录

启用监听,一般在前面执行 perl adcfgclone.pl dbTechStack 时,会自动启用了,可用 lsnrctl status 查看状态,如果未启用,则启用

cd $ORACLE_HOME/bin
lsnrctl start

运行 adautocfg.sh,交互参考如下:

[orasit@myebssit ~]$ cd $ORACLE_HOME/appsutil/scripts/$CONTEXT_NAME
[orasit@myebssit SIT_myebssit]$ adautocfg.sh
Enter the APPS user password:
The log file for this session is located at: /u01/sit/db/12.1.0/appsutil/log/SIT_myebssit/04211337/adconfig.logAutoConfig is configuring the Database environment...AutoConfig will consider the custom templates if present.Using ORACLE_HOME location : /u01/sit/db/12.1.0Classpath                   : :/u01/sit/db/12.1.0/jdbc/lib/ojdbc6.jar:/u01/sit/db/12.1.0/appsutil/java/xmlparserv2.jar:/u01/sit/db/12.1.0/appsutil/java:/u01/sit/db/12.1.0/jlib/netcfg.jar:/u01/sit/db/12.1.0/jlib/ldapjclnt12.jarUsing Context file          : /u01/sit/db/12.1.0/appsutil/SIT_myebssit.xmlContext Value Management will now update the Context fileUpdating Context file...COMPLETEDAttempting upload of Context file and templates to database...COMPLETEDUpdating rdbms version in Context file to db121
Updating rdbms type in Context file to 64 bits
Configuring templates from ORACLE_HOME ...AutoConfig completed successfully.

运行成功后,再次查找 SELECT * FROM fnd_nodes,会有新的节点信息生成。

app 克隆

目标端登录应用用户,设置环境变量 export CONFIG_JVM_ARGS="-Xmx2048m -Xms1024m",并运行命令 perl adcfgclone.pl appsTier dualfs,交互参考如下:

[applsit@myebssit ~]$ export CONFIG_JVM_ARGS="-Xmx2048m -Xms1024m"
[applsit@myebssit ~]$ cd /u01/sit/app/fs2/EBSapps/comn/clone/bin/
[applsit@myebssit bin]$ perl adcfgclone.pl appsTier dualfsCopyright (c) 2002, 2015 Oracle CorporationRedwood Shores, California, USAOracle E-Business Suite Rapid CloneVersion 12.2adcfgclone Version 120.63.12020000.60Enter the APPS password : ->输入apps密码Enter the Weblogic AdminServer password : ->输入weblogic密码Do you want to add a node (yes/no) [no] :Running: Context clone...Log file located at /u01/sit/app/fs2/EBSapps/comn/clone/bin/CloneContext_0429094603.logProvide the values required for creation of the new APPL_TOP Context file.Target System Hostname (virtual or normal) [myebssit] : ->hostnameTarget System Database SID : SIT –> 数据库SIDTarget System Database Server Node [myebssit] : ->默认Target System Database Domain Name [mylinux.com] : ->默认Target System Base Directory : /u01/sit/app  -> 应用根目录Target System Base Directory set to /u01/sit/appTarget System Current File System Base set to /u01/sit/app/fs2Target System Other File System Base set to /u01/sit/app/fs1Target System Fusion Middleware Home set to /u01/sit/app/fs2/FMW_Home
Target System Other File System Fusion Middleware Home set to /u01/sit/app/fs1/FMW_HomeTarget System Web Oracle Home set to /u01/sit/app/fs2/FMW_Home/webtier
Target System Other File System Web Oracle Home set to /u01/sit/app/fs1/FMW_Home/webtierTarget System Appl TOP set to /u01/sit/app/fs2/EBSapps/appl
Target System Other File System Appl TOP set to /u01/sit/app/fs1/EBSapps/applTarget System COMMON TOP set to /u01/sit/app/fs2/EBSapps/comn
Target System Other File System COMMON TOP set to /u01/sit/app/fs1/EBSapps/comnTarget System Instance Home Directory [/u01/sit/app] :Target System Current File System Instance Top set to /u01/sit/app/fs2/inst/apps/SIT_myebssitDo you want to preserve the Display [hserp:0.0] (y/n)  : nTarget System Display [myebssit:0.0] :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 the target system to have the same port values as the source system (y/n) [y] ? :
Validating if the source port numbers are available on the target system..
Complete port information available at /u01/sit/app/fs2/EBSapps/comn/clone/bin/out/SIT_myebssit/portpool.lstUTL_FILE_DIR on database tier consists of the following directories.1. /usr/tmp
2. /u01/sit/temp
3. /u01/sit/db/12.1.0/appsutil/outbound/SIT_myebssit
4. /usr/tmp
Choose a value which will be set as APPLPTMP value on the target node [1] : 2
The new APPL_TOP context file has been created :/u01/sit/app/fs2/inst/apps/SIT_myebssit/appl/admin/SIT_myebssit.xml
Check Clone Context logfile /u01/sit/app/fs2/EBSapps/comn/clone/bin/CloneContext_0429094603.log for details.Creating Patch file system context file.....Log file located at /u01/sit/app/fs2/EBSapps/comn/clone/bin/CloneContextPatch_0429094628.logTarget System Other File System Instance Top set to /u01/sit/app/fs1/inst/apps/SIT_myebssit
Validating if the source port numbers are available on the target system..
Complete port information available at /u01/sit/app/fs2/EBSapps/comn/clone/bin/out/SIT_myebssit/portpool.lst
The new APPL_TOP context file has been created :/u01/sit/app/fs1/inst/apps/SIT_myebssit/appl/admin/SIT_myebssit.xml
Check Clone Context logfile /u01/sit/app/fs2/EBSapps/comn/clone/bin/CloneContextPatch_0429094628.log for details.FMW Pre-requisite check log file location : /u01/sit/app/fs2/EBSapps/comn/clone/FMW/logs/prereqcheck.log
Running: FMW pre-req check...Configuring: Run file system....
LogFile located at /u01/sit/app/fs2/inst/apps/SIT_myebssit/admin/log/clone/run/RCloneApplyAppstier_04290946.logConfiguring: Patch file system....
LogFile located at /u01/sit/app/fs2/inst/apps/SIT_myebssit/admin/log/clone/patch/RCloneApplyAppstier_04291011.logDo you want to startup the Application Services for SIT? (y/n) [n] : nServices not started

修改 .bash_profile ,最后添加 . /u01/sit/app/EBSapps.env run,加载环境变量,退出重新登录,或是手工重新加载 source ~/.bash_profile

# .bash_profile# Get the aliases and functions
if [ -f ~/.bashrc ]; then. ~/.bashrc
fi# User specific environment and startup programsPATH=$PATH:$HOME/.local/bin:$HOME/binexport PATH. /u01/sit/app/EBSapps.env run

设置启停脚本
startapp.sh

$ADMIN_SCRIPTS_HOME/adstrtal.sh apps/apps <<EOF
manager0
EOF

stopapp.sh

$ADMIN_SCRIPTS_HOME/adstpall.sh apps/apps <<EOF
manager0
EOF

修改脚本权限

chmod +x startapp.sh stopapp.sh

克隆后

克隆后,一般还需要进行一些设置
修改配置文件

配置文件 备注
地点名称 SIT 会自动变更,可以再检查下
Java 色彩设计 灰色 改成和正式环境不一致的,另外如果没有生效,可以清除高速缓存

如果用到SOA发布的webservice接口,需要取消部署后重新部署下

如果有使用db_link 和 目录,可以检查下,切换至目标环境对应的目录

SELECT *FROM dba_db_links;
SELECT *FROM dba_directories t;

重启并发管理器

cd $ADMIN_SCRIPTS_HOME/
## 关闭并发管理器
adcmctl.sh stop apps/apps
## 查看进程是否存在
ps -ef | grep FND
## 进程无结果后,再次启动
adcmctl.sh start apps/apps
## 查看并发管理器状态,前面几步执行的时候,也可以执行该命令查看状态
adcmctl.sh status apps/apps

问题解决

  1. inode number 大于 2 ^ 32 时,会导致应用克隆时,可能会出现各种莫名其妙的问题,比如说:
Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

原因:查看资料后,得知,如果分配的空间大于1T,那么 inode_number 可能会大于 2 ^ 32,而 EBS 的应用使用的java是32位的,无法识别 inode_number 大于2 ^ 32 的文件

解决:在搭建目标环境时,建议将应用目录单独挂载,并且磁盘空间小于 1T,一般应用也不需要这么大;另外数据库克隆时,没有限制,可以大于1T。

EBS R12 克隆详细步骤相关推荐

  1. 网吧服务器系统ghost,Ghost网络克隆详细步骤教程(适合网吧使用

    <Ghost网络克隆详细步骤教程(适合网吧使用>由会员分享,可在线阅读,更多相关<Ghost网络克隆详细步骤教程(适合网吧使用(6页珍藏版)>请在人人文库网上搜索. 1.Gho ...

  2. 局域网服务器系统克隆,Ghost局域网克隆详细步骤.doc

    文档介绍: Ghost局域网克隆详细步骤制作网络克隆镜像:将做好的系统盘,直接挂接在网络克隆服务器上,这里需要注意,系统盘必须设置为从盘,网络克隆程序必须安装在网络克隆服务器的主硬盘中.网络克隆服务器 ...

  3. Ghost网络克隆详细步骤教程

    现在很多朋友都想学到网络克隆技术.但是网络上有那么几篇网络克隆的文章,并不是一那么准确.所以BIOS维修网站应网友要求,详细制作了使用步骤. 本文件所用的文件,在文章的尾部可以全部下载. 制作网络克隆 ...

  4. Oracle EBS R12.1.1 应用克隆 - 3

    2.2.clone完成后设置环境变量(如果是覆盖环境,则此步骤不需要操作,因为profile不变) 到owner的home目录   vi   .bash_profile       (aix - .p ...

  5. Oracle EBS R12.1.1 应用克隆 - 2

    二.    APPS应用克隆 2.1  开始克隆关键步骤:  [apploserp@nkgtsoserp01-vlx bin]$ pwd /data01/oracle/rlpd/apps/apps_s ...

  6. EBS R12.2.5 克隆

    实验目的: 从源环境克隆一套环境出来 源环境:mysource 目标环境:mytarget EBS R12.2.5 OS: Oracle Linux7.1 目标环境目录规划: 源环境准备 注意:当前O ...

  7. oracle ebs克隆报错,Oracle EBS R12.1.1 应用克隆 - 2

    二.    APPS应用克隆 2.1  开始克隆关键步骤: [apploserp@nkgtsoserp01-vlx bin]$ pwd /data01/oracle/rlpd/apps/apps_st ...

  8. ebs r12多少钱 实施oracle_如何制定Oracle EBS R12升级检查清单

    [IT168 技术]我应该从哪里开始执行Oracle电子商务套件(E-Business Suite,EBS)R12的升级?如何才能实现最高效的升级? 对于初次执行这个过程的人而言,我们需要在规划阶段理 ...

  9. EBS R12多组织的实现原理

    转载出处:http://blog.csdn.net/pan_tian/article/details/7774715 MOAC的实现原理-VPD技术 MOAC的实现是通过Oracle数据库的VPD(V ...

最新文章

  1. [目录]Linux 核心系统命令目录
  2. 阿里中间件性能挑战赛启动,“开源”赛题独家剖析!
  3. 必填字段的自定义JSF验证器
  4. seo原创的本质在于质量度
  5. SparkStreaming项目(实时统计每个品类被点击的次数)
  6. android theme错误,关于android:您需要在此活动中使用Theme.AppCompat主题(或后代)。 更改为Theme.AppCompat会导致其他错误...
  7. caxa计算机编程,CAXA软件编程实例1
  8. 张恩民谈程序员“三点式” 学习方法
  9. AES200 软件用户手册
  10. 发布宅男神器:视频直播app for Android ----- 万紫千红
  11. ArcGIS earth 1.0 beta体验报告——给我一个按钮我将转动整个地球
  12. 北上广深有哪些比较知名的芯片设计企业
  13. uniapp实现选择商品规格,禁用没有库存的规格
  14. 赋能型生态演化路径与六大竞争制高点——保险科技生态建设
  15. ORA-00600: 内部错误代码, 参数: [19004], [], [], [], [], []
  16. python从入门到实践19章答案
  17. 计算机管理记事本,电脑记事本软件
  18. 斐讯路由器虚拟服务器怎么设置,路由器端口映射如何设置 端口映射有什么用...
  19. 一篇讲autoconf/automake的好文章
  20. 计算机复试面试英语自我介绍,天津师范大学计算机研究生复试面试英语自我介绍...

热门文章

  1. 亚马逊锂电池UN38.3认证测试报告
  2. 在海思芯片上使用GDB远程调试
  3. HE同态加密(Microsoft SEAL) 实例小试
  4. 储能系统数据管理与状态监测平台
  5. python处理xml设置节点值_python:通过增加数字更改xml节点值
  6. 在shell脚本中使用sudo
  7. sw槽钢插件_基于VB.NET的SolidWorks型钢库的二次开发
  8. 【React全家桶】React Hooks
  9. Excel导入长数据末尾变000
  10. 如何为 DWDM Mux Demux 选择光收发器?