-
ORACLEl数据库truncate分区表很慢问题
Apr132016在测试环境TRUNCATE一张按天分区的大表,数据量大概30G,速度非常慢,大概需要半个小时,检查发现等待的是log file switch事件。本案例数据库版本为11.2.0.4.0,操作系统为OEL 6.5。 SQL> select sql_id,OSUSER,MACHINE,TERMINAL,PROGRAM,EVENT,STATE from v$session where username='CHGSHS'; SQL_ID E ...
阅读全文作者:dbdream | 分类:Oracle, oracle 10g, oracle 11g | 标签:enq: RO, fast object reuse, local write wait, ORACLE, partition, truncate抢沙发
-
ORACLEl数据库log group不足及dbwn进程太少导致加载数据很慢问题
Apr112016在使用外部表及imp向ORACLE数据库加载数据的时候,发现加载速度特别慢,加载一张1G多的数据需要2个小时,加载7G多的数据需要将近一下午的时间,经过分析发现大量等待都是log file switch和log buffer space等待事件。 SQL> select sql_id,OSUSER,MACHINE,TERMINAL,PROGRAM,EVENT,STATE from v$session where userna ...
阅读全文
-
ORACLE数据库一主多备DG环境(一对多)主备切换
Mar282016本文主要分享一对多(一主多备)的DG环境主备切换的案例,我们的一套生产环境,一主四备,其中3个备库承载着查询业务,还有一个DG没有任务业务,由于主库的存储性能不给力,公司采购了新的存储,这个DG就是为了切换到新存储而搭建的,数据量1.5TB。 本文是在测试环境操作,之前并没有切换过一对多的DG环境,而且网上基本 ...
阅读全文
-
一次ORACLE数据库行级锁异常故障
Mar102016今天通过监控发现,促销数据库存在大量的行级锁等待,详见下图。 通过监控发现,导致问题的是BI的两条UPDATE语句造成的。 以下是相关的SQL信息: update MEDA_PROM.ZT_YPH_USER a set a.level_id= (select b.cst_gd_cd from MEDA_PROM.TEMP_USER_OLD b where b.CST_ID=a.id) where a.id in(select d.cst_id from MEDA ...
阅读全文
-
一次ORACLE数据库IO异常故障
Mar082016前几天监控显示数据库的I/O异常。 由于这台服务器上有两个实例,这个数据库消耗了大量的I/O,导致另一个数据库的压力也很大。 经过查询发现,消耗I/O资源较高的是一条很简单的查询SQL。 select count(id) from CHHMIF.IF_ORD_GHB_RECORD_2014 where customercallid='dc54034c-debe-4764-87c3-7df47bb1caff ...
阅读全文
-
ORA-10922 Temporary tablespace group is empty错误
Feb292016今天开发人员在运行一个大SQL的时候,遇到了ORA-10922错误。 ERROR at line 41: ORA-10922: Temporary tablespace group is empty 这个错误是由于该SQL需要大量的排序,而内存中的排序区满足不了排序的需求,需要使用临时表空间,而临时表空间组不存在导致的,这套数据库是从2节点的RAC生产库通过RMAN恢复而成的测试 ...
阅读全文
-
一次另类的ASM磁盘组扩容
Jan262016前几天刚帮一个朋友处理完两节点的RAC创建表空间把数据文件添加到节点1的本地磁盘的问题,后来发现他的数据库ASM磁盘组空间不足导致数据文件不能自动扩展。 遇到报错的是一张含有BLOB类型的表,LOB段无法扩展,他通过ASMCMD命令查看,磁盘组(+DATA)还有可用空间。 可是实际上+DATA磁盘组已经没有可用空 ...
阅读全文
-
使用数据泵加载数据时遇到ORA-31693、ORA-29913错误
Jan252016
-
使用RMAN在单实例恢复ASM文件系统的两节点RAC时遇到ORA-38856,ORA-01547,ORA-01152错误
Jan082016前几天朋友在单实例上恢复两节点的RAC时,遇到ORA-01547、ORA-01152错误。 RMAN> run{ 2> sql 'alter session set nls_date_format= "YYYY-MM-DD HH24:MI:SS"'; 3> set until time '2015-12-19 00:10:30'; 4> recover database; 5> } sql statement: alter session set nls_date_format= "YYYY- ...
阅读全文
-
oracle 11g的表增加带有默认值的字段什么情况下只改数据字典不改表
Nov132015前几天和朋友讨论11g在向有数据的表中增加带有默认值的字段时,什么情况下不改表的数据只改数据字典,今天整理下。以下是实验过程,数据库版本是11.2.0.4.0,先创建张大表用做测试。 SQL> create table chgshs.t_add_test tablespace TS_BSC as select * from dba_objects; Table created. SQL> insert int ...
阅读全文