记一次EBS正式环境补丁安装的过程
因菏泽能源上线需求,需要在8009上修复集团8000环境上已经修复的所有补丁程序,修复前做应用及数据库层备份,完成修复后解决并发管理器无法启动的问题。此为概述。
- 应用层备份
应用层的备份采用直接压缩备份的方式,无需停服务。压缩的路径是/u01/erpapp/apps
命令:
cd /u01/erpapp/
tar -zcvf apps_bak_20190107.tar.gz /u01/erpapp/apps
需要注意的是apps目录中可能存在部分需要root权限的文件,所以压缩使用root进行压缩。
- 数据库层备份
数据库层的备份使用RMAN备份的方式,停机之后进行全备份的方式备份数据文件,控制文件,以及归档日志文件。
这里需要先停服务, EBS服务器停止的顺序是
- 停并发管理器(使用sysadmin用登入 系统管理员职责-管理并发管理器菜单,选择最上面的标准管理器,点击 终止),为保证效果,再使用adcmctl.sh stop apps/appspassword 停止并发管理器服务,可以使用 ps -ef |grep FNDLIB 命令查询并发管理器的进程是否全部关闭,如果没有关系,可以使用kill -9的命令杀死进程。
- 停EBS服务,进入到$ADMIN_SCRIPTS_HOME目录下,运行adstpall.sh关闭全部EBS服务,可以使用ps -ef |grep applmgr 观察进程是否完全关闭(可以等半个小时等待服务关闭),如果有未关闭的进程,可以根据进程情况斟酌使用kill -9命令杀死这些进程。直至进程完全关闭 #
- 停数据库监听,使用lsnrctl stop prod 命令停止Oracle对prod实例的监听,阻止新的数据库连接连入,5分钟后检查数据库是否还有local=no的连接。ps -ef | grep LOCAL=NO | wc -l 如果有,看一下这些连接能否关闭。使用 ps -ef | grep LOCAL=NO | awk’{print $2}’| xargs kill -9 杀死进程。再次查看是否还有用户连接 select type,count() from v$session group by type 检查用户只剩下自己。
- 停数据库。检查监听状态 df/display vg把这些信息记录下来;alter system checkpoint; -检查点,dbwr写脏数据 lgwr写redo日志;alter system switch logfile; —切换日志,把日志也写进硬盘
- shutdown immediate;
开始备份数据库,使用oracle用户登入系统,运行rman target/ 进入rman工作台
服务器上有脚本在/home/oracle 目录下rman_full.dat 可以使用@/home/oracle/rman_full.dat 调用脚本进行备份,查看脚本cat rman_full.dat 检查脚本发现需要备份归档日志,所以将数据库启动到打开状态,在rman工作台中startup
启动数据库之后检查数据库实例状态为”OPEN”,运行脚本执行备份。
备份时可以使用SQL命令监控备份进度
select sid,SERIAL# ,CONTEXT,SOFAR,TOTALWORK,round(SOFAR/TOTALWORK100,2)”_%“
from v$session_longops where OPNAME like’RMAN%’and SOFAR<>TOTALWORK and TOTALWORK<>0;
备份完毕后,启动监听 lsnrctl start prod
- 启用维护模式
切换到applmgr用户,使用adadmin命令进行维护模式
执行adadmin(位于./apps/apps_st/appl/ad/12.0.0/bin/adadmin下,环境变量设好后会出现在path中),输入system的密码,apps的密码选择菜单5,再选择1Enable maintencence“。然后退出。
- 打补丁
将补丁上传至服务器任意位置,可以自己建一个patch目录
使用SQL查看补丁号是否已经安装过
SELECT *
FROM ad_applied_patches
where 1=1
and patch_name in (‘14332598’) ;
SELECT *
FROM ad_bugs
where 1=1
and bug_number in (‘14332598’) ;
主要看ad_bugs ad_bugs里面有就可以不安装。
使用unzip命令解压补丁 例如:unzip p14332598_R12%.BOM.C _R12_LINUX.zip
进入到解压后的目录,使用adpatch命令打补丁 adpatch driver=u 14332598.drv
注意打补丁时先打英文再打中文。
- 关闭维护模式
使用adadmin命令进行维护模式
执行adadmin(位于./apps/apps_st/appl/ad/12.0.0/bin/adadmin下,环境变量设好后会出现在path中 ),输入system的密码,apps的密码选择菜单5,再选择1Disable maintencence“。然后退出。
- 启用EBS服务
cd到$ADMIN_SCRIPTS_HOME目录下执行adstrtal.sh命令启动EBS服务
- 启动并发管理器
使用adcmctl.sh start apps/appspassword 命令启动并发管理器
进入前台sysadmin用户运行”有效用户”请求 看看并发和报表是否正常
记一次EBS正式环境补丁安装的过程的更多相关文章
- linux环境下安装qt过程
linux(虚拟机fedora9)环境下安装qt的过程主要是按照下面几网页上的教程完成的. http://mobile.51cto.com/symbian-272869.htm http://www. ...
- 初次体验VS2015正式版,安装详细过程。
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 安装 其他 本文版权归mephi ...
- 第7篇 ORACLE EBS DEMO虚拟机环境的安装
ERP信息系统的实施不仅要求懂得道理方面的知识,更要侧重于应用实践.为了有一个稳定的测试环境.初学者可以自己搭建一个EBS DEMO环境.本节介绍EBS DEMO环境虚拟机的安装.一. 安装前的准备( ...
- Oracle EBS DBA常用SQL - 安装/补丁【Z】
Oracle EBS DBA常用SQL - 安装/补丁 检查应用补丁有没有安装:select bug_number,last_update_date from ad_bugs where bug_nu ...
- 记一次oracle创建一个新数据库,并导入正式环境数据库备份的dmp包过程
背景:正式环境oracle数据库定时用exp备份一个dmp包,现在打算在一台机器上创建一个新数据库,并导入这个dmp包. 1.创建数据库 开始 -> 所有程序 -> Oracle -> ...
- 【转】windows环境下安装win8.1+Mac OS X 10.10双系统教程
先要感谢远景论坛里的各位大神们的帖子 没有他们的分享我也不能顺利的装上Mac OS X 10.10! 写这篇随笔主要是为了防止自己遗忘,同时给大家分享下我的经验. 本教程适用于BIOS+MBR分区的 ...
- windows环境下安装win8.1+Mac OS X 10.10双系统教程
首先要感谢远景论坛里的各位大神们的帖子 没有他们的分享我也不能顺利的装上Mac OS X 10.10! 写这篇随笔主要是为了防止自己遗忘,同时给大家分享下我的经验. 本教程适用于BIOS+MBR分区 ...
- DBA_Oracle Erp R12中文补丁安装升级(案例)
2014-07-11 Created By BaoXinjian
- 1,Python爬虫环境的安装
前言 很早以前就听说了Python爬虫,但是一直没有去了解:想着先要把一个方面的知识学好再去了解其他新兴的技术. 但是现在项目有需求,要到网上爬取一些信息,然后做数据分析.所以便从零开始学习Pytho ...
随机推荐
- speex编译
首先去官网 https://www.speex.org/downloads/ 下载解压 将include.libspeex文件夹复制到自己新建工程的jni目录下 speex有关的类 package c ...
- adb root错误信息adbd cannot run as root in production builds问题解决
adb root错误信息adbd cannot run as root in production builds问题解决 一.问题描述 1.输入指令 >adb root adbd cannot ...
- windows下curl的安装和简单使用
curl是利用URL语法在命令行方式下工作的开源文件传输工具.它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP. 一 ...
- Homemade Script Language: RED
Made by C, named after RED(RecovEr from SaDness) 欢迎批评 :)
- jQuery的实现编码,解决特殊字符 <script> "
function htmlEncode(value){ if (value) { return jQuery('<div />').text(value).html(); } else { ...
- C#遍历匿名对象的所有属性、value
Object obj = ,pwd=" }; //遍历匿名对象 foreach (System.Reflection.PropertyInfo p in obj.GetType().GetP ...
- webpack中package.json中的Script
初始化项目 cnpm init -y ,会自动生成一个package.json文件:主要是显示项目的名称.版本.作者.协议等信息 在package.json中scripts中配置:(运行简化) 开发模 ...
- JVM:java类的加载机制
原文连接:https://www.cnblogs.com/ityouknow/p/5603287.html 类加载机制的奥妙. 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读 ...
- jQ中css()和addClass的区别之优先级
笔者在实现点击表格中某行添加高亮的效果时,发现一个css()和addClassd()的冲突,具体代码如下: <style> .se { background:#FF6500; color: ...
- Python基础学习之文件(1)
1.文件对象 文件对象不仅可以用来访问普通的磁盘文件,还可以访问具有文件类型接口的其他对象;文件只是连续的字节序列. 2.文件内建函数(open()) 内建函数open()是打开文件的"钥匙 ...