9iDBMS_STATS包收集统计信息
上一篇 /
下一篇 2009-01-04 23:03:53
/ 个人分类:Oracle
- 文件版本: V1.0
- 开发商: 本站原创
- 文件来源: 本地
- 界面语言: 简体中文
- 授权方式: 免费
- 运行平台: Win9X/Win2000/WinXP
在9i中,
Oracle增强了
SQL的基于开销的优化器(CBO),从而在决定SQL语句的最优执行计划时采用I/O和CPU使用率统计信息。
51Testing软件测试网*gAH5Tl 51Testing软件测试网(V"P1r5q
r
vP(F Oracle使用新的Oracle9i DBMS_STATS包来收集这些信息。然而,这个包的功能非常有限,而且因为大多数系统有多种操作模式,所以说在考虑Oracle收集系统统计信息的时候你必须格外小心。
51Testing软件测试网 fS:S:Ar 51Testing软件测试网4QU'Z5lmem 典型地,假如选择使用DBMS_STATS,最好的办法是在
数据库进行某种类型的处理时进行采样。例如,假设我们有一个白天运行于OLTP模式下而晚上运行于决策支持系统(DSS)模式下的数据库。
51Testing软件测试网r_7Aa4S XT/h 51Testing软件测试网V}a_3e)c8X%|7q6D 在下面的例子中,白天Oracle在运行于OLTP模式下时收集统计信息;而在晚上,Oracle在运行批处理操作时收集统计信息。
wW;JuP Y0 51Testing软件测试网 gMw2k G{ -- Create the table to hold the stats
51Testing软件测试网G.d
x7{v2z2x\['K dbms_Stats.Create_Stat_Table (
51Testing软件测试网7e6t*{k
Oe ownname => 'PROD',
5sb!H#]
^w0F
Y0 stattab => 'dbastats',
b*W+r:d]$PN0 tblspace => 'perfstat');
51Testing软件测试网WeH~:|V Gss/n/uGF W,Q%R0 -- Run during the day; gather stats for when the system is in OLTP mode
y8})b3bzj U5B"V-U5\i0 BEGIN
!lhm1KU0 dbms_Stats.Gather_System_Stats(
5xT a(R%O
gH;a c0 interval => 300,
CB^,HVb p0 stattab => 'dbastats',
51Testing软件测试网2j9D5[/j&xzX statid => 'OLTP');
!J u%w3vAu8Kt)R0 END;
51Testing软件测试网!M-Sw8JVV0y&mc"L /
51Testing软件测试网2b-@+R }Wv J!Y!] 9kh Di9UU
V"|8} p
x0 -- Start at night to gather stats during batch operations
u.mVBZO0 BEGIN
51Testing软件测试网]w$Z I5lA0R O Dbms_Stats.Gather_System_Stats(
U1` Jrp4TPx0 interval => 300,
51Testing软件测试网.xrE'Rq%R6y!g5^P+r stattab => 'mystats',
$U
[(F3z#AQ0H*d0 statid => 'DSS');
51Testing软件测试网)I
t
oVX0^e$F END;
"N G9W)y3q0 /
51Testing软件测试网A+e)}\U 51Testing软件测试网&Tp5?Z
W'b 在已经收集了系统统计信息的采样之后,我们就可以在系统改变处理模式的时候动态地切换系统统计。
$|K3d%dp[!B4{,F^0 51Testing软件测试网(f? ua#h5AK execdbms_stats.import_system_stats('dbastats','OLTP');
8P/i9Q cKqj5Q|v0 exec dbms_stats.import_system_stats('dbastats','BATCH');
kF+P/k5o0 51Testing软件测试网4q2a,_l:F,g Z 当然,这个特性对于双峰Oracle数据库来说是很基本的,因为对于这种数据库的处理特点变化很大。而对于查询模式恒定的均匀型数据库来说,这个特性与你自己的查询执行计划区别不大。
相关阅读:
- AIX下oracle10g的安装 (hdc163, 2008-12-29)
- 在CentOS 5.1中 安装Oracle11g (allenzgw, 2009-1-01)
- Oracle数据库游标使用大全 (lgwmlx, 2009-1-03)
- ORACLE是怎样使用游标的 (lgwmlx, 2009-1-03)
- oracle如何查看后台正在运行着的sql语句 (lgwmlx, 2009-1-03)
- Oracle数据库查询十个小技巧(一) (温馨香屋, 2009-1-04)
- Oracle:浅析监听器安装/配置入门 (fishy, 2009-1-04)
- oracle 统计信息是什么 (lgwmlx, 2009-1-04)
- oracle统计信息收集 (lgwmlx, 2009-1-04)
- oracle 10g如何关闭和打开自动收集统计信息 (lgwmlx, 2009-1-04)
收藏
举报
TAG:
Oracle