摘要:
在测试PlateSpine克隆的数据库服务器时,由于资源有限,克隆过来的数据库服务器只给了9G的内存,结果在测试时,老是会出现OOMkiller导致宕机,即out of memory killer,是linux下面当内存耗尽时的的一种处理机制。当内存较少时,OOM会遍历整个进程链表,然后根据进程的内存使用情况以及它的oom score值最终找到得分较高的进程,然后发送kill信号将其杀掉。... 阅读全文
随笔分类 - 数据库技术(Oracle)
ORA-00600 3020 ORA-10567案例
2016-11-25 15:48 by 潇湘隐者, 2502 阅读, 收藏, 编辑
摘要:
PlateSpin克隆复制出的Oracle数据库服务器,往往启动数据库实例都会遇到一些杂七杂八的问题。今天测试DR环境时又遇到了一个特殊场景,在此之前,我已经遇到了下面两起案例: ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [], [], [], [] ORA-00600: internal... 阅读全文
ORA-00600: internal error code, arguments: [4194]
2016-11-21 14:51 by 潇湘隐者, 11972 阅读, 收藏, 编辑
摘要:
使用PlateSpin复制出来的一数据库服务器(Oracle 10g)在启动数据库实例时遇到“ORA-00600: internal error code, arguments: [4194].....”错误,实例在启动后,会自然Down掉。具体情况如下所示: Successfully onlined Undo Tablespace 54.Mon Nov 21 11:34:03 2016SMON... 阅读全文
ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'
2016-11-10 11:26 by 潇湘隐者, 2964 阅读, 收藏, 编辑
摘要:
凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库。报ORA-12570 TNS:packet reader failure 2. 使用lsnrctl status检查监听,一直没有响应,这个是极少见的情况。 3. 检查数据库状态为OPEN,使用nmon检查系统资源。如下一... 阅读全文
[转载】——故障排除:Shared Pool优化和Library Cache Latch冲突优化 (文档 ID 1523934.1)
2016-10-31 15:59 by 潇湘隐者, 2445 阅读, 收藏, 编辑
摘要:
原文链接:https://support.oracle.com/epmos/faces/DocumentDisplay?_adf.ctrlstate=23w4l35u5_4&id=1523934.1用途 提出问题,得到帮助并分享您的心得 排错步骤 什么是shared pool? 专用术语 Literal SQL Hard Parse... 阅读全文
ORACLE推导参数Derived Parameter介绍
2016-10-30 23:46 by 潇湘隐者, 1579 阅读, 收藏, 编辑
摘要:
Oracle的推导参数(Derived Parameters)其实是初始化参数的一种。推导参数值通常来自于其它参数的运算,依赖其它参数计算得出。官方文档关于推导参数(Derived Parameters)的概念如下: Derived Parameters Some initialization parameters are derived, meaning that their values... 阅读全文
SQL Challenge ——快速找到1-100之间缺失的数
2016-10-18 17:02 by 潇湘隐者, 5556 阅读, 收藏, 编辑
摘要:
有个经典的题目:1-100之间的数字(不重复)存放在表里,共95行一列,但是里面缺了5个数字,怎么用SQL最快找出那五个数字。 我们先来看看Oracle数据库如何实现,如下所示,我们先准备测试环境和数据。 SQL> create table t( id number(10)); Table created. SQL> begin 2 for i in 1 .. 100 3 loo... 阅读全文
ORACLE 物理读 逻辑读 一致性读 当前模式读总结浅析
2016-10-08 23:37 by 潇湘隐者, 9010 阅读, 收藏, 编辑
摘要:
在ORACLE数据库中有物理读(Physical Reads)、逻辑读(Logical Reads)、一致性读(Consistant Get)、当前模式读(DB Block Gets)等诸多概念,如果不理解或混淆这些概念的话,对你深入理解一些知识无疑是一个障碍,但是这些概念确实挺让让人犯晕的。下面我们总结、学习一下这方面的知识点。捋一捋他们的关系和特点,希望对你有所帮助。 物理读(... 阅读全文
ORACLE的SQL JOIN方式小结
2016-10-07 12:13 by 潇湘隐者, 54172 阅读, 收藏, 编辑
摘要:
在ORACLE数据库中,表与表之间的SQL JOIN方式有多种(不仅表与表,还可以表与视图、物化视图等联结),官方的解释如下所示 A join is a query that combines rows from two or more tables, views, or materialized views. Oracle Database performs a join whenever... 阅读全文
ORACLE等待事件:enq: TX - row lock contention
2016-09-19 23:26 by 潇湘隐者, 16579 阅读, 收藏, 编辑
摘要:
enq: TX - row lock contention等待事件,这个是数据库里面一个比较常见的等待事件。enq是enqueue的缩写,它是一种保护共享资源的锁定机制,一个排队机制,先进先出(FIFO)。enq: TX - row lock contention等待事件,OACLE将其归类为application级别的等待事件。有些场景是因为应用逻辑设计不合理造成的。下面我们看看enq: TX ... 阅读全文
ORACLE等待事件: log file parallel write
2016-09-07 15:09 by 潇湘隐者, 5295 阅读, 收藏, 编辑
摘要:
log file parallel write概念介绍 log file parallel write 事件是LGWR进程专属的等待事件,发生在LGWR将日志缓冲区(log_buffer)中的重做日志信息写入联机重做日志文件组的成员文件,LGWR在该事件上等待该写入过程的完成。该事件的等待表示重做日志所处的磁盘设备缓慢或存在争用。下面看看官方一些资料是如何解释log file parallel w... 阅读全文
ORACLE调整SGA_TARGET值耗费时间长案例
2016-09-04 23:59 by 潇湘隐者, 6015 阅读, 收藏, 编辑
摘要:
在一数据库版本为(标准版)Oracle Database 10g Release 10.2.0.4.0 - 64bit Production 的服务器上调整 sga_target时,遇到命令执行了非常久都没有执行完成的异常情况,觉得非常诧异、不解,因为一般调整sga_targt命令非常快速,检查了告警日志,并没有任何异常错误,等了好几分钟都没有执行完成,于是执行了CTRL+C命令结束了SQL命令,... 阅读全文
为什么忘记commit也会造成select查询的性能问题
2016-09-02 23:53 by 潇湘隐者, 4481 阅读, 收藏, 编辑
摘要:
今天遇到一个很有意思的问题,一个开发人员反馈在测试服务器ORACLE数据库执行的一条简单SQL语句非常缓慢,他写的一个SQL没有返回任何数据,但是耗费了几分钟的时间。让我检查分析一下原因,分析解决过后,发现事情的真相有点让人哭笑不得,但是也是非常有意思的。我们先简单构造一下类似的案例,当然只是简单模拟。 假设一个同事A,创建了一个表并初始化了数据(实际环境数据量较大,有1G多的数据),但是他忘... 阅读全文
为什么数据库有时候不能定位阻塞(Blocker)源头的SQL语句
2016-08-30 11:48 by 潇湘隐者, 4386 阅读, 收藏, 编辑
摘要:
在SQL Server数据库或OACLE数据库当中,通常一个会话持有某个资源的锁,而另一个会话在请求这个资源,就会出现阻塞(blocking)。这是DBA经常会遇到的情况。当出现SQL语句的阻塞时,很多人想查看阻塞的源头(哪个SQL语句阻塞了哪个SQL),这样方便直观、简洁明了的定位问题。但是很多时候,很多场景,我们通过SQL语句并不能或者说不容易定位到阻塞者(Blocker)的SQL语句... 阅读全文
ORACLE使用GV_$TEMP_SPACE_HEADER统计临时表空使用情况不准确的问题
2016-08-22 22:24 by 潇湘隐者, 4429 阅读, 收藏, 编辑
摘要:
以前写了一篇ORACLE临时表空间总结的文章, 里面介绍了几个查看临时表空间使用情况的脚本,其中一个脚本如下所示: SELECT TU.TABLESPACE_NAME AS "TABLESPACE_NAME", TT.TOTAL - TU.USED ... 阅读全文
ORA-01336: specified dictionary file cannot be opened
2016-08-21 10:56 by 潇湘隐者, 2176 阅读, 收藏, 编辑
摘要:
这篇介绍使用Logminer时遇到ORA-01336: specified dictionary file cannot be opened错误的各种场景 1:dictionary_location参数的路径最后多了一个/符号。 SQL> show parameter utl_file_dir; NAME TYPE ... 阅读全文
ORACLE AWR结合ASH诊断分析enq: TX - row lock contention
2016-08-20 11:48 by 潇湘隐者, 6417 阅读, 收藏, 编辑
摘要:
公司用户反馈一系统在14:00~15:00(2016-08-16)这个时间段反应比较慢,于是生成了这个时间段的AWR报告, 如上所示,通过Elapsed Time和DB Time对比分析,可以看出在这段时间内服务器并不繁忙。分析Top 5 Timed Events,我们可以看到前五的等待事件 可以看到等待事件enq: TX - row lock contention占了所有等待... 阅读全文
get_locked_objects_rpt.sql
2016-08-19 17:36 by 潇湘隐者, 1253 阅读, 收藏, 编辑
摘要:
在metalink上看到一个脚本(get_locked_objects_rpt.sql),非常不错,如下所示 /*----------------------------------------------------------------------------+ | MODULE: get_locked_objects_rpt.sql | | DESCRIPTION: | | Script... 阅读全文
RMAN命令LIST操作总结
2016-08-15 15:16 by 潇湘隐者, 19943 阅读, 收藏, 编辑
摘要:
在使用RMAN备份、还原的过程中,我们经常需要查看备份的一些详细信息,例如,RMAN提供了LIST命令。关于LIST命令的详细信息 可以参考Oracle Database Backup and Recovery Reference文档。 列出备份信息 列出详细备份信息:备份集(Backup Sets),镜像备份(image copies),proxy copies的信息。 ... 阅读全文
ORA-02292: integrity constraint (xxxx) violated - child record found
2016-08-12 16:58 by 潇湘隐者, 14518 阅读, 收藏, 编辑
摘要:
在更新表的主键字段或DELETE数据时,如果遇到ORA-02292: integrity constraint (xxxx) violated - child record found 这个是因为主外键关系,下面借助一个小列子来描述一下这个错误: SQL> create table student 2 ( 3 id number, 4 name nvarchar2(12),... 阅读全文