自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(162)
  • 资源 (2)
  • 收藏
  • 关注

原创 Oracle SQL多表关联索引优化案例

近期迁云,云上磁盘性能很差,对当前数据库优化IO如下SQL消耗IO资源很高:SELECT SUM("A2"."FEE_CASH"), '1',"A1"."CHL_REFUND_NO","A2"."PAYPLAT_TRADNO", 2 FROM (SELECT MAX("A4"."UUID") "MAX(TTTT.UUID)" FROM "HUZH_CREDIT"."B_SETTILE_DATA" "A4" GROUP BY "A

2021-09-07 17:52:00 2057

原创 Oracle 大表回表过滤优化案例

某业务报表SQL:执行时间3小时.asncn3a24zu67SELECT NVL(XHSD0001.CG_F_GHSMC_TONGJI_SPBS_CGB(FHMX.SPBS), '0000000000') KHBH, FHMX.CGBMBH, ROUND(SUM(DECODE(FHMX.CLZT, 'e', FHMX.SFSL, FHMX.SSSL)), 0) SL, SUM(FHMX.MY) MY, SUM(FHMX.SY) S

2021-09-07 16:51:47 1155

原创 Oracle VIEW PUSHED PREDICATE案例分析

SELECT * FROM (SELECTA.INVOICE_ID, A.VENDOR_ID, A.INVOICE_NUM, A.INVOICE_AMOUNT, A.GL_DATE, A.INVOICE_CURRENCY_CODE, SUM(NVL(B.PREPAY_AMOUNT_APPLIED,0)) PAID_AMOUNT

2021-08-31 16:35:33 1020

原创 Oracle Cardinality Feedback

关闭动态采样:SQL> alter session set optimizer_dynamic_sampling=0;Session altered.获取sharepool中使用基数反馈的子游标。SQL> select sql_ID,USE_FEEDBACK_STATS FROM V$SQL_SHARED_CURSOR where USE_FEEDBACK_STATS ='Y';SQL_ID U------------- -0mp85ftwxaky5 Y

2021-08-31 16:03:03 432

原创 Oracle Adaptive Cursor Sharing(ACS)

Adaptive Cursor Sharing(ACS) 解决了绑定变量窥探问题开启自适应游标共享后测试绑定变量窥探:确保开启自适应共享游标相关参数:alter system set "_optim_peek_user_binds"=true scope=spfile;alter system set "_optimizer_adaptive_cursor_sharing"=TRUE scope=spfile;alter system set "_optimizer_extended_c

2021-08-31 15:59:45 399

原创 Oracle Bind Value Peeking

Oracle 9i引入绑定变量窥视技术(Bind Value Peeking),在没有这项技术之前,使用绑定变量后,执行计划的产生要靠默认的选择性判断,这种判断往往会出现严重的偏差,加了这项技术后,当SQL进行硬解析时,对于使用了绑定变量的字段,不再采用以往默认的cost来分析的方式,而是会对绑定变量进行窥探,也就是优化器采集绑定变量的值,用窥探到的绑定变量的值来计算CBO的开销,生成执行计划为了测试Bind Value Peeking:在11g环境下先将自适应共享游标关闭:alter sy

2021-08-31 15:56:38 177

原创 Oracle CBO Transformation-FPD(filter push-down)

对于用户写的SQL,Oracle会进行等价改写。这种改写转换都是基于一种固定的算法,也叫启发式转换,大多存在问题,比如我们写in,oracle在有可能的情况下,会将in转换成exist,然后用semi join的方式给你做join,在一般情况下exist比in...一.Oracle不做transformation,这时你就要去分析原因二.Orale做错了transformation,导致了错误的结果集.(复杂的视图)join: inner-join:等值连接 outer-jo...

2021-08-19 16:46:57 924

原创 Oracle 一次ORA-00600[13013]

起初后台报错:昨晚9点至早上10点:ORA-00600: , : [13013], [5001], [126801], [109382409], [101], [109382437], [17], [], [], [], [], []Incident details in: /opt/app/oracle/diag/rdbms/jcd/jcd/incident/incdir_99948/jcd_ora_23550_i99948.trcNon critical error ORA-48113 caug

2021-03-17 21:55:02 488

原创 Oracle ORA-1499 table/Index Cross Reference Failure

ORA-1499 table/Index Cross Reference Failure - see trace file (Doc ID 1499.1)详情:Error: ORA 01499Text: table/Index Cross Reference Failure - see trace file-------------------------------------------------------------------------------Cause: An error o

2021-03-17 21:37:47 415

原创 Oracle 一次ORA-00600[kdsgrp1]

报错语句:select * from zx_wonder.TB_LIS_REPORT t where bgrq>'20210101'出现:ORA-00600: 内部错误代码, 参数: [kdsgrp1], [], [], [], [], [], [], [], [], [], [], []观察trace:[oracle@ETL trace]$ more /oracle/diag/rdbms/etl/ETL/trace/ETL_ora_25565.trc出现:* kdsgrp1-1:

2021-03-17 21:33:59 762

原创 Oracle DataGuard环境下使用TDE透明加密需要注意的点

DataGuard环境下使用TDE透明加密:开启TDE:1.创建一个新目录,并指定为wallet目录$ mkdir -p /oracle/wallet设置wallet目录的方法很简单,编辑参数文件sqlnet.ora:$ vi $ORACLE_HOME/network/admin/sqlnet.ora加入以下信息,保存。ENCRYPTION_WALLET_LOCATION= (SOURCE= (METHOD=file) (METHOD_DATA= (DIRECTORY

2021-03-08 23:47:34 942 1

原创 Oracle 搭建OracleRAC底层存储策略设置(VMware底层存储vsan6.7)

VMware厚置备延迟置零,厚置备置零,精简置备的概念:1.厚置备延迟置零立刻分配指定大小的空间,空间内数据暂时不清空,以后按需清空。2.厚置备置零立刻分配指定大小的空间,并将该空间内所有数据清空。3.精简置备为该磁盘文件指定增长的最大空间,需要增长的时候检查是否超过限额。在客户环境的VMware环境下.由于底层存储设备采用VSAN 6.7.虚拟机存储策略为VSAN默认策略.那么磁盘策略也就是VSAN默认策略.在VSAN6.7中,默认的策略为精简置备.要记住如果搭建Oracle RAC使

2021-03-07 18:14:05 830

原创 Linux Centos6使用网络源出现404问题

说明:2020年11月30日,Centos6停止维护.2020年12月2日,下架所有Centos6的源以及网易,阿里都无法使用.问题 :http://mirrors.aliyun.com/centos/6/os/x86_64/repodata/repomd.xml:[Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”Trying other mirror.可用网络源:[centos-off

2021-01-29 23:35:02 376

转载 Oracle SGA:allocation forceing comonent growth与cursor:pin s wait on X问题排查

1.问题现象20年12月31日,数据库应用人员反映2020-12-31 12:40:10存在告警,过了几分钟之后业务恢复正常。表现的状态:Connect to database time out, please check db status!因为业务反馈的内容很有限,所以我们取了12月31日12:00-13:00的AWR进行分析。可以看到AAS并不是很高,AAS=755.39/32.05=23.57(备注:AAS是衡量快照时间内数据库负载的重要指标)通过AWR观察可以看到有大量的cursor

2021-01-28 23:10:58 300

转载 Oracle LATCH ROW CACHE OBJECT案例

LATCH ROW CACHE OBJECT问题分析客户的系统,先后发生了几次Latch:row cache object等待,该等待会导致CPU迅速达到100%。SQL> select event,p1,P1RAW from v$session where event='latch: row cache objects';EVENT P1 P1RAW-------------------------

2021-01-27 23:10:11 2094

原创 Oracle SGA:allocation forceing comonent growth

Mos给出解释:属于明显的内存抖动故障排查视图:通过v$sga_resize_ops可以查询出AMM内存管理下的内存收缩增长分配情况:V$SGA_RESIZE_OPS官方解释:displays information about the last 800 completed SGA resize operations. This does not include in-progress operations. All sizes are expressed in bytes.当前执行的操作记录

2021-01-27 23:05:09 359

转载 Oracle 值得学习的一篇有关v$Latch的文章

值得学习的一篇有关Latch的文章:Latch的请求获取类型分为两种模式:Willing-to-wait:是指如果所请求的latch不能立即得到,请求进程将等待一很短的时间后再次发出请求。进程一直重复此过程直到得到latch。Immediate:是指如果所请求的latch不能立即得到,请求进程就不再等待,而是继续执行下去。以下参数都是对于Willing-to-wait模式的latch而言的,no-wait模式的latch获得情况统计值则在IMMEDIATE_GETS和IMMEDIATE_MISSES

2021-01-26 23:15:04 504

原创 Oracle PL/SQL工具kill会话跟踪测试

一:问题说明:在PL/SQL DeveloperVersion 11.0.5.1790 (64.bit)使用PL/SQL Developer进行kill会话,发现没有kill会话的选项。客户咨询,这种kill会话的情况是属于正常kill会话还是属于立即kill会话:二 跟踪测试:使用PLSQL连接测试数据库,并定位到当前会话ID:PL/SQL会话信息:SID=404 serial#=24050使用Oracle 10046事件进行跟踪该会话:查询出OS进程ID:select spid

2021-01-25 21:27:38 1024

原创 Oracle 一种CPU高定位会话的诊断思路

很多时候,系统CPU资源使用率高通常都是由于SQL导致的.所以找到这些问题SQL通常也就找到了问题所在.思路如下:1.通过top工具直接定位到高CPU耗用的进程PIDtop / ps -ef oracleora11g1 (LOCAL=NO)2.如果这些进程是远程连接数据库的进程,我们就可以通过系统层面PID和v$ process.spid相关联.select addr from v$process where spid=xxx3.进而再通过v$ process.addr和v$session

2021-01-24 22:34:03 192

原创 Oracle 统计信息的备份恢复机制

统计信息的备份恢复机制:今天说一下统计信息的备份恢复机制.从Oracle10g开始,当收集统计信息的时候,旧的统计信息会被保留,如果因为新的统计信息而出现性能问题,旧的统计信息旧可以被恢复。Oracle的历史统计信息保存在以下几张表中:WRI$_OPTSTAT_TAB_HISTORY 表的统计信息WRI$_OPTSTAT_IND_HISTORY 索引的统计信息WRI$_OPTSTAT_HISTHEAD_HISTORY 列的统计信息WRI$_OPTSTAT_HISTGRM_HISTORY 直方图的

2021-01-23 23:06:27 709 1

原创 Oracle 19c ORA-00700: soft internal error, arguments: [pga physmem limit]

19c数据库启动有ORA-00700错误:ORA-00700: soft internal error, arguments: [pga physmem limit], [5368709120], [3268329062], [], [], [], [], [], [], [], [], []内存设置问题:如果SGA+PGA>OS Memory * 80%,启动时则会给出错误警告.仅在19c版本中给出错误告警,具体看Mos:Getting ORA-00700 Message when Sta

2021-01-22 22:26:42 2399

原创 Oracle 集群资源db_unique_name不一致导致密码文件失效

情况描述:RAC集群环境,尝试通过tnsname连接备库.出现密码不正确的问题,问题反馈到我这里:[oracle@rac1 ~]$ sqlplus sys/oracle@orcldg as sysdbaSQL*Plus: Release 12.2.0.1.0 Production on Thu Jan 21 10:57:38 2021Copyright (c) 1982, 2016, Oracle. All rights reserved.ERROR:ORA-01017: invalid us

2021-01-21 22:20:18 360

原创 Oracle 共享内存段未释放导致数据库无法启动

Oracle 数据库异常关闭,共享内存未释放,导致无法启动。以下内容为测试环境复原故障现场:流程:尝试启动数据库出现报错信息:[oracle@server1 ~]$ sqlplus / as sysdbaSQL*Plus: Release 11.2.0.4.0 Production on Thu Jan 21 00:18:04 2021Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to an idle inst

2021-01-20 23:22:26 892

原创 Oracle shmmax参数设置与SGA的关系

Linux系统层面shmmax定义的是单个共享内存段的最大值.如果该参数设置小于Oracle SGA设置,那么SGA仍然可以创建成功,但是会被分配多个共享内存段.推荐调整shmmax设置,将SGA限制在一个共享内存段中。在Linux平台shmmax默认值为32M:[root@server1 ~]# more /proc/sys/kernel/shmmax33554432[oracle@server1 ~]$ sqlplus / as sysdbaSQL> startup;ORACLE in

2021-01-20 23:12:08 696

原创 Oracle DBCA出现PRVG-6085 : failed to retrieve the ASM parameter “cluster_database“ value

Oracle 12.2.0.1 RAC环境下DBCA新建实例.进行安装前检测时出现ASM Integrity:详细内容:报错信息:PRVG-6085 : failed to retrieve the ASM parameter “cluster_database” value on the node “rac1” PRVG-12941 : An internal command ‘cvuhelper’failed to run a SQL query on ASM on node “rac1”.

2021-01-20 23:04:05 635

转载 Oracle Warning: VKTM detected a time drift.

集群版本:11.2.0.4 数据库版本:11.2.0.4文章来自:https://www.linuxidc.com/Linux/2016-03/128903.htm时间是包括数据库系统在内的诸多信息系统基础件的重要因素。对于运行在操作系统OS之上的中间件组件而言,获取到一个准确、连续和一致的时间非常重要,特别是多节点的环境下。如果没有一个统一的时间管理机制,其上的cluster组件工作是及其困难的。本篇主要介绍Oracle vktm时间后台进程报警的Bug问题。1.从11g VKTM进程谈起对O

2021-01-19 22:18:07 2576

原创 Oracle NFS异常导致RAC集群宕机排查

本套RAC环境采用NFS做RAC共享存储.dbca安装实例时,安装中途集群宕机,记录一下。首先查看dbca安装日志:[root@rac1 ~]# tail -100f /oracle/app/cfgtoollogs/dbca/orcl/trace.log_2021-01-19_05-50-20PM[progressPage.flowWorker] [ 2021-01-19 17:57:49.336 CST ] [InstanceStepOPS.executeImpl:1213] create p

2021-01-19 22:02:50 1231

原创 Oracle 数据块头部的Fuzzy标记

Fuzzy标记位于数据文件头块offset 138中.可以使用bbed进行查询,0x04表示Fuzzy为YES,0x00表示fuzzy为NO当数据块的SCN可能大于数据文件头的SCN时,FUZZY标记为YES,所以数据库打开时的数据文件头fuzzy状态始终为YES。当数据正常运行时, 数据文件头的Fuzzy状态为YES.当数据正常关闭时,数据文件头的Fuzzy状态为NO.当数据异常关闭时, 数据文件头的Fuzzy状态为YES.SQL> select file#,status,fuz

2021-01-18 22:29:45 987

原创 Oracle RAC存储双活采用第三方仲裁的原因

Oracle RAC存储双活采用第三方仲裁的原因:DATA:设置双Failure group,每个存储柜为一个故障组,做normal冗余,一路镜像,Oracle保证每一个extent和它对应的镜像不会保存在相同的Failure group中,从而确保了当Failure group 中的某一个或多个磁盘,甚至整个failure group全部丢失时也不会有数据丢失,并实现了数据的镜像。OCR:在oracle中,一个节点必须能够访问大多数的VF(VF/2+1)才能够运行,如果某个节点在一个时间内一直无法

2021-01-17 21:23:50 800 1

原创 MYSQL 初识Innodb存储引擎

Innodb存储引擎:InnoDB存储引擎自Mysql5.5以后,为Mysql默认存储引擎,特性如下:1.支持事务,遵循ACID。2.支持行级锁,并且引入类似Oracle数据库中的一致性读特性,以提升多用户并发时的读写特性。3.InnoDB支持主外键约束.4.InnoDB存储引擎由于具备日志体系所以也具备Oracle的实例恢复特性5.InnoDB拥有自己独立的缓冲池(对应innodb_buffer_pool_size,类似于Oracle数据库中的SGA_TARGET),常用数据 (含索引)都在缓

2021-01-17 20:47:13 216 1

原创 MYSQL 5.7.31二进制包安装

mysql二进制包下载地址:https://downloads.mysql.com/archives/community/上传软件包至tmp目录:[root@mysql57 tmp]# pwd/tmp[root@mysql57 tmp]# ll mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz-rw-r–r-- 1 root root 118 Jan 16 11:29 mysql-5.7.31-linux-glibc2.12-x86_64.tar.gz创建

2021-01-16 20:43:15 326 1

原创 Oracle AWR详解-DB Time

AWR报告头:需要了解的信息如下:CPUs:64个Cores:32核Memory:内存为128GSessions:采样快照点时刻的session数,Cursors/Session:每个session开启的游标数(根据这个判断ora-1000错误)Elapsed:代表采样时间.结束快照点-起始快照点的时间.DB Time: 所有用户会话(前台会话)花费在数据库调用上的总和时间(不包含后台进程).这个时间包含CPU时间,CPU队列时间,以及非空闲会话的等待时间,所以DB TIME= DB CP

2021-01-16 20:37:46 1814

原创 Oracle RAC异常进程占用端口导致VIP监听注册出现Not All Endpoints Registered

Oracle RAC VIP监听注册情况如下:[grid@rac11gn1 ~]$ crsctl status res -tora.LISTENER.lsnr ONLINE INTERMEDIATE rac11gn1 Not All Endpoints Registered ONLINE online rac11gn2 排查流程:1.尝试手动注册

2021-01-15 10:02:06 894

原创 Oracle 磁盘IO异常诊断定位

说明:客户反应,系统IO负载很高,前台业务卡顿,远程连接排查问题.首先IO负载高存在两种情况.操作系统层面观察IO浮动情况,判断是否由于存储设备异常导致.数据库层面定位物理读,进而确定导致IO异常的原因.由于操作系统IO负载很高,我们在数据库内部可以直接通过v$ sesstat,v$ stguatname以及v$session三个视图获取到物理读最多的会话正在执行的SQL.确定物理读统计信息号:select name,statistic# from v$statname where name

2021-01-15 09:56:08 1203

原创 Oracle ORA-27090: UNABLE TO RESERVE KERNEL RESOURCES FOR ASYNCHRONOUS DISK I/O

说明:RAC更换存储后存储断链路后进行mulitiph -ll查询存储链路信息出现io_setup_failed情况结合当时ASM进行rebalance时出现ORA-27090: UNABLE TO RESERVE KERNEL RESOURCES FOR ASYNCHRONOUS DISK I/O出现问题原因为fs.aio-max-nr值设置过小。redhat官网给出建议为将该值调大oracle官网给出的标准化安装参数最小值为1048576核心生产不敢轻易调整.最终根据mos查询出一篇

2021-01-14 18:27:43 1066

原创 Oracle 数据泵异常JOB状态DEFINING处理

10.2.0.5数据泵导入hang住,JOB变为异常DEFINING状态.前台输出以及日志输出:Import: Release 10.2.0.5.0 - 64bit Production on Thursday, 14 January, 2021 14:02:50Copyright (c) 2003, 2007, Oracle. All rights reserved.;;; Connected to: Oracle Database 10g Enterprise Edition Releas

2021-01-14 18:13:13 1550

原创 Oracle v$active_session_history与dba_hist_active_sess_history关系与区别

1.v$ active_session_history(活动session历史信息记录)ASH(v$ active_session_history)与v$ session为基础,每秒钟采样一次,记录活动会话(非idel会话)的等待事件等一系列信息至,对于每个活动的session,每次采样会记录一行,并保存在ASH buffer中.2.dba_hist_active_sess_history(保留活动历史会话的采集信息)要知道ASH信息最终都是要写入AWR的,v$ active_seesion_hist

2020-12-27 19:50:59 2312 2

原创 Oracle 会话层面性能诊断视图

会话层面性能诊断视图1.v$event_name:记录当前数据库版本所有的等待事件2.v$system_wait_class:可通过该视图获得各类主要等待事件的等待时间和等待次数信息.例如:select * from v$system_wait_class order by time_waited;WAIT_CLASS_ID WAIT_CLASS# WAIT_CLASS TOTAL_WAITS TIME_WAITED TOTAL_WAITS_FG TIME_WAITED_

2020-12-27 19:48:52 262 1

原创 Oracle 10g中dba_objects无法查询出lob字段索引

说明:在一次expdp跨版本迁移时(10g->11g),迁移完成后,在进行目标端与源端对象数量校验时.发现目标端索引数量比源端索引数量多。校验语句如下:select OWNER,OBJECT_TYPE,count(*) from dba_objects where owner in ('ANONYMOUS','BAJK','BATJ','EMR','EMR3','EMRJK','ZHLIS','JYK','XUEYE','HISBAK','YLSBGL','PDJH','DSG','SCOTT'

2020-12-14 19:33:49 407

原创 Oracle RAC磁盘采用multipath做多路径

规划:两节点磁盘信息如下:NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsr0 11:0 1 3.5G 0 rom /media/20140320_093241sdc 8:32 0 4G 0 disk sdf 8:80 0 4

2020-12-14 19:31:29 1758

Oracle BBED工具解压包

BBED(Oracle Block Browerand EDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用。该工具不受Oracle支持。

2020-09-30

mdbutil.pl.zip

19c rac数据库安装时候不再强制安装mgmt,ps:在rac安装界面组件叫做gimr,勾选了以后自动安装mgmt,那么如何快速添加mgmt呢?利用 mdbutil.pl脚本快速添加mgmt

2020-08-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除