ORACLE DBA
文章平均质量分 62
harryho
这个作者很懒,什么都没留下…
展开
-
kk运维日记,sqlplus / as sysdba 慢
aix 下sqlplus / as sysdba 登陆慢,可能是dns问题。参考10年前文章:http://www.itpub.net/thread-1513521-1-1.html原创 2021-06-24 18:00:34 · 300 阅读 · 0 评论 -
2021-04-27 kk日记,oracle开发数据被删除调查
背景今天,收到开发同学的通知“开发环节数据库部分表被重建了,导致数据丢失,开发受阻。”,帮忙查一下什么原因。问题为什么数据表被重建?为了解答这个问题,先要找到这个人,再问他的操作。分析1、 确认数据表被重建的时间点。 select * from dba_objects where owner='XX' order by created desc;2、根据时间点找到对应操作的用户,如果你的数据库管理做得好,打开了必要的审计是可以做得到的。否则这一步就变得有不确定...原创 2021-04-28 09:10:28 · 118 阅读 · 0 评论 -
2019-11-12 kk日记,使用python完成ora2pg的工作小结
一、案例从商业数据库的使用转移到开源数据库是目前的潮流,所以我也不能免俗,在工作之中,抽出一点时间研究了一下,从oracle到pg到步骤。二、问题从oracle 到 pg 要解决一系列的问题,如:在pg中使用什么架构能够实现oracle rac时的同样架构? oracle 中的sql/plsql代码如何改造? oracle 与 pg 的数据类型如何对应? 如何把oracle的...原创 2019-11-12 18:26:06 · 343 阅读 · 0 评论 -
2017-11-26 DBA日记,oracle闪回查询的源头验证
一、背景描述今日,在oracle DBA群里有一个群友提问,在没有打开闪回数据库的前提下,oracle 闪回查询是依赖于undo,还是会依赖redo ,archivelog呢?结果在群里的讨论就产生了两个派系,一个是只依赖于undo,能闪回的时间长短取决于undo表空间所能保存的数据;另一个就是先取undo,如果undo没有就去取redo,archivelog;那么到底是谁对谁错呢?对于技原创 2017-11-26 16:02:46 · 269 阅读 · 0 评论 -
2017-09-29 DBA日记,oracle下insert产生row lock contention事件记录
案例描述今天在进行RAC 数据库监控时,发现大量的活动会话数,深入调查后,竟然发现是由于insert 语句造成成的阻塞,等待事件为enq tx-row lock contention问题定义为什么insert 语句也会产生row lock contention等待?分析收集数据网络案例收集,在asktom的网站上及www.killdb.com上都有文原创 2017-09-30 10:15:38 · 729 阅读 · 0 评论 -
2017-09-14 DBA日记,记oracle没有采集awr信息一例
一、案例描述在oracle 11g standard edition中生成awr报告内容为空,查看dba_hist_sqlstat,dba_hist_time_model没有内容。二、问题定义为什么在在oracle 11g standard没有采集到awr report需要用到的信息呢?三、诊断收集数据参数原因:网上案例收集,发现从oracle 11原创 2017-09-14 19:06:43 · 2101 阅读 · 0 评论 -
Bind variables - The key to application performance Overview If you've been developing application
Bind variables - The key to application performanceOverviewIf you've been developing applications on Oracle for a while, you've no doubt come across the concept of «Bind Variables». Bind variabl转载 2017-08-24 16:05:18 · 362 阅读 · 0 评论 -
2017-08-22 DBA日记,段收缩
1 目的指导oracle DBA根据不同的场景,快速、正确地完成段碎片整理2 执行人Oracle dba3 执行场景常规场景:数据归档非常规场景:系统对某个表执行频繁insert,delete,造成大量的碎片。4 回收碎片回收碎片,一般可以分为两种方式:在线回收,不会造成业务中断,执行时间长。离线回收,需要中断业务,执行时间长快,需两倍的空间。4.1 在线回收4.1.1使用shrink space原创 2017-09-04 11:14:22 · 480 阅读 · 0 评论 -
2017-08-09 DBA日记,并发高频执行SQL带来的思考
目的(Why)深入理解当高频执行SQL时,oracle所发生的等待事件,并为此制定解决方案。执行人员(Who)ORACLE DBA运行环境(Where)database : oracle 11.2.0.3 + ASM +SSD # 当然是测试环境。OS:IBM AIX 7.1模拟工具:在上一篇提到的使用python自主开发的一款并发工具。模拟场景(W原创 2017-08-09 09:53:49 · 492 阅读 · 0 评论 -
2017-08-08 DBA日记,使用python模拟高并发访问数据库
一、目的1.1 简单快速完成定制高并发模拟1.2 监控高并发情况数据库的资源表现1.3 观察不同的高并发数对数据库的影响二、设计思路2.1 利用python的多线程包,模拟高并发数据库操作,并监控相关资源使用。三、代码#-*-coding=utf8 -*-import threading原创 2017-08-08 14:44:51 · 3712 阅读 · 1 评论 -
2017-07-17 DBA日记,凭直觉发现CRSDG的磁盘问题及处理
1 问题:2017-07-14 8:00左右,收到短信报警“数据库db1的安装目录/u01可用空间低于5%”,是什么原因导致的呢?2 分析:2.1 具体描述:2017-07-14 8:00左右, 数据库db1的安装目录/u01可用空间低于5%2.2 收集数据:ssh登录到db1所在服务器使用命令,显示那个日志目录占用的空间最多,并逐层目录查找: cd /u01 du -sk * 查找结果,发现原创 2017-07-18 19:16:26 · 1000 阅读 · 0 评论 -
2017-06-30 DBA日记,ora-19511及RMAN-06207的诊断和处理
问题:今天备份工程师向我反馈,在将数据库备份从磁盘备份到虚拟带库时,出现如下错误:错误1:RMAN-06207: WARNING: 1 objects could not be deleted for DISK channel(s) dueRMAN-06208: to mismatched status. Use CROSSCHECK command to fix status原创 2017-07-17 11:04:46 · 2386 阅读 · 0 评论 -
2017-06-23 dba日记,ORACLE TFA组件消耗CPU诊断和处理案例
背景:通过数据库资源监控软件看到,有一个集群数据库RAC各个节点的的CPU都会莫名奇妙地有5%瞬间增加到10%,并且还是有规律的出现,为什么出现这种情况呢?分析:具体化:每隔5分钟,数据库名为RAC的各个节点的CPU都会增加5%的使用率,其它RAC数据库节点并不会出现这种情况。数据收集:1.确认具体出现的的时间范围,发现一天24小时,每小时会出现这种重复且有规律的现象。 2. 排查数据库的内部作原创 2017-06-23 23:53:03 · 1512 阅读 · 0 评论 -
2017-06-28 DBA日记,查询v$rman_status缓慢诊断与优化
问题:发现有一条由SYS用户在后台调用的SQL语句“select p, NULL, NULL from (select count(*) p from v$rman_status where operation = 'BLOCK MEDIA RECOVERY')”运行缓慢约5分钟,为什么呢?第一次分析:1)收集数据:1.1 查询v$active_session_history,获得该语句运行时信原创 2017-06-28 15:51:56 · 1509 阅读 · 0 评论 -
oracle licence计算
转载请注明出处:http://blog.csdn.net/pan_tian/article/details/11716111Oracle根据什么来计算License的?Unlimited License AgreementsUnlimited License Agreements通常简称ULA,表示在一个固定期限内(2~5年),企业付一笔前期费用,企业可以无限制的使转载 2017-06-19 11:31:26 · 1269 阅读 · 0 评论 -
2017-10-29 DBA日记,dbms_stats打开并行度后引发递归登录次数过高
案例描述在2017-10-27 17:00时,通过监控软件发现RAC数据库的节点二每隔5分钟出现一次每秒登录的用户数达到4,采样时间为1分钟,那就是说一分钟内有240次登录。节点二除了为业务程序提供服务上,也是数据库后台作业运行专用节点。问题定义是什么原因导致数据库在一分钟内有240次登录呢?收集和分析数据数据库监听器日志信息收集ssh 到rac2原创 2017-10-29 16:04:34 · 529 阅读 · 0 评论 -
2017-11-17 DBA日记,CENTOS 7装ORACLE 11g时报ins_ctx.mk错
一、案例描述在昨天,以前的同事叫我帮忙装一个oracle,环境是在阿里云上的,使用的centos 7操作系统。结果在oracle database 软件安装的过程中却出了一些小问题。在安装进度在84%,收到如下提示: "error in invoking target install of makefile /u01/xxxxxx/ins_cts.mk see ...xxx.log”原创 2017-11-17 14:45:37 · 4997 阅读 · 0 评论 -
2017-10-20 DBA日记,交易系统SQL编写注意事项[征询稿]
一、目的通过提升SQL代码质量,从而提升系统稳定性与吞吐量,以满足持续增长的业务需求。二、高质量SQL的特征运行速度快。运行时占用资源少。代码简洁,易于理解。三、运行目标单条SQL语句运行时间少于等于500ms四、范围使用oracle数据库的在线交易系统使用MYSQL数据库的在线交易系统参考使用.五、面向人员DBA编程人员原创 2017-10-20 14:58:41 · 372 阅读 · 0 评论 -
2019-09-12 KK日记,oracle 19c 容器数据初体验
一、案例oracle 12c 以上数据库的其中一个新特性是容器数据库,在oracle官方文档上描述使用该新特性可以带来多个好处,具体如下:1. Cost reductionBy consolidating hardware and database infrastructure to a single set of background processes, and efficien...原创 2019-09-17 09:40:27 · 2423 阅读 · 1 评论 -
2019-01-28 KK日记,不得不说的ORACLE 实例的remote listener的远程注册
一、背景某天,dba完成生产库的恢复演练,然后打开测试数据库(oracle 11g rac架构),结果发现生产应用连接到我们刚恢复的数据库上,还成功执行了sql。二、问题为什么生产应用会自动连接到刚恢复的数据库呢?三、数据收集和分析3.1 检查应用配置检查应用代码没有直接连接测试库。 检查应用的通用数据库连接配置文件,没有发现连接测试库的配置。3.2 在应用端抓包发...原创 2019-01-29 17:06:11 · 1210 阅读 · 0 评论 -
2018-08-14 KK日记,阿里MQ消息异常回滚排查——原因:本地数据库事务变慢。
一、案例收到用户反馈,最近3天,在20:05-20:10之间阿里MQ部分消息没有消费记录。问为什么?二、问题为什么在最近3天,在20:05-20:10之间阿里MQ部分消息没有消费记录呢?三、收集及分析数据3.1 收集阿里MQ的后台日志阿里MQ管理员收集后台日志没有发现异常情况。3.2 咨询阿里的支持人员建议我们打印更多的程序处理日志 收集更多的数据 提出一些假设...原创 2018-08-14 10:19:09 · 557 阅读 · 0 评论 -
2018-07-19 KK日记,记一次ORACLE碎片引发的ora-1688异常
一、案例收到用户反馈,在oracle 12c 中,有一表空间ts1,明明还有500G空间,但是插入没有多少数据时就报错——ora-01688, "unable to extend table %s.%s partition %s by %s in tablespace %s“二、问题为什么还有可用空间DB还报没有足够空间扩展的错误呢?三、数据收集和分析3.1 信息确认检查表...原创 2018-07-20 11:09:19 · 1884 阅读 · 0 评论 -
2018-06-07 KK日记,ORA-12545故障处理
一、案例某dba反馈前几天刚安装好的rac,让一个小白碰过后,就变得不能用scan-ip访问了,报如下错误“ora-12545 Connect failed because target host or object does not exist”;但是用vip是可以访问的。二、问题为什么使用scan-vip连接DB时会报“ora-12545 Connect failed because targ...原创 2018-06-08 17:13:26 · 740 阅读 · 0 评论 -
2018-06-06 KK日记,ora-609错误处理一例
一、案例昨天,DBA反馈db1从5.26开始在alert_db1.log每一分钟出现4-6次"opiodr aborting process unknown ospid (30232) as a result of ORA-609"二、问题为什么这么频繁出现"opiodr aborting process unknown ospid (30232) as a result of ORA-609"?...原创 2018-06-06 15:20:38 · 2876 阅读 · 0 评论 -
2018-05-29 KK日记,连接ORACLE 12C时报用户名和密码不对
一、案例某天,收到同事反馈,同样用户名和密码其他同事能够成功连接,他自己不行。并报如下错误:ORA-01017: invalid username/password; logon denied二、问题为什么同样的用户和密码有的人登陆成功,有的却登陆失败?三、 数据收集和分析3.1 过往经验根据过往的经验一般是oracle 客户端版与服务器端不兼容连接工具的版本不对3.2 验证验证待连接的数据库版本...原创 2018-05-29 11:24:01 · 4450 阅读 · 0 评论 -
2018-04-26,KK日记,误删DBMS_LOGMNR_D.SET_TABLESPACE的表空间
一、案例我们有一个同事,在测试环境内执行完DBMS_LOGMNR_D.SET_TABLESPACE(‘TBS1’)后,又执行了drop tablespace TBS1 INCLUDING CONTENTS AND DATAFILES;结果导致系统包dbms_logmnr,DBMS_LOGMNR_INTERNAL,dbms_logmnr_d等不能正使用。很不幸,测试环境我们没有备份,那应该如何处理呢...原创 2018-04-27 18:42:52 · 576 阅读 · 3 评论 -
2018-01-23 DBA日记,restore archivelog 失败原因之一
一、背景昨天,有一个同事问我,“为什么恢复日志失败“。二、问题为什么使用oracle rman从NBU上恢复日志失败三、收集数据及分析3.1 询问询问当前数据库的状态。 回复,成功恢复控制文件和数据文件,现处于mount状态,等待日志恢复。询问调用NBU的接口参数是否正确? 回复正确,并说明曾成功恢复数据文件。分析: NBU调用接口正常原创 2018-01-23 10:36:48 · 479 阅读 · 0 评论 -
2017-11-21 DBA日记,oracle asm ha配置全记录
一、案例描述想实现ORACLE DATABASE高可用,但又没有足够的预算购买ORACLE RAC组件,只好使用HA架构了,在过往的案例中,一般都是在采用基于操作系统层的HA软件+ORACLE+文件系统(基于操作系统层的,如ext4,jfs2等存放数据),这个套路就是实现简单,但是损失ASM提供的IO性能了。那么有什么方法,既能实现HA,又能使用ASM所提供IO性能及便捷的数据文件管理呢?原创 2017-12-28 16:42:34 · 712 阅读 · 0 评论 -
2018-01-02 DBA日记,Oracle高并发Insert事务分区表与常规表性能对比
一、案例描述出于自身的好奇,和更好回答别人的提问————“oracle能够支持多少个TPS”?于是进行了如下测试。二、问题Oracle高并发Insert事务分区表与常规表性能差异多少?三、设计3.1 数据设计设计具有相同结构的常规表和分区表,两条索引,具体如下:常规表create table qq_sale (so_no varchar(10),product_name varchar(10),q原创 2018-01-02 16:04:16 · 3162 阅读 · 1 评论 -
2017-05-22 dba日记,使用add_months函数解决现实SQL性能问题
背景: 在数据库DB1上发现有一sql语句没有正确使用索引(没有使用到期望的索引)。分析:1.索引结构: create index idx_t1_01 on t1(period); 2.sql语句关键写法:WHERE TRUNC(MONTHS_BETWEEN(SYSDATE,TO_DATE(period,'YYYYMM'))) = 4; 3. 症状所在,在索引原创 2017-05-22 16:23:59 · 930 阅读 · 0 评论 -
2017-05-21 DBA日记,SQL语句诊断思维图
原创 2017-05-21 10:10:10 · 323 阅读 · 0 评论 -
2017-05-11 DBA日记,导致log file sync单次等待超500ms又一可能
现象描述:在DB1数据库的lgwr日志里发现lgwr写入小量数据(1kb或几十KB)却延时严重(500ms以上)问题:为什么redo log写入小量数却延时严重(500ms以上)?结论:初步判断使用veritas的库文件(含ODM)版本过低造成,会令lgwr写日志时挂起3秒,oracle技术文档建议升级到5.1。行动:1. 根据文档确认我们使用的veritas 库文件版原创 2017-05-11 07:19:00 · 1251 阅读 · 0 评论 -
2017-04-30 DBA日记,由于大量换页,swap空间不足系统挂起
背景:今天,接到用户反馈,数据库DB1连接不上,需我进行排查及恢复,经过初步诊断后,发现在09:28分由于swap空间不足令操作系统挂起,数据库没有响应,采用紧急恢复手段,重启操作系统,恢复使用。问题:是什么原因令操作系统的swap空间不足呢?分析:1)当前的SWAP空间是16G,物理内存是64G,数据库分配约59G2)故障发生时,当前数据库进行原创 2017-05-02 23:24:24 · 908 阅读 · 0 评论 -
2016-11-15 dba日记,latch cach buffer chain诊断
Troubleshooting 'latch: cache buffers chains' Wait Contention (文档 ID 1342917.1)In this DocumentPurposeTroubleshooting StepsWorked example:Problem: Database is slow and 'latch: cache buffers转载 2017-04-13 17:42:22 · 515 阅读 · 0 评论 -
2017-04-27 DBA日记,关于存储光纤交换机故障引发的数据库性能问题
背景:有一项目负责人向我反馈,在今天凌晨,系统有一个作业运行时间慢了30分钟,需要我诊断是那里出了问题。问题:是什么原因令这系统作业运行时间比平常慢了30分钟?核心思想:看到的并不就是事实的真相及其全部,或许只有现象,或许只是线索。为追求真相及事实的全部,你需要耐心,有条理地进行科学的分析。或全面、或主次!方法论:原创 2017-04-28 15:20:53 · 821 阅读 · 0 评论 -
2017-04-13 DBA日记,当sga_target=0 和memory_target=0还会自动调整内存的研究
背景:今天发现我管理的数据库DB1,当sga_target=0 和memory_target=0时,db_cache_size与shared_pool_size还是会自动调整,这样严重影响数据库的性能状况。db:oracle 11.2.0.3 for aixos:aix 问题:为什么当sga_target=0 和memory_target=0时,db_cache原创 2017-04-13 15:47:46 · 2423 阅读 · 0 评论 -
2017-03-08 DBA日记,sql语句绑定变量及after logon database触发器的影响
手记一:背景:今日有个DBA的同事和我说一个关于sql语句写法导致硬解释的case ,特滋记录过程:当cursor_sharing=force 时,如下sql语句是不会重用执用执行计划的:SQL1:select name --不需要显示全部字段from authorwhere id=1;SQL2:select na原创 2017-04-04 09:41:44 · 385 阅读 · 0 评论 -
2017-02-28 DBA日记,同城双活的技术研究
背景“同城双活”这一概念在2016年之后提得特别多,为了与时俱进,今天就专门研究一下这个课题。目的研究同城双活的架构模式,为企业系统架构的未来发展作好准备。问题1.什么是同城双活?2.oracle给出那出解决方案?3.Mysql又给出那些解决方案?分析1. 同城双活的定义:双活数据中心,区别于一个数据中心、一个灾备中心的模式。灾难转载 2017-04-03 19:39:20 · 1550 阅读 · 0 评论 -
2017-03-08 DBA日记之二,在oracle中exec 及 call的区别
背景:兴之所致,突然想了解oracle中exec与call的区别。资料挖掘:CALL is Oracle SQL and should work everywhere. Other DB clients that can talk to Oracle may or may not support SQL*Plus EXEC. Many do (for example, Orac原创 2017-04-03 19:37:41 · 341 阅读 · 0 评论 -
2017-04-12 DBA日记,频繁commit导致的log file sync的诊断
背景:2017-04-11 19:20收到开发员反馈,在某库db1上执行update语句很快,但commit很慢,至少执行了5分钟commit都没有返回。问题:是什么原因导致commit被挂起/阻塞呢?分析:1)当前正在运行什么后台作业呢?备份?还是之前发现的一个从18:00跑到21点的后台作业呢?2)确认备份完成时间,发现在18:51完成,不在本次原创 2017-04-12 11:03:37 · 1405 阅读 · 0 评论