编辑
删除
Oracle等待事件之enq: TM – contention
执行DML期间,为防止对与DML相关的对象进行修改,执行DML的进程必须对该表获得TM锁。P1 = name|modeP2 = object #P3 = table/partition SQL> select name,parameter1,parameter2,parameter3 from v$event_name where name like 'enq
原创
798
0
2019-09-23 11:32
编辑
删除
Oracle 12.2 physical standby备库收集AWR报告
Oracle 12.2提供了收集备库AWR的功能。确定备库角色和打开状态SQL> select inst_id, open_mode, database_role from gv$database order by 1; INST_ID OPEN_MODE &
原创
678
0
2019-09-05 16:30
编辑
删除
oracle等待事件之enq: CF – contention
Enqueue 是一种保护共享资源的锁定机制,避免因并发操作而损坏数据,Enqueue 采用排队机制,即 FIFO(先进先出)来控制资源的使用。在任何需要读取控制文件的动作时,就会发生等待事件enq: CF – contention,CF locks被用来串行化controlfile事务,在读和写控制文件的时候使用该锁。通常该锁的分配时间非常短,比如在下面事件中会分配该锁,那么也就可能发生enq:
原创
726
0
2019-09-03 22:17
编辑
删除
oracle 12c中CDB和PDB的备份还原实验
本文档分为两部分:1.单个pdb备份还原2.只cdb备份还原1.rman只备份pdbSQL> show pdbs CON_ID CON_NAME  
原创
1573
0
2019-07-19 14:50
编辑
删除
oracle固定对象到共享池
PL/SQL一般来说很大,将这样的对象装载到共享池中,需要去寻找大段的连续内存空间,如果连续装载的话,那么必然会将很多热点内存age out出共享池。这样一来势必会影响数据库性能。所以将常用的PL/SQL或者SQL游标固定到共享池中,可以解决上述问题。包括可能出现的ORA-04031报错。1.固定PL/SQL到共享池SYS@cdbtest1(MING
原创
893
0
2019-07-06 12:09
编辑
删除
oracle 12c non-cdb升级成cdb模式
oracle 12c non-cdb升级成cdb模式相同主机下,有一个non-cdb数据库,再创建一个cdb的实例。SQL> select name,cdb from v$database;NAME CDB-----------
原创
1356
0
2019-07-02 22:35
编辑
删除
oracle等待事件之cursor:pin S wait on X
cursor:pin S wait on X 什么是cursor:pin S wait on X 等待事件?当一个会话尝试得到一个mutex pin的时候,但是其他会话正在以exclusive模式持有相同cursor object的mutex,此时申请mutex pin的会话等待事件即为cursor:pin S wait on X 。造成该等待事件的原因:1.shared pool设置太
原创
2723
0
2019-06-23 16:54
编辑
删除
Oracle清理SYSAUX表空间
11g的数据库因为BUG,导致与AWR相关的分区表不会自动split,这样一来,oracle自动清理策略不会生效,导致AWR数据越来越大,撑满SYSAUX表空间。12c不存在这个问题。检查快照实际保留时间与设定值的差异14:51:28 SQL> col ash for a3014:51:41 SQL> col SNAP for a3014:51:46 SQL> col RETEN
原创
2433
3
2019-06-10 16:39
编辑
删除
standby_file_management为manual造成dataguard延迟
dataguard的standby_file_management参数设置为manual,主库加表空间数据文件导致dg端出现延迟。alert日志中报错如下:2019-06-05T09:10:26.028762+08:00Errors in file /u01/app/oracle/diag/rdbms/ssdapdg01/ssda/trace/ssda_pr00_5363.trc:ORA-0111
原创
1031
0
2019-06-05 14:48
编辑
删除
Oracle一致性读(consistents gets)
很多数据库的并发控制方式是通过MVCC(多版本并发控制)实现的。这种方式使得数据库可以通过读取数据块的快照,而不会发生读操作阻塞写操作的情况。Oracle通过undo回滚段实现一致性读取。当一条sql在读取数据块的时候,会记录读取时刻的SCN1,并且将这个SCN1与读取数据块头部ITL槽中的SCN2做比
原创
1046
0
2019-05-16 19:54
编辑
删除
Oracle high version count子游标过多问题定位
子游标过多问题 2019年4月1日,在优化emc库sql的时候,发现一条sql下面有60多个子游标,其实不算太多,但是出于好奇还是想看看是什么原因导致了这么多的子游标无法共享的问题。之前处理过上千个子游标的问题,定位子游标无法共享原因的方法其实比较简单。 l 如果子游标没有那么多,比如这里就只有60多个,
原创
1760
0
2019-04-02 18:57
编辑
删除
oracle ORA-22992问题
create /*source only*/ table mingshuo.tmp_ms_19031403 as select * from backupwt.tmp_ms_19031403@dblk_e1在利用上面的通过dblink搬迁数据的时候,发生报错ORA-22992: cannot use LOB locators selected from remote tablesSQL
原创
2321
0
2019-03-15 13:11
编辑
删除
Oracle ORA-14148问题
Oracle12.1的库里一张表上存在一个隐藏列,需要把它删掉。隐藏列可以通过sys.dba_tab_cols查看。使用下面的命令alter table A drop unused columns;alter table A drop column "SYS_NC00027$";以上语法都没有能把列删掉。第一条没有任何报错,第二条报错如下:ORA-14148: DML and
原创
1273
0
2019-02-28 20:03
编辑
删除
Oracle Rac利用keep pool解决索引高聚簇因子问题
什么是聚簇因子?Oracle中的表用的最多的是堆表,堆表是无序的;而索引是有序的。体现两者之间无序程度就是聚簇因子。一般来说,理想的聚簇因子应该近乎接近表上的块数,而差的聚簇因子十分接近表的行数。索引聚簇因子高了以后,会使得索引使用成本偏高,造成本来应该走索引的执行计划变成了全表扫描,对sql效率危害极大。如何解决索引聚簇因子高?1.按照索引顺序重建表。但是这种方法弊端要考虑清楚,如果表上有其他索
原创
1119
0
2019-02-28 15:18
编辑
删除
oracle等待事件之free buffer waits
1.什么时候会发生free buffer waits呢? 简单来说,当需要在buffer cache中寻找可用块但是找不到时,就会发生这个等待。找寻可用块的理由包括读取数据块到内存中,或者构造CR块。SQL> select name,parameter1,parameter2,parameter3,wait_class from v$event_name
原创
2061
0
2019-02-22 16:20
编辑
删除
Oracle ASSM表空间存储结构
从Oracle 11gR2开始,每个数据文件的前128个块被Oracle留用,其中0-1号块为文件头,2-127号块是位图块,记录表空间中区的分配情况。test表空间是一个新建的表空间,里面有一张表ms1SQL> SELECT * FROM MS1; A----------
原创
1438
0
2019-02-21 09:26
编辑
删除
Oracle12c中空格引发的ORA-01516问题
2019年1月29日,zabbix显示一个索引表空间告警,所以登录服务器查看:10:02:22 SQL> col file_name for a5010:02:42 SQL> select file_id,tablespace_name,file_name,bytes/1024/1024/1024 G from  
原创
1938
0
2019-01-29 15:56
编辑
删除
利用systemstate dump trace文件寻找dg terminated原因
上午收到告警,一台dataguard宕机了。软件版本为11.2.0.4.登录上来首先查看alert文件.Fri Jan 25 11:00:39 2019System State dumped to trace file /u01/app/oracle/diag/rdbms/eracpdg01/ERAC/trace/ERAC_ora_42298.trcFri Jan 25
原创
869
0
2019-01-26 16:47
编辑
删除
dbms_pclxutil.build_part_index包的用法
dbms_pclxutil.build_part_index包可以用来以并行的方式rebuild local index。包的来源文件是$ORACLE_HOME/rdbms/admin/dbmspclx.sql该sql文件中可以看到包的用法:procedure build_part_index ( jobs_per_batch in number d
原创
568
0
2019-01-12 15:12
编辑
删除
oracle 12c之分区表不完全索引(二)
关于oracle 12c的不完全索引,这是第二篇,第一篇总体上描述了一下不完全索引,回顾地址:http://blog.itpub.net/31480688/viewspace-2285384/之前描述过,不完全索引的状态是否可用,取决于indexing为on,还是off。 本文主要论述如下:1. Indexing属性不变的情况下
原创
1081
0
2019-01-05 15:41