- 浏览: 978816 次
- 性别:
- 来自: 杭州
最新评论
-
孤星119:
好熟悉的数据库字段啊, 上家公司做的项目每天都跟这些字段打招呼 ...
Oracle exp compress参数引起的空间浪费 -
itspace:
quxiaoyong 写道遇到个问题,网上一搜,全他妈这篇文章 ...
数据库连接错误ORA-28547 -
quxiaoyong:
遇到个问题,网上一搜,全他妈这篇文章。你转来转去的有意思吗?
数据库连接错误ORA-28547 -
hctech:
关于version count过高的问题,不知博主是否看过ey ...
某客户数据库性能诊断报告 -
itspace:
invalid 写道写的不错,我根据这个来安装,有点理解错误了 ...
AIX 配置vncserver
文章列表
继续前面的话题:
如果block在buffer cache中发生了变化(也就意味着dirty block),执行alter system flush buffer_cache会将此block刷新至数据文件
当磁盘的block scn大于buffer cache中block scn时,刷出动作是否也会进行?Oracle buffer cache刷出至datafile时,是否会做scn判断。
用bbed修改block scn高4位,从000a修改至000b,确保datafile block scn大于buffer cache block scn。
BBED> modify 0x000b
Wa ...
继续前面的话题:
现在讨论第二种情况:
如果block在buffer cache中发生了变化(也就意味着dirty block),执行alter system flush buffer_cache是否也会将此block刷新至数据文件?
依然用bbed定位至block 15511 offset 8185中
BBED> set block 15511 offset 8185
BLOCK# 15511
OFFSET 8185
为了观察效果,将zzz用bbed物理修改成ttt
BBED> modify /c ttt
War ...
今天刚吃完骨头煲,回到家已是21:30分。由于昨天和今天针对Oracle dirty block做了一些测试,得到了一些结果。于是想把测试过程记录一下,以备后忘。
Oracle dirty block指的是buffer cache中发生过变化且没有刷新到datafile。Oracle block在block head会记录其发生变化时的scn,
也就是说Oracle block在buffer cache更改时也会赋予Oracle当前的scn(如果目前Oracle current scn为1000,此时block发生变化,Oracle会将1000写入block head,这在上篇blog中也有所 ...
我们知道block scn存在 block头中,其具体位置在block offset 8-13中,即占用6个字节。
用bbed查看,可以看到scn处于kcbh结构体中,其中offset 8-11属于scn的低8位,offfset 12-13属于scn的高4位。
struct kcbh, 20 bytes @0
ub1 type_kcbh @0
ub1 frmt_kcbh @1
ub1 ...
接触Oracle这么些年来,看到Oracle不少,起码也有几百个了吧,但数据库s是shared server配置只有一个。所以也一直没有好好研究它。OCM考试大纲中有Configure the database instance to support shared server connections 一栏,那今天就来配置一下Oracle shared server。
由上图可知,shared server进程主要通过disipatch进程进行派发,此进程起到了类似中间件的作用。采用shared server模式,可以最大程度的减少主机用户进程数(也就意味着shared server模式比 ...
我们可能都知道在$ORACLE_HOME/bin,存在很多小工具,今天主要介绍一下工具sysresv,通过该工具我们查看实例对应的内存共享段,以及删除内存共享段
当我们的系统运行有多个实例时:
引用[root@hzmc ~]# ps -ef|grep smon|grep -v grep
ora10g 13422 1 0 Mar16 ? 00:00:00 ora_smon_mcactive
ora10g 25249 1 0 Mar16 ? 00:00:00 ora_smon_mcstar
ora10g 31000 1 0 Mar ...
先简单交代一下操作环境,主机版本为AIX 5307,数据库版本为10.2.0.4。为贪图方便,我从另一环境下(操作系统也为aix 5307),直接将Oracle软件tar至本地主机。然后进行relink all。至此,一切正常。但执行sqlplus时,出现以下问题:
引用$ sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.4.0 - Production on Fri Apr 1 09:51:47 2011
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
exec ...
The block types that are available for the segment header types are illustrated below in decimal format. These are represented in hexadecimal format in header block dumps.
引用Decimal Hex Type
1 0x01 undo segment header
11 0x0b data file header
12 0x0c data segment header w ...
Is a relink required for the clusterware home after an OS upgrade?
引用(1)In 10g and 11.1, Oracle Clusterware binaries cannot be relinked. However, the client shared libraries on that home can be relinked, in most cases there should not be a need to relink them. See Note:743649.1 on how to do that.
...
本来今晚想看点书,但是坐下来之后,打开音乐,却静不下心看书。
报了OCM考试,但真正的复习还没开始。最近一直在研究性能优化方面的东西。
在客户看来,我像个Oracle专家。
但我知道我自己的弱点在哪里。
我喜欢Oracle,我一直认为Oracle一直是有灵魂的,也一直在尝试追寻着她的脚步。
在我看来,Oracle已经成为我生活的一部分。
每天不看几篇metalink文章,或者学习几个新知识点,心里会觉得空荡荡。
Oracle就像是恋人,每天不见,心里惯牵挂的。
习惯了dba的生活,习惯纯粹的技术。
这几天一直比较累,也许无形的压力比较大吧,但也很享受解决问题的快感!
我是不是比较的“变态”?
今天在客户现场安装Oracle rac时,创建ASM DISKGROUP时出现问题,以下为解决过程。记录之,以备忘。
客户操作系统版本为AIX 6105,Oracle crs版本为10.2.0.5,rdbms和asm版本为10.2.0.1。
当用dbca工具建立磁盘组时,检索不出备选磁盘。在确定rdisk权限等没问题之后,在启动ASM实例之后,尝试在1号节点手动建立磁盘组,不料建磁盘组时出现以下错误。
引用$ sqlplus "/as sysdba"
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Mar 31 13:44: ...
某客户rac数据库2号节点实例自动宕节点,以下为分析报告
一、现象回顾:
2号节点发生故障时,alert日志显示如下:
Thread 2 advanced to log sequence 77740 (LGWR switch)
Current log# 24 seq# 77740 mem# 0: /dev/rcrm4_rd2_91_2G
Current log# 24 seq# 77740 mem# 1: /dev/rcrm4_rd2_92_2G
Mon Mar 28 09:45:23 BEIST 2011
PMON failed to acquire latch, see PMON ...
上文讲到了高水位推进的情况,当并发会话同时进行insert时,极易引起高水位争用enq: HW - contention,那么发生此类争用时,该如何诊断呢?
查看v$session_wait,应该会有如下等待事件:
SQL>select event,p1,p2,p3 from v$session_wait;
EVENT P1 P2 P3
---------------------- -------- ------- ----------
enq: HW - contention 1213661190 4 1 ...
众所周知,Oracle高水位线标志着该线以下的block均被Oracle格式过,通俗一点讲就是该高水位线以下的block都被Oracle使用过。
通常在执行insert操作时,当高水位线以下block不够用时,Oracle将会推进高水位线。更进一步讲,当有多个进程在同时进行insert操作时,比较
容易引起高水位线争用,主要表现为enq: HW - contention。这在段管理模式为手动的情况下(SEGMENT SPACE MANAGEMENT MANUAL),更加容易发生。
本文所探讨的是,Oracle高水位线如何在不同段管理模式下手动推进。
一、在段管理模式为手动时,block主要由fr ...
一、使用跟踪事件10046
很多时候,对数据库进行性能诊断可以使用SQL跟踪的方法,把一些信息记录在trace文件里以后分析。一般情况下我们可以通过初始化参数SQL_TRACE=TRUE来设置SQL跟踪。我们也可以通过设置10046事件来进行SQL跟踪 ...