![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
oracle性能优化
DBGuardian
这个作者很懒,什么都没留下…
展开
-
Oracle RAC 全局等待事件 gc current block busy 和 gc cr multi block request 说明
详情见:https://blog.csdn.net/tianlesoftware/article/details/7777511一.RAC 全局等待事件说明在RAC环境中,和全局调整缓存相关的最常见的等待事件是global cache cr request,global cache busy和equeue。当一个进程访问需要一个或者多个块时,Oracle会首先检查自己的Cache是否存在该块,如果发现没有,就会先通过global cache赋予这些块共享访问的权限,然后再访问。假如,通过g.原创 2020-05-15 15:33:38 · 1350 阅读 · 0 评论 -
GC Buffer Busy Waits in RAC: Finding Hot Blocks
转自:https://ardentperf.com/2007/09/12/gc-buffer-busy-waits-in-rac-finding-hot-blocks/Well I don’t have a lot of time to write anything up… sheesh – it’s like 10pm and I’m still messing with this. I should be in bed. But before I quit for the night I thoug原创 2020-05-15 15:08:53 · 324 阅读 · 0 评论 -
OGG常用命令整理
转自:https://blog.csdn.net/liuzhijian2008x/article/details/792243081.查看进程状态GGSCI (PONY) 2> info all2.查看进程详细状态,有助于排错GGSCI (PONY) 2> view report +进程名称3.查看告警日志信息GGSCI (PONY) 2> view ggs...原创 2020-04-19 14:39:10 · 2100 阅读 · 0 评论 -
Centos 7 安装GNOME桌面环境
最近装oracle,由于需要用到桌面环境,但是默认的安装没有该环境,并且ifconfig netstat等管理命令也没有,需要安装。第一步:列出可安装的桌面环境[root@local ~]# yum grouplist第二步:安装GNOME及相应桌面管理工具[root@local ~]# yum group info "Graphical Administration Too...原创 2020-03-18 16:19:42 · 742 阅读 · 0 评论 -
ORACLE正则表达式使用
1:+匹配1个或者多个字符或者数字,直到遇到第一个不为字母或者字符返回SQL> SELECT regexp_substr('1PSN/231_3253/ABc', '[[:alnum:]]+') FROM dual; REGEXP_S--------1PSN2:1表示从第一个开始匹配;2表示第二次出现;从第一个字符开始匹配,找到第二次出现全部为字母的字符串SQL>...原创 2020-03-12 08:15:24 · 278 阅读 · 0 评论 -
Linux下启用异步IO
#是否已经安装了AIO包#rpm -qa|grep aiolibaio-0.3.107-10.el6.x86_64libaio-devel-0.3.107-10.el6.x86_64libsane-hpaio-3.12.4-4.el6_4.1.x86_64#数据库在链接时是否已经加载了aio的包$/usr/bin/ldd $ORACLE_HOME/bin/oracle | gre...原创 2019-05-13 15:37:52 · 818 阅读 · 0 评论 -
Oracle Library Cache 的 lock 与 pin 说明
一. 相关的基本概念之前整理了一篇blog,讲了Library Cache 的机制,参考: Oracle Library cache 内部机制 说明 http://www.cndba.cn/Dave/article/1381 在这个机制中,没有详细讲library 上的lock 和pin。这转载 2018-01-12 15:48:03 · 636 阅读 · 0 评论 -
Latch详解
本文以学习为目的,大部分内容来自网络转载。什么是Latch串行化 数据库系统本身是一个多用户并发处理系统,在同一个时间点上,可能会有多个用户同时操作数据库。多个用户同时在相同的物理位置上写数据时,不能发生互相覆盖的情况,这叫做串行化。串行化会降低系统的并发性,但这对于保护数据结构不被破坏来说则是必需的。在Oracle数据库中,通过闩锁(latch)、锁定(lock)、互斥(mutex)来实行...原创 2018-03-19 15:12:49 · 8805 阅读 · 0 评论 -
Oracle后台专家解决library cache锁争用的终极武器
今天来给大家分享一个Oracle使用中的小技巧。 当某条SQL语句或者对象被反复访问,过多的软解析可能会造成大量的“library cache:mutex X”争用,有什么样的方法处理此类问题呢?这是个头疼的问题。 今天的话题,就是介绍如何利用hotcopy来缓解library cache中的热点争用。在oracle 11g中,“library cache:mutex X”是个有点特殊的mutex...转载 2018-03-19 15:13:51 · 1287 阅读 · 0 评论 -
Oracle Library cache 内部机制 说明
一. Library Cache 说明 LibraryCache 是Oracle SGA 中Shared pool 的组成部分。Shared Pool的说明,参考之前的blog: Oracle Shared pool 详解 http://www.cndba.cn/Dave/article/1540转载 2018-01-12 15:46:28 · 344 阅读 · 0 评论 -
Oracle Library Cache Lock 解决思路
一. Library Cache Lock Library cacheHandle 里保存了lock 和 pin 的信息。而且在Library cache handle 和child cursor 上都有lock 和pin。它们称为library cache lock和library cache pin。 Library cacheloc转载 2018-01-12 14:55:04 · 2610 阅读 · 0 评论 -
oracle字符集修改
尝试方法一:在sys/sys 下面执行下面语句:(失败)注:SQL> alter database CHARACTER SET ZHS16GBK;alter database CHARACTER SET ZHS16GBK结果报下面错误:ERROR 位于第 1 行:ORA-12712: 新字符集必须为旧字符集的超集。注:超集解释:如果s1集合包含s2集合中的每一个原创 2017-12-18 14:26:30 · 303 阅读 · 0 评论 -
ORACLE数据库创建表空间ORA-03206报错的解决方案
Oracle的数据文件大小是有限制的,今天在创建表空间的时候就遇到了问题,限制很简单,作为DBA必须要了解。 测试环境: 操作系统:Win7 64位专业版 数据库版本:64位Oracle10.2.0.4 DB_NAME:hoegh 表空间名称:hoegh 在执行创建表空间语句时报错,具体语句如下: create tablespace转载 2017-12-18 11:00:11 · 1194 阅读 · 0 评论 -
oracle存储过程加密
引言:平时大家在做项目的时候,经常会遇到把Oracle存储过程带到项目现场来测试系统。这时如果想对自己的存储过程进行保密,不使别人看到源代码,就可以对已有的存储过程进行加密保护。顾名思义,就是对Oracle存储过程源码的加密。当然不是什么时候都需要的,当有的项目对安全性要求比较高的时候可以采用,下面我就用案例来介绍这种加密方式和实验结果。实验环境操作系统版本Red Hat原创 2017-11-28 09:25:10 · 1247 阅读 · 0 评论 -
DBA_FREE_SPACE查询慢的原因及解决方法
转自:http://www.cndba.cn/Expect-le/article/261DBA_FREE_SPACE查询慢的原因及解决方法MOS文档271169.11.当执行查询表空间使用空间,速度非常慢 SELECT D.TABLESPACE_NAME, SPACE, (SPACE - NVL (FREE_SPACE, 0)),原创 2017-09-15 12:50:33 · 5376 阅读 · 0 评论 -
浅谈cursor_sharing取值对SQL共享的影响(上)
在Oracle中,用户应用输入的SQL语句要进行所谓的Parse解析过程,用于生成执行计划,这也就是Query Optimizer的主要工作。在Parse中,有两种具体类型,被称为“hard parse”(硬解析)和“Soft parse”(软解析)。 “实现执行计划shared cursor共享,减少硬解析”是我们OLTP系统优化一个重要方向。但是,让Oracle真正实现SQL共享不是一件容易的...转载 2018-03-19 15:21:07 · 279 阅读 · 0 评论 -
浅谈cursor_sharing取值对SQL共享的影响(下)
上篇我们介绍了Oracle SQL共享游标的机制,以及cursor_sharing参数EXACT取值作用。本篇我们继续介绍cursor_sharing参数的其他两个取值:FORCE和SIMILAR的实际含义。 4、 FORCE——强制共享执行计划 默认值EXACT的作用是不对非字面SQL绑定变量进行替换操作。而FORCE值和SIMILAR取值意味着Oracle需要对输入的SQL语句进行处理,首先...转载 2018-03-19 15:23:05 · 342 阅读 · 0 评论 -
使用 10046 查看执行计划并读懂 trace 文件
查看 sql 执行计划的方法有许多种, 10046 事件就是其中的一种. 与其他查看 sql 执行计划不同, 当我们遇到比较复杂的 sql 语句, 我们可以通过 10046 跟踪 sql 得到执行计划中每一个步骤的逻辑读, 物理读以及花费的时间等. 这种细粒度的跟踪对于我们分析 sql 性能尤其有用.一般来说, 使用 10046 事件得到 sql 执行计划的步骤如下:1. 激活当前 sess...原创 2019-08-07 09:03:24 · 448 阅读 · 0 评论 -
【Oracle】11g direct path read介绍:10949 event、_small_table_threshold与_serial_direct_read
转自刘相兵老师的博文:http://www.askmaclean.com/archives/11g-direct-path-read-10949-_small_table_threshold-_serial_direct_read.html在11g之前串行的扫描大表默认总是先将数据读取到Oracle高速缓冲中,其等待事件常为db file scattered read。从11g开...原创 2019-08-07 08:59:26 · 814 阅读 · 0 评论 -
数据库升级二 11.2.0.3升级到11.2.0.4完整步骤
转自:http://blog.itpub.net/20674423/viewspace-1352257/探索Oracle之数据库升级二11.2.0.3升级到11.2.0.4完整步骤说明:这篇文章主要是记录下单实例环境下Oracle 11.2.0.1升级到11.2.0.3的过程,当然RAC的升级是会有所不同。但是他们每个版本之间升级步骤都是差不多的,先升...原创 2019-07-30 16:12:04 · 2391 阅读 · 1 评论 -
OPatch failed with error code 2
在检查补丁冲突时报错code 2[oracle@DBMONITOR01 ~]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./Oracle Interim Patch Installer version 11.2.0.3.12Copyright (c) 2018, Oracle Corporation. All rights ...原创 2019-07-30 15:46:09 · 1250 阅读 · 0 评论 -
opatch apply 报错 OPatch failed with error code 73
1.执行opatch apply 报错 OPatch failed with error code 73 [oracle@ora_11g 14275605]$ /opt/oracle/product/db_1/OPatch/opatch apply ./ Oracle Interim Patch Installer version 11.2.0.3.0 Copyright (c) 20...原创 2019-07-30 15:43:11 · 3941 阅读 · 0 评论 -
Oracle 11.2.0.4.0打PSU补丁升级至11.2.0.4.19
一、简单介绍:Oracle补丁一般分为2类:CPU和PSUØCPU:Critical Patch Update,紧急补丁更新。每季度发布一次,用来修复安全方面的累积型补丁,即最新的CPU补丁已经包含以往的CPU补丁,只需安装最新的CPU补丁即可。CPU已更名为SPU(Security Patch Update)。ØPSU:Patch Set Update,补丁集更新。Oracl...原创 2019-07-30 15:39:25 · 2454 阅读 · 0 评论 -
性能优化:Linux环境下合理配置大内存页(HugePage)
PC Server发展到今天,在性能方面有着长足的进步。64位的CPU在数年前都已经进入到寻常的家用PC之中,更别说是更高端的PC Server;在Intel和AMD两大处理器巨头的努力下,x86 CPU在处理能力上不断提升;同时随着制造工艺的发展,在PC Server上能够安装的内存容量也越来越大,现在随处可见数十G内存的PC Server。正是硬件的发展,使得PC Server的处理能力越来越...原创 2019-07-08 19:02:51 · 2861 阅读 · 0 评论 -
hugepage的配置
linux的hugepage的配置linux虽然没有aix,hp unix那么强悍,但linux也是非常优秀的,为了提升linux的性能,它采用了很多io,memory的调度机制,linux使用内存的方式是采用vm的方式,即linux把物理内存和swap共同虚拟成内存来对外提供,有时用户看似使用内存,可实际上是使用磁盘,那如何避免使用swap磁盘空间呢?linux管理内存的单位是...原创 2019-05-13 15:34:52 · 1036 阅读 · 0 评论 -
library cache lock on BUILD$ object
I was testing an application performance in 12c, and one job was constantly running slower than 11g. This post is to detail the steps. I hope the steps would be useful if you encounter similar issue....原创 2018-04-24 15:49:39 · 294 阅读 · 0 评论 -
log file sync等待事件
上图非常清楚的表述了单实例模式下用户提交操作的处理过程,从图中可以看出正常情况下log file sync事件的大部分时间被log file parallel write占据,除此之外,还有一部分时间消耗在cpu调度上面,如下图:从上图可以看出,如果cpu资源紧张也会造成log file sync等待时间的延长。来自吕大师(vage)对log原创 2017-08-14 14:34:56 · 763 阅读 · 0 评论 -
Oracle 11g全表扫描以Direct Path Read方式执行
在Oracle Database 11g中有一个新特性,全表扫描可以通过直接路径读的方式来执行(Direct Path Read),这是一个合理的变化,如果全表扫描的大量数据读取是偶发性的,则直接路径读可以避免大量数据对于Buffer Cache的冲击。当然对于小表来说,Oracle允许通过Buffer Cache来进行全表扫描,因为这可能更快,也对性能影响不大。小表受到隐含参数:原创 2017-08-14 10:54:28 · 815 阅读 · 1 评论 -
buffer busy waits
buffer busy waits 当n个进程想以不兼容的模式持有内存块上的buffer pin的时候,就会产生buffer busy waits等待。什么?1内存块上有bufferpin ?不是说内存块的锁都是靠latch实现的吗?什么时候还冒出一个buffer pin?从来没听说过!!好,既然你这么问,那我们可以先假设没有buffer pin这东东,看看oracle怎么去原创 2017-05-04 17:08:43 · 322 阅读 · 0 评论 -
Latch争用
本帖最后由 chencheng523523 于 2012-8-31 17:31 编辑访问频率非常高的数据块被称为热块(Hot Black),当很多用户同时访问某个数据块时,就会导致Lanch争用。常见的Lanch争用A buffer busy waitsB cache buffer chain一、如果是cache buffer chain Latch的,要看访问相同数据块的会话会太长或这个列表太长转载 2015-03-24 16:04:58 · 521 阅读 · 0 评论 -
在oracle中跟踪会话执行语句的几种方法
生成sql trace可以有以下几种方式:1、参数设置:非常传统的方法。系统级别:参数文件中指定: sql_trace=true或SQL> alter system set sql_trace=true;注意:系统级别启用sql_trace,会产生大量trace文件,很容易耗尽磁盘空间,因此一般设置会话级别,并且及时关闭。会话级别:S转载 2015-08-21 10:30:35 · 3072 阅读 · 0 评论 -
Oracle 10g Scheduler 全面介绍
Oracle 10g Scheduler 特性 在10g 环境中,ORACLE 建议使用Scheduler 替换普通的job,来管理任务的执行。其实,将Scheduler 描述成管理job 的工具已经太过片面了,10G版本中新增的Scheduler 绝不仅仅是创建任务这么简单. 一. 使用Jobs 所谓JOBS,其实就是Scheduler 管理的一个(或多个)任务的执行调度转载 2014-04-16 22:58:49 · 646 阅读 · 0 评论 -
oracle的dbms_scheduler
--创建job--一 :job_name 为创建的job的名称 --二 :job_type目前支持三种类型:PLSQL_BLOCK : -- (1)PL/SQL块: 需要输入完整的PL/SQL代码;-- (2)STORED_PROCEDURE : 存储过程: 需要指定存储过程的名字;-- (3)EXECUTABLE: 外部程序: (外部程序可以是一个shell脚本原创 2013-08-02 14:59:39 · 1445 阅读 · 0 评论 -
latch: cache buffers chains
当一个数据块读入sga区,相应的buffer header会被放置到hash列表上,我们称其这hash chains,chain在中文的意为链条或串的意思,表达就是关连性.如果一个进程想访问或修改hash chain上的block,它首先要获得”cache buffers chains” latch。原因一:低效率的SQL语句(主要体现在逻辑读过高)cache buffers chai转载 2015-03-24 16:21:28 · 484 阅读 · 0 评论 -
sql_trace
序号命令解释1SET AUTOTRACE OFF此为默认值,即关闭Autotrace 2SET AUTOTRACE ON EXPLAIN只显示执行计划3SET AUTOTRACE ON STATISTICS 只显示执行的统计信息转载 2013-07-24 12:39:19 · 655 阅读 · 0 评论 -
Oracle 常见的33个等待事件
一. 等待事件的相关知识:1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件。1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时候,不用过多注意这部分事件。2). 非空闲等待事件专门针对ORACLE的活动,指数据库任务或应用运行过程中发生的等待,这些等待事件是在调整数据库的时候需要关注与研究的。在Oracle 10转载 2014-04-16 23:22:19 · 640 阅读 · 0 评论 -
ORACLE给一个两亿条记录的表创建索引需要考虑的问题
1)创建的索引需要几个G的磁盘空间 2)创建索引需要排序,使用pga_aggregate_target,要把这个值从200M加大到2G 3)如果内存不够,需要temp表空间,把temp表空间加大到8G。itpub上有一个帖子说过,15亿条记录用了34G空间。 4)在线创建,时间会比较长。讨论后,停这个表的操作,非online创建。原创 2014-09-03 13:36:41 · 4945 阅读 · 0 评论 -
oracle 实时查询最耗CPU资源的SQL语句
1. 先通过top命令查看产用资源较多的spid号 2.查询当前耗时的会话ID,用户名,sqlID等:select sid,serial#,machine,username,program,sql_hash_value,sql_id, to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time from v转载 2015-03-23 14:01:15 · 804 阅读 · 0 评论 -
v$latch
Latch 是一种低级串行锁机制,用来保护内存结构。Latch 机制会通过对内存位的置0或置1来持有或者释放Latch。v$latch 展现的是统计信息的汇总,v$latch_children 展现的是统计信息的明细。之所以这样设计,是因为Latch在本质上是串行的,为了提高并发性,Oracle将很多内存结构进行分隔、拆分,通过多个子Latch来分别守护不同的内存区域,从而提升了性能。转载 2015-03-20 18:57:14 · 835 阅读 · 0 评论 -
Oracle直方图解析
Oracle直方图解析一、 何谓直方图:直方图是一种统计学上的工具,并非Oracle专有。通常用于对被管理对象的某个方面的质量情况进行管理,通常情况下它会表现为一种几何图形表,这个图形表是根据从实际环境中所收集来的被管理对象某个方面的质量分布情况的数据所绘制成的,通常会画成以数量为底边,以频度为高度的一系列连接起来的矩形图,因此直方图在统计学上也称为质量分布图。比如下图所示,是一个以关转载 2013-07-27 11:13:18 · 811 阅读 · 0 评论