oracle Ebs database clone (no apps clone)
财务系统数据库克隆方案2011-11-19
1,preclone
在finrac2
注:不停应用和数据库
a)on finrac2,logon as oraprod
cd $ORACLE_HOME/appsutil/scripts/prod2_finrac2
perl adpreclone.pl dbTier
2,停生产环境应用
1、停应用
以applprod分别登录fin1,fin2和fin3,执行
adstpall.sh apps/passwd
3,备份生产数据库到本地磁盘
1、停止数据库,切换到mount状态
以oraprod登录finrac2,执行
srvctl stop db -d prod
等待数据库停止后
在finrac2上启动prod2(不启prod1)
SQL>start mount
2、备份
启动到mount状态后,执行sh /dbtmp/copy.sh
注:执行/dbtmp/copy.sh之前,应检查copy.txt中数据文件的内容,必须与最新生产数据库的数据文件保持一致
4,拷贝文件
1、停测试环境
在fin4上,停应用
sh $COMMON_TOP/admin/scripts/test1_fin4/adstpall.sh apps/apps
查看$COMMON_TOP/admin/log/test1_fin4/test1_1119.mgr
如果日志最后显示terminated,则表示并发管理器停止了。
再通过ps -ef|grep appltest查看appltest的进程,确认appltest进程都已经停止。
在findb2上,停数据库
1)用oramig停测试环境数据库
$sqlplus / as sysdba
SQL>shutdown immediate
$lsnrctl stop test1
2)删除数据库文件:/test/data/*
rm /test/data/*
2、拷贝数据库文件
在finrac2,以root执行
scp /u01/data/*@findb2:/test/data/
拷贝完成后(若干小时之后……)
在findb2上,以root执行:
chown oramig:dba/test/data/*
3、拷贝数据库的appsutil文件
以root登录findb2,执行
mv /migcode/testdb/10.2.0.4/appsutil /migcode/testdb/10.2.0.4/appsutil.20111120
以root登录finrac2,
执行
scp -r /oradb/db/10.2.0.4/appsutil @findb2:/migcode/testdb/10.2.0.4/
在findb2上执行,以root执行
chown -R oramig:dba /migcode/testdb/10.2.0.4/appsutil
5,数据库克隆
5.1重建控制文件
登录findb2,以oramig执行下面命令。执行之前,确认ctl.sql包含的是最新的生产环境的数据库文件
$sqlplus / as sysdba
SQL>STARTUP NOMOUNT
SQL>@/home/oramig/ctl.sql
5.2加入thread 2的redo logs和临时表空间的临时文件
以oramig执行/home/oramig/addredo.sql
SQL>@/home/oramig/addredo.sql
5.3启动数据库和监听,以oramig执行
SQL>alter database open resetlogs;
SQL>alter tablespace temp add tempfile‘/test/data/temp01.dbf’ size1000m;
lsnrctl start test1
5.4清理无用的节点信息
$sqlplus apps/apps
SQL>Delete from fnd_nodes;
SQL>commit;
SQL>alter user apps temporary tablespace temp;
5.5数据库节点运行Autuconfig
-重命名文件夹
mv $ORACLE_HOME/appsutil/scripts/prod2_finrac2 $ORACLE_HOME/appsutil/scripts/test1_findb2
-恢复xml文件,恢复adautocfg.sh文件
cp $ORACLE_HOME/appsutil.20111120/test1_findb2.xml $ORACLE_HOME/appsutil
cp $ORACLE_HOME/appsutil.20111120/scripts/test1_findb2/adautocfg.sh $ORACLE_HOME/appsutil/scripts/test1_findb2/
-运行autoconfig
sh $ORACLE_HOME/appsutil/scripts/test1_findb2/adautocfg.sh
6,应用autoconfig
6.1以appltest登录fin4,
sh /testapp/testcomn/admin/scripts/test1_fin4/adautocfg.sh
7,其他工作
1)修改sysadmin口令
2)修改db参数utl_file_dir,包含$APPLPTMP和$APPLTMP
以oramig登陆findb2
$sqlplus / as sysdba
SQL>alter system set utl_file_dir=’/usr/tmp’,’/testapp/testcomn/temp’ scope=spfile;
SQL>startup force
3)取消口令限制
在系统配置文件内,在“地点”层查找“口令”,去掉口令长度限制
4)修改地点名称
在系统配置文件内,在“地点”层查找“地点”,修改地点名称
5)修改apps口令,各模块默认口令
在fin4上,以appltest运行
$FNDCPASS apps/passwd 0 Y system/passwd SYSTEM APPLSYS apps
$sqlplus apps/apps
SQL>create table fnd_user_20111120 as select * from fnd_user;
SQL>create table fnd_oracle_userid_1120 as select * from fnd_oracle_userid;
$FNDCPASS apps/apps 0 Y system/passwd ALLORACLE newpasswd
6)修改并发管理器的节点定义
CREATE TABLE FND_CONCURRENT_QUEUES1120 AS SELECT * FROM FND_CONCURRENT_QUEUES;
UPDATE FND_CONCURRENT_QUEUES SET NODE_NAME=’’ WHERE NODE_NAME IN (‘FIN1’,’FIN2’,’FIN3’);
或通过界面进行修改:
在节点处分别查询fin1,fin2和fin3,将搜索结果的”节点“名称删除后保存,不是删除管理器。
页:
[1]