为什么我的归档文件比我设定的在线日志的大小要小?
为什么我的归档文件比我设定的在线日志的大小要小?有几种可能的原因:1) 你用命令手工切换了2) 你设定了archive_lag_target参数,导致定期触发的切换3) 10G后,Oracle的新特性,private r...
Log File Sync等待的背后
Log File Sync:当看到log file sync等待时候,狠多人会有这样的担心,我的数据库正在等待写日志,是不是写入的效率存在问题。这样的担心,也就是把前台的等待log file sync都归因于后台log file parallel write的写...
修改一个数据块Oracle需要做的工作
修改一个数据块Oracle需要做的工作(从写的角度做的描述,latch等其他角度没做描述):1)修改Undo段头块登记一个事务,标记事务开始2)产生步骤一的Redo Log3)真正修改数据块前,先把旧镜像记录在UNDO块用来做回...
ORACLE的日志浪费是怎么产生的?
为什么ORACLE写日志存在浪费?ORACLE有项统计信息是用来统计redo wastage的,可以从session和database级别来统计。那么为什么会有日志浪费呢?日志浪费指的是什么呢?磁盘的扇区大小一般为512字节,绝非巧合ORACL...
ORACLE的Group Commit
什么是ORACLE 的 Group Commit?下图上部分是ORACLE的LOG BUFFER,展示的一副繁忙的景象,C1发出提交操作后,通过LGWR去写,LGWR在真正开始接受到这个write message后,首先要获取redo write latch,修改写...
从PGA 拷贝LOG 到LOG BUFFE,从LOG BUFFER拷贝到LOG FILE的过程:
从PGA 拷贝LOG 到LOG BUFFE,从LOG BUFFER拷贝到LOG FILE的过程:1)获取redo copy latch,这个latch一般有2*cpu_count个,ORACLE会轮流的以immediate mode去获得,如果他们都是busy的,那么以willing-to-w...
通过BBED的COPY来覆盖表里现有的数据块
[i=s] 本帖最后由 wei-xh 于 2012-5-12 13:44 编辑 #通过BBED的COPY来覆盖表里现有的数据块#修改完成后,需要修改RDBA。#数据库版本10.2.0.41.创建测试表空间、测试表,表空间的段管理方式为ASSM。2.查看表都占用了...
通过修改SCN来骗过ORACLE启动验证
实验过程的整理,还没有添加解释说明,后面有时间再整理。 sys>create tablespace users datafile '/data1/oracle/crmd/users01.dbf' size 20m;Tablespace created.sys>shutdown immediateDatab...
9I/10G 11G online index的实现过程分析
[i=s] 本帖最后由 wei-xh 于 2012-5-9 15:42 编辑 ORACLE 的ONLINE 创建索引在很多手册上被描述为:不阻塞写的安全操作。但是11G前,ORACLE一直没能真正做到这一点。MYSQL ,POSTGRES里好像也一直没能实现ORACLE ONLIN...
如何构建高BLEVEL的INDEX?
[i=s] 本帖最后由 wei-xh 于 2012-5-9 13:00 编辑 思考一个问题:有一个查询select * from table where id=:1 and name=:2;单从这一个SQL来看,该如何建立索引。ID区分度足够好,NAME区分度稍微差点。是ID,NAME好呢...
SQL改写优化
update /*+ gather_plan_statistics */ wxh_tbd a set (object_id, object_name) = (select object_id, object_name &n...
双网卡BOND配置
cat ifcfg-bond0 DEVICE=bond0BOOTPROTO=noneIPADDR=172.16.129.151NETMASK=255.255.255.0ONBOOT=yesUSERCTL=noGATEWAY=172.16.129.254cat ifcfg-eth0 DEVICE=eth0BOOTPROTO=noneONBOOT=...
打通SSH通道
记录一下方便以后查看. /usr/bin/ssh-keygen -t rsa一路回车。然后把产生的id_rsa.pub输出到authorized_keys里。cat id_rsa.pub >authorized_keys拷贝authorized_keys到需要打通SSH通道的主机上。scp au...
并行创建索引会不会进行直接路径读取?
昨天同事提到,如果建立索引采取并行,会使用到直接路径读取。想想很有道理。因为direct path read读取的一个条件就是并行表扫描,既然索引是并行创建,那么表也应该是并行扫描的了。这么推理看着是正确的。可是...
一次分页查询的优化
SELECT a.ID, GMT_MODIFIED, GMT_CREATE, NAME, SOURCE,&nbs...
where后面的谓词也会进入到hash 区域里?
explain plan forselect a.object_type,b.object_name,b.CREATEDfrom t a,t1 b where a.object_id=b.object_id and b.STATUS=:1;Explained.@displayPLAN_TABLE_OUTPUT--------------------------------------...
索引分支节点记录DUMP。
create table t as select 1 id,'ss' name from dba_objects;Table created.create index t_t on t(id,name);Index created.Index &nb...
超出统计信息最大最小值范围后,基数的改变
直方图超出范围后,基数的表现:先创建了一张表,skew列的值收集了等频直方图,列的值存在如下规律,1将出现1次,2将出现2次,3将出现3次. . . . .80将出现80次。 可以从上图中的结果看到,超出范围后,OR...
ORACLE写日志过程存在缺陷
CODE:Session 1create table t1(n1 number);insert into t1 values(1);commit;session 2 (sysdba)oradebug setorapid 12(LGWR的进程)oradebug suspendsession 1update t1 set n1 = 2;commit; 会话被hang住...
只做等值查询,索引键值顺序怎么建立好?
表: cs_ab01。表大小:3G表记录数: 1000000000key_aac001唯一值:1000000key_aac002唯一值:2001.表cs_ab01,key_aac001,key_aac002列只做等值查询,key_a...