拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. 数据中心
  3. EBS系列
  4. 正文

EBS R12.2 ADOP (R12.2 AD Online Patching)

2020年7月4日 3063点热度 1人点赞 0条评论

目录

  • 一、 ADOP时,你可以自己加入参数,也可以与adop工具交互输入信息,无论选择哪种方式,aodp都会做以下的事情:
  • 二、注意下面一些重要的事项: 
  • 三、 EBS R12.2环境
  • 四、  ADOP 参数
    • 1、adop正常的Phases(通过adop -help可查看):
    • 2、特殊的几个phases:
  • 五、  运行ADOP
    • 1、典型的例子:
    • 2、监控状态:
    • 2、监控状态:
    • 3、 restart ADOP
    • 见前面的 abandon/restart 参数 。
    • 4、监控状态:
    • 5、多语言patch merge
    • 6. Error Messages
    • 7. patch测试模式 (apply=no)

EBS R12.2 有两套 apps 文件系统,一套为run 环境,常用目录为fs1,一套为patch环境,目录为fs2, 甚至如果你安装了或升级到了R12.2.0 , 那就可以使用这个特性,ADOP在线实施12.2.2,12.2.3或 12.2.4 补丁了。

一、 ADOP时,你可以自己加入参数,也可以与adop工具交互输入信息,无论选择哪种方式,aodp都会做以下的事情:

1. 读取patch metadata来判断patch的依赖关系和补丁前的一些需求(比如前置补丁)

2. 从之前的patch session上传patch信息到数据库(if applicable)

3. 读取和确认补丁driver文件以及读取产品driver文件

4. 对比来自于产品库的object modules和patch文件中已存在的文件版本号

5. 备份所有将要被patch更改的在系统已经存在的文件

6. 拷贝文件

7. 存档libraries中的文件

8. Relink 可执行文件

9. 生成 forms, reports, messages, graphics, 和Java archive (JAR) 文件

10. 编译JSP文件和数据库无效对象

11. 更新数据库物件

12. 运行autoconfig 更新配置文件,如果任何模板文件被引入或被patch更新的话

13. 保存patch信息到数据库

二、注意下面一些重要的事项: 

1. adop总是从run版本文件系统上运行。它会自动正确设置它的环境变量,不管它从哪个版本运行。

2. 如果patch没有包含任何对文件系统或数据库的更新,adop会做任何动作。

3. 如果adop探测到之前failed的patching session,它会尝试去恢复这个session 。

4. 在整个正常adop过程中,数据库不需要downtime .

5. Cutover切换阶段需要停服务几分钟。

(1)是切换patch fs 与 runtime fs, 而不是同步,两个file system同步要到下次prepare阶段。

(2) 两个file system是不能同时运行的  ( Cutover先切换db edition然后是app file system)。

6. Cutover Phase包含一下过程 :

  •  Finalize   (cutover也包括了finalize phase, 提前进行finalize可以节省cutover的时间)
  •  Application Tier Services Switch
  •  Database Cutover
  •  File System Cutover
  •  Retire Old Editions
  •  Terminate Old Database Sessions
  •  Application Tier Services Switch

因为数据库表的特殊性(size过大,不像应用code那么小),所以需要在cutover之前进行同步 (同步指的是runtime版本的table中的变化数据通过trigger同步到patch版本的table中,反过来,patch apply带来的变更仅仅在patch版本的table中进行,不会同步实施到runtime版本的table), 不像APP两套file system,patch apply期间应用不同步, 到了Cutover 阶段再进行交换

三、 EBS R12.2环境

1.  环境变量中会有如下几个:

$FILE_EDITION = patch 或者 run 
$RUN_BASE = /u01/R122_EBS/fs1
$PATCH_BASE = /u01/R122_EBS/fs2
$NE_BASE = /u01/R122_EBS/fs_ne

R12.2 的环境文件在 /u01/R122_EBS/EBSapps.env 

$FILE_EDITION:   Current fs edition type sourced values run or patch
$RUN_BASE:   RUN file system base directory
$PATCH_BASE:  Patch file system base directory
$NE_BASE:  non-editioned file systems base directory
$APPL_TOP_NE:  Application top that stores product files considered data 

2、在设置环境变量后,用户登入时会提示是进入run[R]还是patch[P]环境。

File System1 (fs1)– Stores a complete copy of all applications and Middle Tier code
File System1 (fs2)– Stores a complete copy of all applications and Middle Tier code
fs_ne - File System NON Editioned (FS_NE)
– Stores data that is written or read from the file system
– Report Outputs
– Log Files etc

3、手工切换run及patch文件系统:
$ .   /u01/R122_EBS/EBSapps.env   run    - 切换到run edition 文件系统
$ .   /u01/R122_EBS/EBSapps.env   patch  - 切换到patch edition 文件系统

四、  ADOP 参数

$ adop -help  帮助 
$ adop -examples  帮助及例子 
$ adop input_file= 参数输入文件需要提供绝对路径, 主要参数包括:
patches
phase
patchtop
merge
defaultsfile
abandon
restart
workers

例子:
phase=apply patches=123456 workers=8 autoskip=yes

1、adop正常的Phases(通过adop -help可查看):

adop phase=prepare -> copies the application code(同步fs1及fs2)
adop phase=apply -> apply patches to PATCH Environment
adop phase=finalize -> makes ready the system for cutover, 提前进行finalize可以节省cutover的时间
adop phase=cutover -> bounce the system and does filesystem switchover. fs2 becomes RUN environment. 用户不可用。
adop phase=cleanup -> remove obsolete objects and data from old editions.


2、特殊的几个phases:

adop phase=abort -> 在cutover阶段之前的任何时间都可以实施abort而终止current patching cycle. 回滚任何已经实施的更改。
adop phase=fs_clone -> synchronize - copy run file system to the patch file system 
adop phase=actualize_all -> create new copies of all code objects in the patch edition. 

phase参数  
用来告诉adop 它该运行那个阶段,包括:prepare,apply,finalize,cutover,cleanup,actualize_all,fs_clone,abort。 
传参数运行的时候,可以用逗号隔开,指定多个阶段,fs_clone和abort这俩阶段不能和其他的阶段一起。比如 'phase=prepare,apply' . 

merge参数
merge默认是no, 如果设置为yes, 将会合并多个patch,一次性操作(注意逗号两边不能有空格)。
$adop  phase=prepare,apply  patches=18288881,18886213  merge=yes  workers=24 
AD Merge Patch 在adop中还是支持的, AD Merge Patch的功能目前已经包含在adop中了。
当运行adop想要merge 补丁,在adop后指定 merge=yes。
merge会删除drv中的一些重复的行,步骤和readme文件也会merge 。

workers参数
默认情况下,adop执行数据库更新及文件生成命令都是使用多个workers并行执行的,默认workers数据是根据硬件配置计算的。这个workers值可以人工指定。tasks被分配给workers, workers运行完tasks后,adop分配新的tasks.  如果指定workers超过了机器能处理的个数,adop将会报错并退出. adop 以一定顺序执行数据库actions, 在driver文件中的数据库部分,他们执行的顺序并不一定按照patch drv文件中列出的顺序执行,它们会最小化依赖关系。

abandon/restart 参数:
abandon 指定是否重启之前运行的adop,如果之前运行的有错误(如果之前的adop有错误,若abandon没有被设置为yes,那上次的错误的参数会被用到本次运行),那就可以用它。取值:yes/no  。restart:也是指定是否重启之前运行的adop,如果之前运行的有错误。restart和abandon的区别是,restart是接着上次失败的地方往下打,abandon是放弃上次的,这次从头开始打。
这两个参数必须同时出现而且必须是一个yes另一个no :
abandon=no restart=yes   will retry a patching operation,不放弃,从之前失败的地方开始。
abandon=yes restart=no   will not retry a patching operation,放弃,重新开始。

查看一个patch现在是到了什么阶段 ?
adop -status

ADOP执行后的Log放在如下目录:
$NE_BASE/EBSapps/log/adop//__//log
比如: /u01/R122_EBS/fs_ne/EBSapps/log/adop/15/apply_20140709_112226/patch01_testsys/log

五、  运行ADOP

1、典型的例子:

# 注意adop需要在解压的目录 12345 同一目录执行,而不需要cd到12345下。和adpatch不同。
$ . /EBSapps.env run
$ adop phase=prepare  
$ adop phase=apply patches=123456 worker=8 
$ adop phase=finalize worker=8 
$ adop phase=cutover worker=8 
$ . /EBSapps.env run
$ adop phase=cleanup

2、监控状态:

$ adop -status

$ adop -status -detail  列出最新10个adop session

2、监控状态:

如果在cutover之前碰到错误,可以abort.
$ adop phase=prepare
$ adop phase=apply patches=123456  worker=8 
[Patch application encounters problems and you want to abort]
$ adop phase=abort
$ adop phase=cleanup cleanup_mode=full
$ adop phase=fs_clone

3、 restart ADOP

见前面的 abandon/restart 参数 。

4、监控状态:

在cutover时不希望启动app tier 可加入参数mtrestart=no
$ adop phase=cutover mtrestart=no

With this parameter, cutover will complete without restarting the application tier services. You can perform any additional steps that require the services to be shut down, and then start the application tier services manually using the adstrtal.sh script.

5、多语言patch merge

To apply multiple patches to an NLS installation
This example assumes the system has American English, French, and German installed.
Use adop to start a new patching cycle (adop phase=prepare).
Use AD Merge Patch to merge the US (American English) patches into a single patch.
Use AD Merge Patch to merge the French and German patches into a single NLS patch.
Use adop to apply all drivers of the merged US patch.
Use adop to apply all drivers of the merged NLS patch.
Use adop to complete the patching cycle (finalize, cutover, cleanup phases).

 

6. Error Messages

如果使用adop并行执行,碰到错误,job fails, 查看主要的 adop log文件及 adworkxxx.log 文件来查看错误源,解决问题后继续。 使用 adctrl 命令 restart .

7. patch测试模式 (apply=no)

这种模式不会apply patch, 它会列出copied, relinked, executed, generated 的文件,在测试模式,也会运行AutoConfig , 来确定即将对于配置文件的更改。

8. adop 的各种选项
比如: adop options=nocopyportion,nogenerateportion (同样逗号两边不能有空格)
options=noactiondetails   不打印actions detail
options=noautoconfig      依次打多个补丁而只想autoconfig一次,使用这个选项。显然adop时的autocfg不需要停应用。
options=nocompiledb       不自动编译数据库无效对象,在所有非merge补丁打完后做一次 (一般建议merge).
options=nocompilejsp      不自动编译JSP.
options=nocopyportion     不执行driver文件中的copy 动作。
options=nodatabaseportion 不执行 database-related driver 部分的动作.
options=forceapply        默认noforceapply, forceapply 重新执行已经执行的patch .
options=nogenerateportion  不执行driver文件的generate actions 。

9. AD Merge Patch (admrgpch) 的各种选项
111,222 是解压的patch文件夹

$ cd   /u01/R122_EBS/fs_ne/EBSapps/patch
$ ls
111  222  fnd
$ admrgpch  -s /u01/R122_EBS/fs_ne/EBSapps/patch  -d /u01/R122_EBS/fs_ne/EBSapps/patch/test

$ cd  /u01/R122_EBS/fs_ne/EBSapps/patch/test
$ ls
fnd  u_merged.drv

You can then apply this patch:
$ adop phase=apply

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2020年7月4日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号