您现在的位置:首页
--> Oracle
前一段时间,在帮助用户恢复一个数据库时,用到了_smon_internal_errlimit参数。 客户数据库遭受存储损坏无法打开,数据文件存在大量坏块,我们强制打开数据库后遇到了如下错误
2004年,笔者曾经帮客户处理过一则案例,其中涉及SQL_TRACE的使用,我们首先来回顾一下这个案例。 客户的应用是一个后台新闻发布系统,主要性能问题是通过连接访问新闻页极其缓慢,通常需要十数秒才能返回,这是用户不能忍受的。客户操作系统是SunOS 5.8,数据库版本为8.1.7。 面对这个问题,首先想到的是SQL问题,但如何定位具体的问题SQL成为我们考虑的主要目标,通过Statspack采样是一个全局手段,而通过sql_trace则可以实时...
这是客户的一个Oracle9iR2 RAC数据库环境,数据库版本为Oracle 9.2.0.8,主机为IBM P55a小型机。最初客户集群环境运行稳定,后来一台主机出现硬件故障退出集群,问题出现在主机维修完毕之后,当故障主机重新加入现有环境运行,客户发现应用性能出现衰减,前端收费系统响应缓慢,反而不如一个节点工作时的性能。
在数据库启动之后,需要从操作系统上分配共享内存和信号量(Semaphore)资源,而在某些情况下,数据库异常关闭后,这些资源有可能无法正常释放,则在下次启动时,数据库可能遭遇错误,无法正常启动。 在一个客户环境(操作系统为SUN Solaris平台)中出现了ORA-04031错误之后,使用了shutdown abort选项关闭了数据库
我之前曾经写过一篇Library cache内部机制详解,但是遗留了一些关于11g中mutex的改进的问题,最近因为有些11g的数据库频频发生mutex相关的等待事件,所以我又多这个问题做了一些探讨。关于Mutex,可以参考ORACLE mutex实现机制这篇文章,mutex是从10g开始引入的,在library cache中有大量的使用,它的主要作用有两个:一是用来替换library cache pin,二是作为更轻量级的latch使用。
我们知道,从Oracle 9i开始,Shared Pool可以被分割为多个子缓冲池(SubPool)进行管理,以提高并发性,减少竞争。 Shared Pool的每个SubPool可以被看作是一个Mini Shared Pool,拥有自己独立的Free List、内存结构以及LRU List。同时Oracle提供多个Latch对各个子缓冲池进行管理,从而避免单个Latch的竞争(Shared Pool Reserved Area同样进行分割管理)。SubPool最多可以有7个,Shared Pool Latch也从原来的一个增加到现在的7个...
从这段代码可以看到,该SQL是用于监控和计算失败登陆次数(failed_count)的,这一监控结果可以在某用户发生失败登陆尝试时给出告警。这里的DBA_AUDIT_SESSION用于记录审计对于数据库所有的CONNECT和DISCONNECT操作,底层表为AUD$。在Database / Grid Control中如果启用了Failed Login Count Metric监控,就可能遇到这个问题,一个建议的解决方案就是停用这个监控。
最近在帮助用户恢复数据库时遇到了一则罕见的归档日志损坏案例
本地服务名(Tnsname) Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。 本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(Oracle Names Server)等。Oracle常用的客户端配置就是采用的本地服务名,本文中介绍的也主要是基于本地服务名的配置。 Oracle网络连接配置方法 配置Oracle服务器端与...
启动监听:lsnrctl start查看监听:lsnrctl status停止监听:lsnrctl stop1、oracle 数据服务器包括:实例进程和数据库; 实例进程包括:memory structure(sga)以及background process(pmon(进程监控)、smon(系统监控system monitor,空间整理3秒)、dbwr(脏数据处理)、lgwr(将redo buffer文件写会log),ckpt(checkpoint,同步数据,先写日志、脏数据)等进程); 数据库包括:数据文件、控制文件,redo log 文件,三者是必须的,...
最近遇到的一则案例,客户系统响应缓慢,IO Wait超高,系统体现在Log file sync上出现大量等待,磁盘没有错误信息。 我的第一印象就是,可能有大事务在回滚,通过如下查询立刻找到了数据库中存在的一个死事务
在9i 以前,Oracle 使用pfile 存储初始化参数配置,这些参数在实例启动时被读取,任何修改需要重起实例才能生效;使用spfile 您能够使用ALTER SYSTEM 或ALTER SESSION来动态修改那些可动态修改的参数,任何更改能够立即生效,您能够选择使更改只应用于当前实例还是同时应用到spfile。这就使得任何对spfile 的修改都能够在命令行完成,我们能够完全告别手工修改初始化参数文档,这就大大减少了人为错误的发生。SPFILE 是个二进制...
在ORACLE系统搭建的时候,一般来说,对于系统的拓扑很多时候会混淆。老板希望的是要高可用,老板觉得我投资了这么多,你得给我保证百分百可用,得保证这个,保证那个,其实,每个系统在搭建的时候,能做到啥程度,应该是和应用有关系的。 依据偶的经验,偶一般会首先将应用系统粗暴的分级为三个等级,然后再在这三个等级之上去选择适合每个等级的拓扑结构来搭建,我一般分级为: 核心系统:承载核心业务,极高的性能要求,极高的7...
• 数据库开发规范
以下是偶参照各方资料写的一点数据库开发规范。 写的不是很全,而且一直在完善中,杯具的是发现和word写出来的格式上稍微有一点不一样的,嘿嘿,那就凑合看了。 欢迎讨论这个文档的内容,如果转载,请写明出处。 本规范采用以下术语描述: ★规则:也称为强规范是编程时必须强制遵守的原则 ★建议:编程时必须加以考虑的原则 ★说明:对此规则或建议进行必要的解释 ★示例:对此规则或建议从正、反两个方面给出 规则1: 数据库代码...
数据仓库环境,ORACLE RAC,100T数据,每日归档那个量5T(对于不需要产生备份的数据,已经采用了nologging方式,以减少归档数量),如何制定备份和恢复方案?方案一:DataGuard DataGuard是性价比最高的备份和容灾方案,但是当归档超过一定规模之后,DG的恢复就成为了瓶颈,每天产生的归档无法及时恢复完,我们也尝试过很多调优的方法,包括并行恢复,都无法解决,恢复的瓶颈不在存储的吞吐量,而在于standby的恢复方式,因为恢复的...
帮朋友写的一个简单审计删除操作的触发器,供参考。
在EXPDP执行数据导出时,其中一个过程要调用SYS_XMLGEN执行XML文件生成,这个过程可能会产生性能问题,所以需要关注相应时段的AWR报告相关信息。 在一个客户的性能诊断中,发现类似如下的SQL,手工在SQL*Plus中执行该类SQL可以评估其性能,如果其性能存在较大问题,则需要介入研究起原因。
客户的数据库使用了cursor_sharing=similar参数,经过测试,发现这一参数极大影响了expdp的性能。其本质原因是SQL的执行计划发生了改变。 在正常情况下28分钟完成的EXPDP操作,在similar模式下用了整整1个小时
近3天十大热文
- [67] Twitter/微博客的学习摘要
- [67] IOS安全–浅谈关于IOS加固的几种方法
- [63] android 开发入门
- [63] 如何拿下简短的域名
- [62] Go Reflect 性能
- [60] find命令的一点注意事项
- [60] Oracle MTS模式下 进程地址与会话信
- [58] 流程管理与用户研究
- [57] 【社会化设计】自我(self)部分――欢迎区
- [55] 图书馆的世界纪录
赞助商广告