重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
上帝_无言
10年积累的网站制作、成都网站制作经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先网站设计后付款的网站建设流程,更有金凤免费网站建设让你可以放心的选择与我们合作。
关注
Oracle数据库打补丁方法 原创
2022-04-29 17:54:42
 1点赞

上帝_无言 
码龄5年
关注
本篇仅针对DB 12.1.0.2.0 版本12C 的Opatch工具打补丁来讲解
Oracle 补丁过程
一,全库备份 oracle
用户:
abcdef
密码:
123
数据库:
ruru
全库导出命令
exp abcdef/123@ruru file=E:\bak.dmp full=y
二,关闭实例,关闭进程,关闭监听器。
1.开始菜单搜索,打开Sqlplus, 输入 /as sysdba 登录
2.执行 shutdown immediate 关闭数据库实例,
3.停止相关服务,打开任务管理器,服务列,找到oracle相关服务右键停止

4.停止相关进程,打开任务管理器,进程列,找到相关进程 结束进程。

三,备份Opatch, 解压补丁,打补丁。
1.opatch 文件夹备份,防止错误,可以恢复。

2.开始菜单搜索 命令提示符, 右键 以管理员身份运行,
进入到 %ORACL_HOME%\APP\product\12.1.0\dbhome_1\OPatch

再进入相关补丁文件内 执行 …\opatch apply 命令执行打补丁过程

最后显示 Successed 即为打补丁成功。
四,启动相关进程,启动oracle, 更新sql.
1.启动之前关闭的服务器 服务列中相关服务,点击开始,

2.使用sqlplus连接数据库,启动实例
开始菜单搜索,打开Sqlplus, 输入 /as sysdba 登录
3.使用 startup 命令启动数据库实例。
4. 使用 PL/SQL 测试是否可以正常连接数据库,
如果连接失败 运行打开PDB, 如果正常连接 则不需要。
alter pluggable database all open;
5.更新注册信息 到数据表,
在sqlPlus中 执行该命令
@?/rdbms/admin/dpload.sql
最后结果出现如下图,即为打补丁成功。

文章知识点与官方知识档案匹配
MySQL入门技能树使用数据库 创建和删除数据库
29055 人正在系统学习中
打开CSDN,阅读体验更佳
Windows环境下给oracle打补丁详细教程_范微的博客
检测当前数据补丁安装情况。C:\WINDOWS\system32opatch lsinventory Invoking OPatch 11.1.0.6.6 Oracle 中间补丁程序安装程序版本 11.1.0.6.6 版权所有 (c) 2009, Oracle Corporation。保留所有权利。 Oracle 主目录 : F:\app\mr_...
oracle滚动打补丁,使用Oracle Opatch打补丁_从一小姐的博客
1: MOS上下载对应的补丁(support.oracle.com); 2: 在打补丁前,有条件的情况下对数据库进行一次全备份; 检查数据库环境: 每个补丁的应用都有一定的环境,包含数据库版本,Opatch版本,我们通过命令opatch Isinventory来进行检查,操作如下:...
Oracle数据库如何打补丁
Oracle安装好后,还需要打上补丁,才能够稳定地运行的哦。
mysql漏洞如何打补丁_【补充】Mysql数据库测试及使用环境搭建教程
一、背景介绍Metasploit就是一个漏洞框架。它的全称叫做The Metasploit Framework,简称叫做MSF。Metasploit作为全球最受欢迎的工具,不仅仅是因为它的方便性和强大性,更重要的是它的框架。它允许使用者开发自己的漏洞脚本,从而进行测试。那么如何利用Metasploit(msf)进行Mysql弱口令爆破呢?如何搭建Sql靶机呢?接下来让我们一起学习!二、资...
继续访问
Oracle 11.2.0.4打补丁的方法_蚁库的博客
Oracle 11.2.0.4打补丁的方法 一、概述 本文主要介绍了Oracle 11.2.0.3 升级到11.2.0.4的补丁的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 二、打补丁 所需补丁及高版本opatch...
oracle数据库如何打补丁_DoveFeng的博客
为解决手工方式的缺陷,从9.2版开始,Oracle公司设计实现了个别补丁安装管理工具opatch.opatch使用一个称为inventory的系统数据结构(严格说是与oui共享inventory),集中管理所有已安装的个别补丁;个别补丁的安装和卸载都使用opatch命令完成,冲突检测...
Oracle补丁就该这么打
Oracle补丁就该这么打 原创 金震宇 IT那活儿 今天 [ 补丁集下载 ] oracle打补丁最常见原因为bug修复或安全迎检漏洞修复需要打到最新的补丁版本。下文的经验之谈是基于rac环境,19c版本的最新补丁集的过程分享。 可以参考《Assistant:Download Reference for Oracle Database/GI Update, Revision, PSU,SPU(CPU), Bundle Patches, Patchsets and Base Releases (Doc I
继续访问
最新发布 Oracle rac 19C(19.16)补丁升级(OPatch 34130714)操作过程
在升级完成后本次操作有个实例未能启动,手动通过集群命令进行拉起此告警实例。6.完成数据字典更新后关闭实例进行OJVM升级,再次进行数据字典升级。6.完成数据字典更新后关闭实例进行OJVM升级,再次进行数据字典升级。2.两个节点grid、oracle替换OPatch工具。2.两个节点grid、oracle替换OPatch工具。2.两个节点备份grid、oracle家目录。2.两个节点备份grid、oracle家目录。5.节点一所有实例,进行数据字典更新。5.节点一所有实例,进行数据字典更新。
继续访问
记录Oracle rac 19C(19.15)补丁升级(OPatch 33803476)操作过程
提示以下是本篇文章正文内容,下面案例可供参考。
继续访问
Windows环境下给oracle打补丁详细教程
Windows环境下给oracle打补丁详细教程
继续访问

oracle 打补丁
oracle 11G补丁安装
继续访问
小白入门(九):Oracle数据库打补丁操作过程
文章目录前言简要介绍:一.OPatch 更新:1、检查目前补丁包版本($ORACLE_HOME下):2、创建目录备份当前Opatch工具:3、传输压缩包并解压Opatch工具至$ORACLE_HOME下:二、应用PSU补丁:1、Oraclehome下创建目录解压PSU补丁:2、执行oracle 中间补丁安装程序:3、停止监听以及数据库:4、应用补丁:三、数据库应用补丁:1、升级数据库数据字典、编译无效对象 :2、查看 PSU 更新信息3、opatch 检查:1、升级前检查是否有冲突1.1测试兼容性, 如果之
继续访问
oracle 补丁,Oracle补丁介绍一
【前言】保证数据库的稳定与安全运行是DBA的价值所在,Oracle Database本身也是一个软件,随着系统的使用场景和使用深度的增加一些原本没被发现的漏洞或BUG就会逐渐被发现。所以成熟的IT企业,往往会定期对数据库进行安全检查和补丁的更新;【一】Oracle版本命名规则在进行Oracle更新补丁之前,先对Oracle的版本命名有个认识。从9i之后,oracle版本命名规则定义如下:A.B.C...
继续访问
热门推荐 mysql[漏洞打补丁]小版本升级5.7.25到5.7.28
mysql[漏洞]小版本升级 事件背景 近日,公司进行安全扫描,发现mysql存在漏洞,高危漏洞编号为(CVE-2019-3822),此外还有多个中危,低危漏洞,目前mysql版本为5.7.25 解决方案 对mysql进行小版本升级到5.7.28,生产环境无法联网,用rpm 包离线安装,选择就地升级。 Mysql的两种升级方式 就地升级(In-place Upgrade) 关闭旧版本mys...
继续访问

Oracle打补丁步骤
1、登录MOS,在patchesupdates查找自己想要安装的补丁号或者bug code,下载补丁。同时查阅readme,这里面写的是怎么安装补丁以及安装补丁的事项。 2、将下载好的zip文件传入要打补丁的主机。解压到一个文件夹里(可以是自己临时创建的一个文件夹PATCH_TOP_DIR,但需要注意整个文件夹包括里面的文件的属主都修改为oracle) 3、关闭数据库...
继续访问
Oracle 11.2.0.4 RAC 手动打补丁
1 补丁介绍 GI补丁一般包括DB补丁,在打GI补丁过程中会自动打上DB补丁。也就是说GI版本=DB版本 比如下载GI补丁包p26635745_112040_Linux-x86-64,解压其实里面包括22502505、26392168、26609929三个目录,而DB补丁包p26392168_112040_Linux-x86-64.zip解压后就是26392168目录 1. 1 下载补丁和...
继续访问
oracle滚动打补丁,ORACLE打补丁的方法和案例
打补丁使用opatch工具,具体操作方法以补丁包中的readme.txt为准1.查看某个补丁是否安装的方法(下面命令不行就升级opatch)$ORACLE_HOME/OPatch/opatchlsinventory2.下载补丁包查看当前opatch版本。Oracle 11.2.0.1.0自带的opatch版本是11.1.0.6.6。补丁包的README.html中有描述该补丁或PSU需要的最低版本...
继续访问

oracle滚动打补丁,Oracle打补丁过程补丁7272646
redhat enterprise linux 6.1安装oracle 11.1.0.6.0,会提示错误:OUI-18001:the operating systemRedHat enterprise linux 6.1安装Oracle 11.1.0.6.0会提示错误:OUI-18001:the operating system 'Linux
除了Oracle的激活和可用性之外,我们还需要进行检测以确保它可以用,这样我们还可以检测表空间的容量 。
检测的脚本:
◆假设所有的Oracle环境都已经搭建起来了
◆假设所有的扩展都已经达到了最大的限度
◆假设左右的表空间都缺乏运行的空闲空间
下面的脚本可以在你想要的任何时候通过crontab 来中断 。另外,如果上面的例外情况出现了的话,您还可以就这个脚本写信或者电子邮件给支持人员获得帮助 。
如果您有什么其他的测试,这个脚本可以让您轻松地进行修改以加以利用 。我使用这个Monitororcl 脚本作为模板并且在末尾添加了功能 。
按crontab来调用query_oracle_instances.sh 脚本:
#!/bin/ksh
. /u01/home/oracle/.profile
/u01/app/oracle/admin/monitororcl
cat /u01/app/oracle/admin/Get_Oracle_Instance_Listexit
Get_Oracle_Instance_List 脚本如下:
instance_name1 tnsname1 sys_password_for_this_instanceinstance_name2 tnsname2 sys_password_for_this_instanceinstance_name3 tnsname3 sys_password_for_this_instance下面是MONITORORCL脚本:
#!/bin/ksh
#script : Rick Stehno
# script will monitor to see if Oracle is upwhile [ "$1" != "" ]
do
ORACLE_INSTANCE=$1
ORACLE_TNS=$2
USR_ID=sys
USR_PASS=$3
# echo "Instance: [$ORACLE_INSTANCE]"
# echo "TNS [$ORACLE_TNS]"
# echo "PASS: [$USR_PASS]"
LOGFIL=/u01/app/oracle/admin/monitordev1.outNOTIFY_LIST=userid1@mobilephone.com,userid2,userid3@pagercompany.com#
# 检测关键的段没有达到最大限度
sqlplus -s $LOGFIL 2/dev/null
$USR_ID/$USR_PASS@$ORACLE_TNS
set pages 0
select distinct YES from dba_segments
where extents = (max_extents-5) and segment_name not like 1.%;EOF1
grep -i ^ORA- $LOGFIL /dev/null
if [ $? -eq 0 ]
then
echo "$0 failed: check $ORACLE_INSTANCE for problems" | /bin/mailx -s "${ORACLE_INSTANCE} : Script failed" $NOTIFY_LISTexit 1
fi
MAXEXTENTS_REACHED=`awk { print $1 } $LOGFIL`if [ "$MAXEXTENTS_REACHED" = "YES" ]
then
echo "$0 failed: $ORACLE_INSTANCE max extents reached" | /bin/mailx -s "${ORACLE_INSTANCE} : max extents reached" $NOTIFY_LISTexit 1
fi
#
# 检测是否能分配下一个段
sqlplus -s $LOGFIL 2/dev/null
$USR_ID/$USR_PASS@$ORACLE_TNS
set pages 0
select distinct YES from dba_segments ds
where next_extent
(select max(bytes) from dba_free_space
where tablespace_name = ds.tablespace_name);EOF2
grep -i ^ORA- $LOGFIL /dev/null
if [ $? -eq 0 ]
then
echo "$0 failed: check $ORACLE_INSTANCE for problems" | /bin/mailx -s "${ORACLE_INSTANCE} : Script failed" $NOTIFY_LISTexit 1
fi
POSSIBLE_NEXTEXT_FAIL=`awk {print $1 } $LOGFIL`if [ "$POSSIBLE_NEXTEXT_FAIL" = "YES" ]
then
echo "$0 failed: $ORACLE_INSTANCE cannot extend segment" | /bin/mailx -s "${ORACLE_INSTANCE} : max extents reached" $NOTIFY_LISTexit 1
fi
shift 3
# echo "shift done"
done
echo "Successful completion of $0" `date`exit 0
我们在windows上安装了测试环境oracle10g,路径E:\oracle\product\10.2.0\db_1\OPatch,点击执行opatch.bat,报错“Oracle Home is not set. OPatch cannot proceed!”。在环境变量里面配置ORACLE_HOME路径E:\oracle\product\10.2.0\db_1\,再次执行opatch.bat lsinventory,输出:
Invoking OPatch 10.2.0.1.0
Oracle 中间补丁程序安装程序版本 10.2.0.1.0
版权所有 (c) 2005, Oracle Corporation。保留所有权利。。
Oracle 主目录 : E:\oracle\product\10.2.0\db_1
主产品清单: n/a
从 : C:\Program Files\Oracle\Inventory
OPatch 版本 : 10.2.0.1.0
OUI 版本 : 10.2.0.1.0
OUI 位置 : E:\oracle\product\10.2.0\db_1\oui
日志文件位置 : E:\oracle\product\10.2.0\db_1\cfgtoollogs\opatch\opatch-2007_Jul_
09_10-42-17-CST_Mon.log
Lsinventory Output file location : E:\oracle\product\10.2.0\db_1\cfgtoollogs\opa
tch\lsinv\lsinventory-2007_Jul_09_10-42-17-CST_Mon.txt
--------------------------------------------------------------------------------
已安装的顶级产品 (1):
Oracle Database 10g 10.2.0.1.0
此 Oracle 主目录中已安装 1 个产品。
此 Oracle 主目录中未安装任何中间补丁程序。
作为一个开发/测试人员,或多或少都得和数据库打交道,而对数据库的操作归根到底都是SQL语句,所有操作到最后都是操作数据,那么对sql性能的掌控又成了我们工作中一件非常重要的工作。下面简单介绍下一些查看oracle性能的一些实用方法:
1、查询每台机器的连接数
select t.MACHINE,count(*) from v$session t group by t.MACHINE
这里所说的每台机器是指每个连接oracle数据库的服务器,每个服务器都有配置连接数据库的连接数,以websphere为例,在数据源中,每个数据源都有配置其最大/最小连接数。
执行SQL后,可以看到每个服务器连接oracle数据库的连接数,若某个服务器的连接数非常大,或者已经达到其最大连接数,那么这台服务器上的应用可能有问题导致其连接不能正常释放。
2、查询每个连接数的sql_text
v$session表里存在的连接不是一直都在执行操作,如果sql_hash_value为空或者0,则该连接是空闲的,可以查询哪些连接非空闲, web3 是机器名,就是WebSphere Application Server 的主机名。
select t.sql_hash_value,t.* from v$session t where t.MACHINE='web3' and t.sql_hash_value!=0
这个SQL查询出来的结果不能看到具体的SQL语句,需要看具体SQL语句的执行下面的方法。
3、查询每个活动的连接执行什么sql
select sid,username,sql_hash_value,b.sql_text
from v$session a,v$sqltext b
where a.sql_hash_value = b.HASH_VALUE and a.MACHINE='web3'
order by sid,username,sql_hash_value,b.piece
order by这句话的作用在于,sql_text每条记录不是保存一个完整的sql,需要以sql_hash_value为关键id,以piece排序,如图
Username是执行SQL的数据库用户名,一个sql_hash_value下的SQL_TEXT组合成一个完整的SQL语句。这样就可以看到一个连接执行了哪些SQL。
4、.从V$SQLAREA中查询最占用资源的查询
select b.username username,a.disk_reads reads, a.executions exec,
a.disk_reads/decode(a.executions,0,1,a.executions) rds_exec_ratio,
a.sql_text Statement
from v$sqlarea a,dba_users b
where a.parsing_user_id=b.user_id
and a.disk_reads 100000
order by a.disk_reads desc;
用buffer_gets列来替换disk_reads列可以得到占用最多内存的sql语句的相关信息。
V$SQL是内存共享SQL区域中已经解析的SQL语句。
该表在SQL性能查看操作中用的比较频繁的一张表,关于这个表的详细信息大家可以去 上学习,介绍得比较详细。我这里主要就将该表的常用几个操作简单介绍一下:
1、列出使用频率最高的5个查询:
select sql_text,executions
from (select sql_text,executions,
rank() over
(order by executions desc) exec_rank
from v$sql)
where exec_rank =5;
该查询结果列出的是执行最频繁的5个SQL语句。对于这种实用非常频繁的SQL语句,我们需要对其进行持续的优化以达到最佳执行性能。
2、找出需要大量缓冲读取(逻辑读)操作的查询:
select buffer_gets,sql_text
from (select sql_text,buffer_gets,
dense_rank() over
(order by buffer_gets desc) buffer_gets_rank
from v$sql)
where buffer_gets_rank=5;
这种需要大量缓冲读取(逻辑读)操作的SQL基本是大数据量且逻辑复杂的查询中会遇到,对于这样的大数据量查询SQL语句更加需要持续的关注,并进行优化。
3、持续跟踪有性能影响的SQL。
SELECT * FROM (
SELECT PARSING_USER_ID,EXECUTIONS,SORTS,
COMMAND_TYPE,DISK_READS,sql_text FROM v$sqlarea
ORDER BY disk_reads DESC
)
WHERE ROWNUM10
这个语句在SQL性能查看中用的比较多,可以明显的看出哪些SQL会影响到数据库性能。
本文主要介绍了使用SQL查询方式查看oracle数据库SQL性能的部分常用方法。此外还有许多工具也能实现SQL性能监控,大家可以在网上搜索相关知识进行学习。
转载仅供参考,版权属于原作者
一、如果是windows操作系统,打开任务管理器-进程,如果里面有oracle.exe,证明本机已装oracle数据库,并且数据库正在运行。
二、在DOS命令下输入:telnet 127.0.0.1 1521
如果未出现连接到端口失败,那就表式有oracle服务
这个方法也可以检测远端计算机是否安装oracle服务
在DOS命令下输入:set 回车 , 看到oracle_home的字样,也可以看到。
这种方法可以检测许多应用服务,如邮件、DNS、FTP、WEB等等
其他方法在控制面板安装卸载那里也可以看
如果你是将服务器端安装在本地,而且只使用sqlplus或只使用JAVA的JDBC进行开发,
不需要使用其他的第三方客户端去访问Oracle数据库,你可以不安装Oracle的客户端。
当然,为了使用方面,还是安装Oracle客户端比较好,Oracle的客户端与服务器端是可以同时安装的,没有冲突的。访问的时候就是直接网址就行了
数据库 写 22.11.92.1:1521/orcl
你可以从 otn.oracle.com上直接下载正版安装软件。用作学习和研究用是免费的,但是没有补丁。企业用的话可能涉及到一些版权问题。你可以打oracle license sales的热线来 800 810 0161 来确认是不是有合法的license。 是不是在有效期内,如果是的话,会有一个叫做客户服务号(CSI)的东东。拿它可以去 support.oracle.com上面查内部文档,提问题,下补丁 什么的。