首页 > 数据库 > Oracle > EBS打中文patch步骤
EBS应用系统打中文patch步骤如下:
打中文patch前一定要先打US patch
1.检查已安装Patch:
select * from ad_bugs WHERE bug_number='18058537'。
2.在metalink上下载patch
3.上传到应用用户目录下解压
[applcrp@sgdcebsdeva patch]$ unzip p18058537_R12.WSH.B_R12_zhs.zip
[applcrp@sgdcebsdeva patch]$ cd 18058537_ZHS
[applcrp@sgdcebsdeva 18058537_ZHS]$ ls
backup marker1.txt ont README.html README.txt u18058537.drv wsh
4.关闭应用程序./adstpall.sh (该脚本在$ADMIN_SCRIPTS_HOME中,或者可以用root用户执行find / -name adstpall.sh命令找所在目录)
5.进入EBS维护模式
[applcrp@sgdcebsdeva ~]$ sqlplus /nolog
SQL*Plus: Release 10.1.0.5.0 - Production on Wed Apr 15 17:11:29 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn apps/apps
Connected.
SQL> @/u01/oracle/old-CRP/apps/apps_st/appl/ad/12.0.0/patch/115/sql/adsetmmd.sql ENABLE (具体路径根据各自环境而定,可用find的命令查询)
PL/SQL procedure successfully completed.
Commit complete.
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> conn apps/apps
Connected.
SQL> SELECT FND_PROFILE.VALUE('APPS_MAINTENANCE_MODE') FROM DUAL;
FND_PROFILE.VALUE('APPS_MAINTENANCE_MODE')
--------------------------------------------------------------------------------
MAINT
MAINT表示已经进入维护模式
6.刚刚解压出来的patch目录下执行adpatch开始打patch
[applcrp@sgdcebsdeva 18058537_ZHS]$ adpatch
中间需要输入oracle system用户的密码和apps密码
输入要的打的patch u18058537.drv
输入完后自动打patch
7.自动打完后关闭维护模式
SQL> conn apps/apps
Connected.
SQL> @/u01/oracle/old-CRP/apps/apps_st/appl/ad/12.0.0/patch/115/sql/adsetmmd.sql DISABE
8.开启应用程序
./adstpall.sh
补充:在打中文patch的时候出现过如下错误及处理过程
For the Current View:
l_appl_top_id .............. 195
l_eav_patch_release_name ... 12.0.0
Current View - 18058537:ZHS is NOT_APPLIED
Comprising patches - 18058537:US is NOT_APPLIED
Current View - 18058537:US is NOT_APPLIED
Current View - 18058537:US is NOT_APPLIED
Patch 18058537:ZHS is a NLS patch.
You must first apply the corresponding US patch
for the NLS patch(es) listed above.
AutoPatch error:
--------
A fatal error related to codelines or codelevels has occurred.
See messages above for details.
--------
Freeing includes hash table
Freeing fixes hash table
Freeing basedons hash table
Freeing entities hash table
You should check the file
/u01/oracle/CRP/apps/apps_st/appl/admin/CRP/log/adpatch.log
用select * from ad_bugs WHERE bug_number = '18058537'查,已经打了US的补丁;
也百度了下查原因,其中关于snapshot
SQL> select appl_top_id from ad_snapshots;
APPL_TOP_ID
-----------
190
190
189
192
194
195
191
7 rows selected.
SQL> select appl_top_id from ad_appl_tops;
APPL_TOP_ID
-----------
148
149
169
189
190
191
192
193
194
195
10 rows selected.
snapshot是没有问题的(如果ad_snapshots和ad_appl_tops里iD的最大值一样,修改ad_snapshots表中的最大ID至ad_appl_tops最大ID
接着又和一个成功打了中文patch环境比较下
用select * from ad_applied_patches 命令查询两个环境中都手动打过哪些patch,看看这个失败的环境是否有什么前置patch没有打
结果就只差这个patch没有
无奈就按照错误的提示,重新打了一次USpatch
结果再打中文ptach成功,很诡异!!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29989552/viewspace-1579735/ ,如需转载,请注明出处,否则将追究法律责任。