Oracle高级性能诊断
Oracle高级性能诊断
优惠券已抵扣
余额抵扣
还需支付
¥39.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
scan724
这个作者很懒,什么都没留下…
展开
-
alter database create datafile as
SQL> create tablespace tbs_1 DATAFILE '/u03/oradata/tbs_01.dbf' size 5M;Tablespace created.SQL> alter tablespace tbs_1 add datafile '/u03/oradata/tbs_02.dbf' size 1G;Tablespace altered.SQL> >原创 2014-08-21 09:18:52 · 2676 阅读 · 0 评论 -
v$latch_children
SQL> set linesize 200SQL> select addr,LATCH#,LEVEL#,CHILD#,NAME,gets from v$latch_children where name='shared pool';ADDR LATCH# LEVEL# CHILD# NAME GETS-------- ---------- ------原创 2014-11-09 21:27:47 · 733 阅读 · 0 评论 -
Oracle根据数据块ITL查找UNDO前镜像
v$transaction: 列出了没有提交的活动事务2. XID的结构egSQL> ---session1SQL> drop table test_undo1 purge;Table dropped.SQL> create table test_undo1 as select * from dba_objects;Table created.SQL> set line原创 2014-10-10 10:32:46 · 998 阅读 · 0 评论 -
buffer cache原理
1. 理解cache buffer中几个关键性的概念 Oracle SGA的主要结构就是cache buffer,其通常会占据整个SGA的大部分内存,对于OLTP架构而言。 理解cache buffer之前,我们需要先理解其涉及的几个概念。 1) 链表(双向链表) 2) hash操作 3) bucket从图中我们可以看到,一个latch:cache buff原创 2014-10-26 22:19:24 · 595 阅读 · 0 评论 -
Oracle 写脏数据的不同场景
checkpoint会触发dbwr写脏块时是根据checkpoint queue来的,而LRU-W是负责dbwr的其他写出条件的触发。如下的情况下,会触发dbwr进程将脏块写出到disk: 1)当进程扫描LRU链表查找可用buffer(可用被覆盖的 buffer header)的时候,如果已经被扫描的buffer header的数量 超过_db_block_max_sc原创 2014-10-27 21:39:43 · 1459 阅读 · 0 评论 -
block放入哪个hash bucket算法
假设file 1 block 437,那么计算方式应该是这样:SQL&get; select mod(438,4) from dual;MOD(438,4)---------- 2即使该block的信息会存在编号为2的bucket里面。原创 2014-10-27 20:45:38 · 592 阅读 · 0 评论 -
latch 为什么消耗CPU
为什么有时候系统CPU很高?主要是latch争用,拿不到latch会自旋,要消耗CPU原创 2014-10-27 22:08:24 · 548 阅读 · 0 评论 -
一个cache buffers chains latch需要管理的块
SQL> SELECT x.ksppinm NAME, y.ksppstvl VALUE, x.ksppdesc describ FROM x$ksppi x, x$ksppcv y WHERE x.inst_id = USERENV('Instance') AND y.inst_id = USERENV('Instance') AND x.indx = y.indx AN原创 2014-11-14 19:03:37 · 474 阅读 · 0 评论 -
buffer_pool
buffer pool 有最多8个子latch保护SQL> set linesize 200SQL> select addr,LATCH#,LEVEL#,CHILD#,NAME from v$latch_children where name='buffer pool';ADDR LATCH# LEVEL# CHILD# NAME-------- ----------原创 2014-11-14 21:16:33 · 533 阅读 · 0 评论 -
如何优化buffer_cache
如何优化buffer cache? 1) 调整buffer cache,可以参考Oracle advisory的建议。如果系统的资源使用极为紧张的时候,那么调整buffer cache 需要谨慎。 因为调大buffer cache可能会导致cpu使用的降低,当然也可能降低。 内存调大,比如会导致系统资源更多的 管理消耗。原创 2014-10-28 21:28:06 · 624 阅读 · 0 评论 -
buffer pool latch和cache buffers chains latch
buffer pool latch 是用来保护buffer pool的每个buffer pool有一个buffer pool latch保护SQL> select addr,LATCH#,LEVEL#,CHILD#,NAME from v$latch_children where name='buffer pool';ADDR LATCH# LEVEL# CHILD# NA原创 2014-11-14 20:13:42 · 502 阅读 · 0 评论 -
shared_pool
在 9i之前,共享池内容结构是由 一个 solitary shared pool latch 来保护的;从9i开始,最多可以有7个 child shared pool latches 用来保护 共享池结构;9i中可以把共享池划分成过个子池,每个四个cpu可以划分出一个子池;并且 shared_pool_size 大于250M;子池可以由隐含参数:_kghdsidx_count 来调整;如果手动增加原创 2014-11-14 21:14:41 · 478 阅读 · 0 评论 -
dump library cahce
SQL> select * from t where object_id=1060; OBJECT_ID OWNER---------- ------------------------------ 1060 SYSTEMSQL> alter system flush shared_pool;系统已更改。SQL> /系统已更改。SQL> oradebug s原创 2014-10-31 22:15:31 · 620 阅读 · 0 评论 -
shared pool latch和library cache latch
硬解析: 需要获得shared pool latch,同时需要获得library cache latch。 软解析:不需要需要的shared pool latch,但是仍然需要获得library cache latch。 软软解析:仍然需要持有library cache latch(10.2.0.5以下版本),对于library cache pin和lock的持原创 2014-10-16 21:24:37 · 525 阅读 · 0 评论 -
10046解决PLSQL访问数据字典 显示授权问题
SQL> create or replace procedure test_trc ISmsql varchar2(200);beginmsql := 'insert into t100 select * from dba_objects';execute immediate msql;commit;end; 2 3 4 5 6 7 8 /原创 2014-11-20 16:49:31 · 977 阅读 · 0 评论 -
log buffer
1. 关于log buffer大小设置的误区 大小不要超过3m,因为log buffer中脏数据超过1m 就会触发lgwr进行去写,同时超过1/3 log buffer大小时,也会触发。因此,网上流传的结论是1*3=3m,认为超过3m 的log buffer大小设置是毫无意义的? 早期的原理的直接写入redo logfile中,为了避免IO问题能在sga中引入了一块 共原创 2014-11-05 21:09:29 · 875 阅读 · 0 评论 -
PGA概念
1. 什么是PGA? Roger--001<oracledba@live.cn&get;20:36:21 PGA,即Program Global Area 的简称,是一块包含一个服务进程的数据和控制信息的内存区域。 注意,PGA的内存结构是不需要Latch来进行保护的。Oracle 在实例启动时就开始进行分配,一个 Oracle 进程拥有一个 PGA 内存区。一个 PGA 也只能被拥有它的原创 2014-11-09 21:29:02 · 1238 阅读 · 0 评论 -
PGA 内存管理
select pname, username, program, pga_used_mem / 1024 / 1024, pga_alloc_mem / 1024 / 1024, pga_freeable_mem / 1024 / 1024, pga_max_mem / 1024 / 1024 from v$p原创 2014-09-16 09:13:07 · 1071 阅读 · 0 评论 -
bbed使用
SQL> select owner,header_file, header_block from dba_segments where segment_name = 'T';OWNER HEADER_FILE HEADER_BLOCK------------------------------ ----------- ------------SCOTT 4原创 2014-09-15 21:49:19 · 630 阅读 · 0 评论 -
Oracle删除数据文件
SQL> select file_name,file_id from dba_data_files where tablespace_name='TEST';FILE_NAME FILE_ID------------------------------ ----------/oradata/june/test.dbf原创 2014-08-20 19:39:23 · 557 阅读 · 0 评论 -
Oracle 多块读不能跨越extent
Oracle 多块读不能跨越extent原创 2014-08-20 09:34:54 · 833 阅读 · 0 评论 -
Undo internal<1>
v$transaction: 列出了没有提交的活动事务2. XID的结构egSQL> ---session1SQL> drop table test_undo1 purge;Table dropped.SQL> create table test_undo1 as select * from dba_objects;Table created.SQL> set line原创 2014-08-21 14:36:40 · 528 阅读 · 0 评论 -
SQL运行突然SESSION中断错误
SQL> SELECT 2 DATA_DATE, 3 MGR_CODE, 4 IDX_CODE, 5 IDX_NAME, 6 CUR_N原创 2014-08-22 18:10:09 · 837 阅读 · 0 评论 -
实例级别的回滚
SQL> alter system set log_checkpoints_to_alert=TRUE;系统已更改。LOG_CHECKPOINTS_TO_ALERT lets you log your checkpoints to the alert file. Doing so is useful for determining whether checkpoints are occur原创 2014-09-06 22:26:33 · 628 阅读 · 0 评论 -
Solaris安装pkg
pkgadd -d /cdrom/sol_10_811_x86/Solaris_10/Product SUNWi1cspkgadd -d /cdrom/sol_10_811_x86/Solaris_10/Product SUNWi15cs-bash-3.2# df -h文件系统 大小 用了 可用 容量 挂接在/dev/dsk/c0d0s0原创 2014-08-23 20:26:38 · 1543 阅读 · 0 评论 -
Undo Internal<2>
SQL> ----session 1SQL> create table t as select object_id,owner from dba_objects where rownum < 1000;表已创建。SQL> alter table t add constraint t_id_pk primary key(object_id);表已更改。SQL> select di原创 2014-08-24 16:55:35 · 661 阅读 · 0 评论 -
solaris 安装数据库软件报INS-31031
debugommand@4532b038[pool-1-thread-1] [ 2014-08-23 20:01:52.429 CST ] [ClusterException.setErrorMessage:153] ClusterException.setErrorMessage: errString is 'couldn't set locale correctly|couldn't原创 2014-08-23 21:26:36 · 1108 阅读 · 0 评论 -
蛋疼的Solaris设置
vmware 9 中安装好了solaris 10 u10后,虽然已经在虚拟机配置中为solaris指定了网卡及其类型,可是在solaris系统能却只能看到lo0,没有找到任何想要的e1000g0的东西。解决方法如下:1. 打开Solaris 10.vmx,找到如下内容ethernet0.present = "TRUE"ethernet0.connectionType = "nat"原创 2014-08-23 14:06:53 · 493 阅读 · 0 评论 -
strace和10046 研究一致读
SQL> create table t as select object_id,owner from dba_objects where rownum < 1000; 表已创建。 SQL> alter table t add constraint t_id_pk primary key(object_id);SQL> update t set owner='AA' wher原创 2014-08-24 22:38:43 · 530 阅读 · 0 评论 -
10046和dtrace研究一致读
SQL> show userUSER 为 "SYS"SQL> select spid from v$process where addr=(select paddr from v$session where sid=(select sid from v$mystat where rownum < 2));SPID------------------------2500SQL> S原创 2014-08-24 21:26:25 · 572 阅读 · 0 评论 -
一致读原理
一致读过程:p复制一份脏块,原创 2014-08-28 19:43:56 · 565 阅读 · 0 评论 -
彻底搞懂uba地址转换
SQL> update t set owner='killdb.com' where object_id=555;已更新 1 行。SQL> select xidusn,xidslot,xidsqn,ubablk,ubafil,ubarec,START_SCN from v$transaction; XIDUSN XIDSLOT XIDSQN UBABLK原创 2014-08-24 20:41:08 · 1573 阅读 · 0 评论 -
OracleDatabase 11g安装bbed
OracleDatabase 11g中缺省的未提供BBED库文件,但是可以用10g的文件编译出来,需要先从10g中复制如下文件到相应目录,然后再执行上述连接命令,参考如下步骤:(1)复制Oracle 10g文件Copy $ORA10g_HOME/rdbms/lib/ssbbded.o to$ORA11g_HOME/rdbms/libCopy $ORA10g_HOME/rdbms/lib/sb原创 2014-09-14 20:28:59 · 648 阅读 · 0 评论 -
smon无法回滚一例
查看alert日志发现:SMON: enabling tx recoveryDatabase Characterset is ZHS16GBKErrors in file /oracle/diag/rdbms/orcl/orcl/trace/orcl_smon_8476.trc (incident=54120):查看orcl_smon_8476.trc 文件:*** 2014-0原创 2014-09-02 12:38:55 · 785 阅读 · 0 评论 -
10053 诊断事件
SQL> select count(distinct(msgid)),count(*) from messagein ;COUNT(DISTINCT(MSGID)) COUNT(*)---------------------- ---------- 978619 978619说明msgid列时唯一的搜集直方图信息:SQL> BEGIN DBMS_STATS原创 2015-02-05 09:02:12 · 760 阅读 · 0 评论