通过log Miner抓起用户的DML操作
用户往往又这样的需求,就是日志切换太频繁,想知道此时哪个用户执行了那些DML操作,从而进一步定位业务情况或者异常行为,这是一个真实的需求,我演示如何使用log Minter抓取DML操作。
DBtime过高告警的故障分析与解决过程
收集故障时段AWR,6号同时段AWR,分析v$active_session_history和dba_hist_active_sess_history1从AWR分析一个小时总体DTtime,该指标没问题,因为这是累积值,不足以提供证据,对比6号AWR发现,7号AWR的DBTime比6号增加30%,从侧
OGG部署与初始化
Ogg部署与初始化是部署OGG的重要基础工作,这个测试是去年基于一个客户需求而做的测试,数据库版本11.2.0.4 Ogg版本11.2.
DRM原理、管理与相关隐藏参数
DRM是Oracle RAC架构中提供的动态重新定义数据块的master节点,使得频繁访问数据块的节点成为Master节点从而减少CacheFusion,数据库传播的开销,我们通过例子学习如何启动、关闭DRM特性以及控制DRM的隐藏参数。
如何定位TX锁阻塞会话执行的SQL
发生TX - row lock contention等待,我们往往找到blocking_session 然后kill掉会话,但是有时候客户需要知道阻塞会话当时正在执行什么操作,需要确定SQL语句,今天我们测试这个过程,但是由于共享池中SQL的游标可能被LRU算法清除,事务内部DML的数量,所以不保证生产系统一定会捕获阻塞会话在执行的准确的SQL,甚至无法捕获。
奇怪enq: TX - row lock contention行锁等待事件模拟验证
曾经遇到一个奇怪的问题,用户反映行锁等待严重,前台系统无法使用,我定位到某个会话时,该会话一直持有锁不释放,但是开发反映用户执行的SQL会交给框架去commit数据,不会出现执行完DML操作而不释放的情况,但是事实确实如此,我们怀疑用户虽然执行了SQL,但是异常退出导致用户进程依然存在,导致后续阻塞。今天做个测试,验证这个问题,这里完全重现了生产环境的输出结果,从而验证肯定是阻塞会话没有释放锁导致
涉及分区表的select语句报错ORA-00600: [kkoipt:incorrect pwj]
生产中在总会遇到各种奇怪的问题,这个查询涉及分区表,最近用户执行总会报错ORA-00600: [kkoipt:incorrect pwj], [7], [1],直接影响用户查询统计,我们来分析这个问题。
如何在线关闭ora.crf服务,删除CHM文件-由于bdb文件过大导致软件目录告警
ora.crf服务的功能是Cluster Health Monitor(简称CHM),是Oracle提供监控检测工具,可以自动收集操作系统的资源(CPU、内存、SWAP、进程、I/O以及网络等)信息。CHM会每秒收集一次数据。这些系统资源数据对于诊断集群系统的节点重启、Hang、实例驱逐(Eviction)、性能问题等。但是由于生成的bdb文件很多,对软件目录是个很大的冲击。
如何为RAC增加管理IP地址
在金融领域,数据库往往需要一个管理IP,这样在维护时就不需要使用业务IP,禁卫军我们提供一个之前的测试用例,通过增加网段的方式为RAC增加高可用的管理IP。
expdp迁移分区表,impdp导入合并分区表
在生产环境中会有这样的需求,导出的表数据是分区表的,并且是根据条件查询,比如按照城市分区,但是查询确实根据时间字段,这样导出的数据就具有多个分区的某个时间范围的数据,而导入到目标库不需要是分区表,此时我们就需要使用PARTITION_OPTIONS参数来合并分区。下面是详细的测试过程,也是生产中具体实施的操作步骤和具体指令。
LOB属性详细分析
LOB是Oracle常用的存储数据类型,对于存储该对象的参数很多,需要细致考虑,以提高LOB对象的读写效率,本文我们通过一个例子分析其存储属性,进一步理解LOB对象的存储奥秘
使用gnnp修改RAC的私网配置信息
私网是集群的核心组件,如果私网配置错误将造成集群无法启动,比如在银行系统生产环境和安装环境的地址信息是不同的,在系统上线前需要切换IP,在这些过程中由于种种原因可能会出现私网信息错误配置情况,本文提供了处理思路和具体修改方法。
RAC-RAC搭建DG会遇到那些问题,一个实施的问题总结!
这是一个真实的搭建案例,之前基于主库A搭建了DG容灾库B,后来切换到备库,原理的主库A一直没用,客户向基于之前的主库A的服务器搭建一个备库,这就是应用场景。
move表导致ORA-600错误案例分析
因为业务用户将很多业务表方式system表空间和users表空间,为了管理和安全考虑,将大量的表move走,在某个系统move表成功后,发现Alert日志有ORA-600告警,一般遇到600错误我们都要认真分析,因为这个引擎内部错误,以防对数据库运行造成影响,下面整个处理过程。
10046的多种使用方式
10046可以跟踪多种使用方式测试,根据实际情况选择使用吧
表碎片整理测试、原理与实施风险
表碎片太多,造成稀疏表,也就是块中数据记录很少,造成表占用额外存储空间,SQL语句性能下降,本文针对网络上整理碎片的两种方式做了对比,给出更科学的方法,并通过对shrink space的操作原理给出了实施的风险
ASM Label丢失导致集群重启失败
这是一个测试环境,开发反映服务器重启后数据库无法访问,这是一个两节点集群,查询集群状态发现,在ora.cssd处于starting 状态
数据库备份做恢复演练--验证备份数据的有效性和正确性
数据库备份,无论是全库备份还是增量备份,做数据库备份的有效性验证,都是DBA一个必要的工作内容,备份是托底的错误,应该定期做数据库备份恢复的抽查, 本文以一个单实例数据库为例,说明恢复演练的步骤。如果是集群大致步骤类似,我们在后面主题中再做一次详细说明。
ORA-00221 ORA-00206 ORA-00202 ORA-27063导致集群实例异常关闭
集群一个实例异常关闭,通常我们需要分析数据库日志,从各种错误提示中分析原因,从而协调相关部门协助处理。
ORA-02261错误导致数据泵数据库迁移失败案例分析
异地数据库迁移,将dump文件拷贝到本地后import导入数据失败,报错ORA-02261