【转】 Oracle中分析表的作用
Oracle中分析表的作用
http://diegoball.javaeye.com/blog/568009
文章分类:数据库
1.分析更新表的统计信息,,有可能导致执行计划改变..
2.以的analyze table abc compute statistics;这条为例,生成的统计信息会存在于user_tables这个视图,查看一下select * from user_tables where table_name='ABC';
观察一下NUM_ROWS,BLOCKS,AVG_SPACE,AVG_ROW_LEN几列你就会明白,这就是变化。分析完表之后,会发现DBA_tables 视图中,以前很多列值是空的,现在开始有数据了。这些数据就是分析表得到的.
3.怎么样分析表或索引
命令行方式可以采用analyze命令
如Analyze table tablename compute statistics;
Analyze index|cluster indexname estimate statistics;
ANALYZE TABLE tablename COMPUTE STATISTICS
FOR TABLE
FOR ALL [LOCAL] INDEXES
FOR ALL [INDEXED] COLUMNS;
ANALYZE TABLE tablename DELETE STATISTICS
ANALYZE TABLE tablename VALIDATE REF UPDATE
ANALYZE TABLE tablename VALIDATE STRUCTURE
[CASCADE]|[INTO TableName]
ANALYZE TABLE tablename LIST CHAINED ROWS [INTO TableName]
等等。
如果想分析整个用户或数据库,还可以采用工具包,可以并行分析
Dbms_utility(8i以前的工具包)
Dbms_stats(8i以后提供的工具包)
如
dbms_stats.gather_schema_stats(User,estimate_percent=>100,cascade=> TRUE);
dbms_stats.gather_table_stats(User,TableName,degree => 4,cascade => true);
这是对命令与工具包的一些总结
(1)、对于分区表,建议使用DBMS_STATS,而不是使用Analyze语句。
a) 可以并行进行,对多个用户,多个Table
b) 可以得到整个分区表的数据和单个分区的数据。
c) 可以在不同级别上Compute Statistics:单个分区,子分区,全表,所有分区
d) 可以倒出统计信息
e) 可以用户自动收集统计信息
(2)、DBMS_STATS的缺点
a) 不能Validate Structure
b) 不能收集CHAINED ROWS, 不能收集CL
相关文档:
手工配置Oracle 10G Enterprise Manage
最近在学习安装数据库的时候,用了多种方法创建,如dbca创建,手工创建,用模版创建等等,当用dbca创建数据库的时候,没有选择“使用Enterprise Manager配置数据库”,造成后来想用em不能使用,必需用到手工配置em才能使用,下面就介绍两种单实例环境实下em配制。
第一种 ......
oracle
误删除日志文件后的处理方法!
解决方法背景
1
整理c
盘的垃圾文件,吧oralce
的。log
日志文件删除。
2
然后oralce
一直不能使用,提示tns
有问题,
然后再往上找资料,一直没有解决掉,后来看到一边文章如下,问题解决掉了,特和大家分享!
======================================== ......
* 检查监听器状态:
C:\>lsnrctl status
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 30-6月 -2009 21:08
:04
Copyright (c) 1991, 2002, ......
今天刚装了 oracle
记录一部分代码 以备使用
cmd操作
连接数据库 sqlplus "用户名/密码"
不区分大小写
c/原词/修改后 修改sql语句
l数字 数字 显示几行到几号的sql语句
/执行
shutdown 关闭服务
startup 启动服务
save 路径/文件名.后缀 保存缓冲区sql语句
get 文件 ......