10年工作经验,专研网站运维。
全部博文(454)
分类: LINUX
2013-01-07 15:26:19
EBS clone
####################### 准备源系统 #######################
1. 启动所有服务
启动 Database
[root@ebs oracle]# su - oracle
[oracle@ebslouis ~]$ source /home/oracle/.ora
[oracle@ebslouis VIS_ebslouis]$ lsnrctl start
[oracle@ebs ~]$ sqlplus /nolog
SQL> conn /as sysdba
SQL> startup
SQL> quit
启动 Application:
[root@ebs oracle]# source /home/oracle/.app
[root@ebs oracle]#cd $COMMON_TOP/admin/scripts/VIS_ebslouis/
[root@ebs VIS_ebs]# sh adstrtal.sh apps/apps
2. Prepare the Source System
Prepare Database
[root@ebslouis ~]# su - oracle
[oracle@ebs VIS_ebs]$ source /home/oracle/.ora
[oracle@ebs VIS_ebs]$ cd /d01/oracle/visdb/9.2.0/appsutil/scripts/VIS_ebs
[oracle@ebs VIS_ebs]$ perl adpreclone.pl dbTier
Prepare Application
[oracle@ebs VIS_ebs]$ source /home/oracle/.app
[oracle@ebs VIS_ebs]$ cd /d01/oracle/viscomn/admin/scripts/VIS_ebs
[oracle@ebs VIS_ebs]$ perl adpreclone.pl appsTier
3. Stop all the services .
停止DB
[oracle@ebs VIS_ebs]$ source /home/oracle/.app
[oracle@ebs VIS_ebs]$ pwd
/d01/oracle/viscomn/admin/scripts/VIS_ebs
[oracle@ebs VIS_ebs]$ sh adstpall.sh apps/apps
停止DB
[oracle@ebs VIS_ebs]$ source /home/oracle/.ora
[oracle@ebs VIS_ebs]$ lsnrctl stop
[oracle@ebs VIS_ebs]$ sqlplus /nolog
SQL> conn /as sysdba
Connected.
SQL> shutdown immediate
SQL> quit
4.1 给/tmp目录权限:
[root@ebsdalian ~]# chmod -R 777 /tmp
######################### 准备目标系统 #############################
######################### 声明 ###################################
有些步骤复制过来不好用,就需要手动敲命令,可能是博客的字符集的问题。
一 ####################### 安装前的配置 ############################
1. df -h
2. samba
3. hostname
[root@localhost ~]# vim /etc/hosts
3.243.222.144 ebs.hisoft.com ebs
修改完主机名之后一定要ping一下
ping ebs.hisoft.com
ping ebs
4.挂载系统光盘
5. vim /etc/sysconfig/network
HOSTNAME=ebs.hiuuft.com
7. [root@localhost sysconfig]# groupadd dba
[root@localhost sysconfig]# useradd -g dba oracle
[root@localhost sysconfig]# passwd oracle
8. [root@localhost sysconfig]# vim /home/oracle/.bash_profile
# New add by dahailinux
LD_ASSUME_KERNEL=2.6.18
export LD_ASSUME_KERNEL
. /u01/penskeappl/APPSPDEV_PLASPACSHCNV3.env 现在不需要填写,下面一定要填写。
9. [root@applserver ~]# vim /etc/sysctl.conf
# add by dahailinux
kernel.sem = 256 32000 100 142
fs.file-max = 327679
net.ipv4.ip_local_port_range = 1024 65000
kernel.msgmni = 2878
net.core.rmem_default = 26144
net.core.rmem_max = 26144
net.core.wmem_default = 26144
net.core.wmem_max = 26144
[root@applserver ~]# /sbin/sysctl -p
这一步可以不需要
9. 查看是否有此文件
/etc/sysconfig/networking/profiles/default/network
如果有将其改名或者删除。
10. 把系统盘制作成iso文件,然后挂载到服务器上,因为需要里面的一些rpm包。
[root@localhost sysconfig]# mkdir /media/disk
[root@localhost sysconfig]# mount -t iso9660 /dev/cdrom /media/disk
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@localhost sysconfig]#
[root@localhost sysconfig]# cp /dev/cdrom /redhat5.iso
11. 配置yum源:
[root@ebsclone media]# cd /etc/yum.repos.d/
[root@ebsclone yum.repos.d]# ls
rhel-debuginfo.repo
[root@ebsclone yum.repos.d]#
[root@ebsclone yum.repos.d]# cp -rap rhel-debuginfo.repo rhel-iso.repo
[root@ebsclone yum.repos.d]# vim rhel-iso.repo
[rhel-isoinfo]
name=Red Hat Enterprise Linux $relisoever - $basearch - Debug
baseurl=file:///media/disk/Server
enabled=1
gpgcheck=0
* compat-libstdc -egcs-1.1.2-11
* compat-libcwait-2.1-11
* compat-oracle-el5-1.0-51
* openmotif21-2.1.30-11.EL51
* binutils-2.152
compat-db-4.1.25-9
compat-gcc-32-3.2.3-47.3
compat-gcc-32-c -3.2.3-47.3
binutils-2.17.50.0.6-6.0.1.el5.i386.rpm compat-oracle-el5-1.0-5.i386.rpm
binutils-2.17.50.0.6-6.0.1.el5.x86_64.rpm fonts-chinese-3.02-12.el5.noarch.rpm
binutils-2.17.50.0.6-9.0.1.el5.i386.rpm openmotif21-2.1.30-11.EL5.i386.rpm
binutils-2.17.50.0.6-9.0.1.el5.x86_64.rpm openmotif21-2.1.30-11.EL6.i686.rpm
compat-binutils215-2.15.92.0.2-24.i386.rpm openmotif21-debuginfo-2.1.30-11.EL5.i386.rpm
compat-libcwait-2.1-1.i386.rpm openmotif21-debuginfo-2.1.30-11.EL6.i686.rpm
compat-libstdc -3.2-1.i386.rpm xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386.rpm
compat-libstdc -egcs-1.1.2-1.i386.rpm
compat-libcwait-2.0-2
compat-libgcc-296-2.96-132.7.2
compat-libstdc -296-2.96-132.7.2
compat-libstdc -33-3.2.3-47.3
xorg-x11-deprecated-libs-devel-6.8.1-23.EL
xorg-x11-deprecated-libs-6.8.1-23.EL
The following required component must be installed manually:
compat-oracle-rhel4-1.0-5
compat-libcwait-2.0-2
libaio-devel.i386 0:0.3.106-3.2
[root@ebs patch-for-R11]# yum install *Xp*
以上所有包在系统盘里有的就尽量安装,最好用yum安装,没有的上网上下载,我已经下载下来了。
具体步骤如下:
33 yum install libXp* -y
34 yum install gcc* -y
35 yum install *gcc* -y
36 yum install *compat* -y
37 yum install *g++* -y
38 yum install *gcc-g*
39 yum install *binutils* -y
40 yum install *oracle* -y
41 yum install *fonts-chinese* -y
42 yum install *openmotif21* -y
43 yum install *xorg* -y
44 yum install *libaio* -y
45 yum install *Xp* -y
46 yum install *ksh* -y
46 history
cd /home/public/patch-for-R11/Oracle EBS software
82 cd Oracle\ EBS\ software/
83 ls
84 rpm -Uvh ./*
85 ls
86 rpm -Uvh binutils-2.17.50.0.6-9.0.1.el5.i386.rpm
87 ls
88 rpm -ivh binutils-2.17.50.0.6-6.0.1.el5.i386.rpm
89 ls
90 rpm -ivh compat-binutils215-2.15.92.0.2-24.i386.rpm
91 rpm -ivh compat-libcwait-2.1-1.i386.rpm
92 rpm -ivh compat-libstdc -3.2-1.i386.rpm
93 rpm -Uvh compat-libstdc -3.2-1.i386.rpm
94 ls
95 rpm -ivh compat-libstdc -egcs-1.1.2-1.i386.rpm
96 rpm -ivh compat-oracle-el5-1.0-5.i386.rpm
97 rpm -ivh fonts-chinese-3.02-12.el5.noarch.rpm
98 ls
99 rpm -Uvh fonts-chinese-3.02-12.el5.noarch.rpm
100 ls
101 rpm -ivh openmotif21-2.1.30-11.EL5.i386.rpm
102 rpm -ivh openmotif21-2.1.30-11.EL6.i686.rpm
103 rpm -ivh openmotif21-debuginfo-2.1.30-11.EL
104 rpm -ivh openmotif21-debuginfo-2.1.30-11.EL5.i386.rpm
105 rpm -ivh xorg-x11-libs-compat-6.8.2-1.EL.33.0.1.i386.rpm
106 rpm -ivh compat-oracle-el5-1.0-5.i386.rpm
107 history | tail -30
三 ####################### 安装前的配置 ##########################
[root@ebs Server]# vim /etc/resolv.conf
search hisoft.com
nameserver 30.233.250.102
nameserver 30.233.250.102
[root@dbserver oraprod]# vim /etc/security/limits.conf
# add by Liu Yi
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
四 ########################## 安装java ############################
安装jdk-1.4
Jdk 1.4.2_11
rpm -ivh jdb-1.4.2
[root@erp root]#vi /etc/profile
末尾增加下面几行
# New add by Louis
JAVA_HOME=/usr/java/j2sdk1.4.2_12/
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出。
查看/usr/java/jdk1.5.0_15 路径是否正确,不正确就改成系统的真实路径。
[root@ebs ~]# source /etc/profile
安装 1.6.0_34
1. 下载: jdk-6u34-linux-i586-rpm.bin
2. 下载到任意目录下:/usr/local/src
3. cd /usr/local/src
4. 进行安装:
[root@ebslouis src]# ./jdk-6u34-linux-i586-rpm.bin
5. 进入到程序目录:
cd /usr/java
[root@ebslouis java]# ls
default j2sdk1.4.2_12 jdk1.6.0_34 latest
6. 编辑环境变量:
[root@ebslouis java]# vim /etc/profile
# New add by Louis
JAVA_HOME=/usr/java/jdk1.6.0_34
CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
保存退出
7. 注意:环境变量是在文件前面的优先执行,后面的会不生效的。
用1.4的jdk和1.6的jdk都可以。
五 ####################### Patch package ########################
p4198954_40_linux.zip 能安装上就安装,这个包是给AS4使用的,如果安装不了就不装啦,我没装。
6365595:
这个包是补丁包,尽量安装,如果安装不上,就安装完系统后在安装。安装步骤,按照安装补丁文档进行。如果不装会报错:/bin/sh: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory。
解决方法见附录
p3006854_9204_linux.zip
6078836 Install another bug file,这个包重要
下面是具体安装步骤:
[root@ebs patch-for-R11]#
[root@ebs patch-for-R11]# mv /usr/lib/libdb.so.2 /usr/lib/libdb.so.2.6078836
mv: cannot stat `/usr/lib/libdb.so.2': No such file or directory
[root@ebs patch-for-R11]# cd 6078836/
[root@ebs 6078836]# cp libdb.so.2 /usr/lib
[root@ebs 6078836]# cd /usr/lib
[root@ebs lib]# ln -s ./libdb.so.2 libdb.so.3
[root@ebs lib]#
六 ####################### 附加配置项 #############################
以root用户登录系统:
[root@ebs R11i]# cd /home/public/
[root@ebs public]# ll
total 12
drwxr-xr-x 5 nobody nobody 4096 Sep 7 20:32 patch-for-R11
drwxr-xr-x 9 nobody nobody 4096 Sep 7 18:13 R11i
drwxr-xr-x 3 nobody nobody 4096 Sep 7 18:16 tools
[root@ebs public]# chown -R oracle.dba ./*
[root@ebs public]# chmod -R 775 ./*
??????????:
[root@ebslouis rapidwiz]# mkdir -p /d01/oracle/visdb/9.2.0
[root@ebslouis rapidwiz]# mkdir -p /d01/oracle/visdata
[root@ebslouis /]# chown -R oracle.dba /d01/
[root@ebslouis /]# chmod -R 775 /d01/
七 ####################### 报错 ksh的错误解决办法 #######################
yum install *ksh* 这步可能安装不上,只能反复安装才可以的。
思路: 当前KSH_VERSION变量的值为Version M 93s 2008-01-31,是ksh93的版本,ebs11i不识别这么高的ksh版本,EBS11i只识别ksh88的版本。所以得降低使用,把ksh版本修改成export KSH_VERSION="@(#)PD KSH v5.2.14 99/07/13.2"即可。
这里只要修改环境变量就行了,不用下载ksh88的软件包。
直接用方法二试试。
方法一:
[root@ebs ~]# vim /home/public/R11i/startCD/Disk1/rapidwiz/bin/adchkutl.sh
comment out below contains:
#
# Verify for ksh if its a linux only platform
#
#if test $UNAME = "Linux"; then
# printf "Checking for ksh...\t";
# VERSN=`/bin/ksh -c 'echo $KSH_VERSION' | grep "PD KSH";`;
# EC=$?
# if test $EC != "0" ; then
# printf "\nUnable to find 'kshell' in path\n";
# SHOW_PATH=1
# else
# printf "found - $VERSN\n";
# fi
#fi
方法二:
还有一种方法可以修改:
修改ksh的版本环境变量:
[oracle@ebs11i ~]$ ksh
$ echo ${.sh.version}
Version M 93s 2008-01-31
$
$ export KSH_VERSION="Version M 93s 2008-01-31"
$ echo $KSH_VERSION
$ exit
如果以上内容正确,那么修改一下内容。
[oracle@ebs11i ~]$ export KSH_VERSION="@(#)PD KSH v5.2.14 99/07/13.2"
注意:一定要在当前环境变量下设置这个变量,要不然不会再当前环境变量下生效的,设置了就白设置了。
也可以在bash文件夹做设置,下面是配置步骤:
九 ######################### 安装后的配置 ############################
0. 配置oracle用户的环境变量,以后好对oracle进行操作。
[root@ebs VIS_ebs]# cd /home/oracle/
[root@ebs oracle]# ls
[root@ebs oracle]# vim .bash_profile
# New add by Liu Yi
#LD_ASSUME_KERNEL=2.6.18
#export LD_ASSUME_KERNEL
. /d01/oracle/visdb/9.2.0/VIS_ebs.env
export DATA_TOP=/d01/oracle/visdata
export DB_TOP=/d01/oracle/visdb
export APPL_TOP=/d01/oracle/visappl
export COMN_TOP=/d01/oracle/viscomn
export ORA_TOP=/d01/oracle/visora
1. 创建两个环境变量文件,操作数据库和操作应用的环境变量是完全不同的。
[root@ebs rapidwiz]# cd /home/public/
[root@ebs public]# cp /home/oracle/.bash_profile /home/oracle/.ora
[root@ebs public]# cp /home/oracle/.bash_profile /home/oracle/.app
2. [root@ebs public]# vi /home/oracle/.ora
添加:(注意”.”后面有个空格,没有这个空格变量文件不会被执行)
unset USERNAME
. /d01/oracle/visdb/9.2.0/VIS_ebs.env
最后形成的配置文件内容:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
# New add by Liu Yi
LD_ASSUME_KERNEL=2.6.18
export LD_ASSUME_KERNEL
unset USERNAME
. /d01/oracle/visdb/9.2.0/VIS_ebs.env
export DATA_TOP=/d01/oracle/visdata
export DB_TOP=/d01/oracle/visdb
export APPL_TOP=/d01/oracle/visappl
export COMN_TOP=/d01/oracle/viscomn
export ORA_TOP=/d01/oracle/visora
保存退出。
3. [root@ebs d01]# vim /home/oracle/.app
添加:
unset USERNAME
. /d01/oracle/visappl/VIS_ebs.env
最后形成的配置文件内容:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
PATH=$PATH:$HOME/bin
export PATH
# New add by Liu Yi
LD_ASSUME_KERNEL=2.6.18
export LD_ASSUME_KERNEL
unset USERNAME
. /d01/oracle/visappl/VIS_ebs.env
export DATA_TOP=/d01/oracle/visdata
export DB_TOP=/d01/oracle/visdb
export APPL_TOP=/d01/oracle/visappl
export COMN_TOP=/d01/oracle/viscomn
export ORA_TOP=/d01/oracle/visora
保存退出。
###################### 传输5个目录 #######################
0. 创建oracle用户和oracle组,注意id和gid一定要和源系统的相同。
1. 备份5个目录
2. 切换到ebs主目录
[root@ebs oracle]# cd /d01/oracle
3. 查看当前目录
[root@ebs oracle]# ls
visappl viscomn visdata visdb visora
4. 查看备份目的地是否有足够的空间
[root@ebs oracle]# df -h
5. 确认目标目录有写权限:
[root@ebsxshell vmware]# mkdir /ebsbackup
[root@ebsxshell vmware]# chown -R oracle.dba /ebsbackup/
4. 使用tar进行备份所有的目录。(以所属用户oracle执行)
tar -czpivO /d01/oracle/visappl | split -a 1 -b 2000m - /ebsbackup/visappl.tgz_-
tar -czpivO /d01/oracle/viscomn | split -a 1 -b 2000m - /ebsbackup/viscomn.tgz_-
tar -czpivO /d01/oracle/visdata | split -a 1 -b 2000m - /ebsbackup/visdata.tgz_-
tar -czpivO /d01/oracle/visdb | split -a 1 -b 2000m - /ebsbackup/visdb.tgz_-
tar -czpivO /d01/oracle/visora | split -a 1 -b 2000m - /ebsbackup/visora.tgz_-
5. 复制到Target机器。
Scp -rp /ebsbackup/* 6.243.222.73:/share
6. 解压缩5个目录
5. 还原EBS。
cat /ebsbackup/visappl.tgz_-* |tar -xvz -C /
cat /ebsbackup/viscomn.tgz_-* |tar -xvz -C /
cat /ebsbackup/visdata.tgz_-* |tar -xvz -C /
cat /ebsbackup/visdb.tgz_-* |tar -xvz -C /
cat /ebsbackup/visora.tgz_-* |tar -xvz -C /
######################## 配置目标系统 #########################
1. 创建oracle用户和oracle组,注意id和gid一定要和源系统的相同
[root@ebsclone 9.2.0]# chmod -R 777 /tmp
2. 修改环境变量:
[root@ebsdalian ~]# vim /home/oracle/.ora
. /d01/oracle/visdb/9.2.0/VIS_ebs.env 修改成相应的环境变量:
. /d01/oracle/visdb/9.2.0/VIS_ebsdalian.env
[root@ebsclone 9.2.0]# vim /home/oracle/.bash_profile
/d01/oracle/visdb/9.2.0/VIS_ebs.env 修改成相应的环境变量:
. /d01/oracle/visdb/9.2.0/VIS_ebsdalian.env
把环境变量文件修改成现在的路径:
[root@ebsdalian ~]# vim /home/oracle/.app
. /d01/oracle/visdb/9.2.0/VIS_ebs.env 修改成相应的环境变量:
. /d01/oracle/visdb/9.2.0/VIS_ebsdalian.env
复制源系统上application中的identitydb.obj到目标环境相应的目录中,此文件位于application OS用户的主目录($HOME)中;
[root@PLASPACSHCN13 penske]# scp -rp oraInventory/ 3.242.189.139:/home/oradev2/
2. Configure Database
[oracle@ebs VIS_ebs]$ cd /d01/oracle/visdb/9.2.0/appsutil/clone/bin/
[oracle@ebs bin]$ source /home/oracle/.ora
[oracle@ebs11i bin]$ export KSH_VERSION="@(#)PD KSH v5.2.14 99/07/13.2"
[oracle@ebs bin]$ perl adcfgclone.pl dbTier
注意这一步:
如果这么执行后肯定会报错:
Beginning database tier Apply - Wed Dec 5 10:31:26 2012
Log file located at /d01/oracle/visdb/9.2.0/appsutil/log/VIS_ebsdalian/ApplyDBTier_12051031.log
- 100% completed ERROR: InDbCtxFile.uploadCtx() : Exception : Error executng BEGIN fnd_gsm_util.append_ctx_fragment(?,?,?); END;: 1; Oracle error -25153: ORA-25153: Temporary Tablespace is Empty has been detected in FND_GSM_UTIL.APPEND_CTX_FRAGMENT.
oracle.apps.ad.autoconfig.oam.InDbCtxFileException: Error executng BEGIN fnd_gsm_util.append_ctx_fragment(?,?,?); END;: 1; Oracle error -25153: ORA-25153: Temporary Tablespace is Empty has been detected in FND_GSM_UTIL.APPEND_CTX_FRAGMENT.
那么就添加几步骤:
在开一个终端
su - oracle
[oracle@ebsdalian bin]$ sqlplus /nolog
SQL> conn /as sysdba
SQL> alter tablespace temp add tempfile '/d01/oracle/visdata/tmp1.dbf';
SQL> exit
[oracle@ebsdalian VIS_ebsdalian]$ cd /d01/oracle/visdb/9.2.0/appsutil/scripts/VIS_ebsdalian
[oracle@ebsdalian VIS_ebsdalian]$ ls
adautocfg.sh addbctl.sh adexecsql.pl adpreclone.pl adstrtdb.sql
adchknls.pl addlnctl.sh adlsnodes.sh adstopdb.sql
[oracle@ebsdalian VIS_ebsdalian]$ ./adautocfg.sh
[oracle@ebsdalian bin]$ cd /d01/oracle/visdb/9.2.0/appsutil/clone/bin
在执行一遍“[oracle@ebs bin]$ perl adcfgclone.pl dbTier”
[oracle@ebsdalian bin]$ perl adcfgclone.pl dbTier
如果期间出现问题,那么就:
3. Configure Application
[oracle@ebsdalian ~]$ su - oracle
[oracle@ebsdalian ~]$ source /home/oracle/.app
[oracle@ebs bin]$ cd /d01/oracle/viscomn/clone/bin/
perl adcfgclone.pl appsTier
[oracle@ebs bin]$ perl adcfgclone.pl appsTier
##################### 启动服务 #########################
[root@PLASPACSHCNV5 oradev2]# cp /home/oracle/.bash_profile /home/oracle/.app
[root@PLASPACSHCNV5 oradev2]# vim /home/oracle/.app
修改原来的. /u01/oradev2/dev2db/10.2.0/DEV2_PLASPACSHCNV5.env为:
. /appl/appldev2/dev2appl/APPSDEV2_PLASPACSHCNV5.env
保存退出。
[root@PLASPACSHCNV5 oradev2]# source /home/oracle/.app