Oracle性能调整,提升block的效率

数据库 Oracle
在Oracle性能调整提升block的效率中,我们经常会遇到一些相关的问题,以下的文章就是对相关问题的解答,望你会有所了解。

Oracle性能调整的要点中,·如何提升block的效率也是非常重要的,同样在提升block的效率中我们也要有一些东西是需要我们注意的。以下的文章就是对在Oracle性能调整提升block的效率中需要注意的问题的详细介绍。

1、避免动态分配的缺陷

创建本地管理的表空间;

 

合理设置segment的大小;

 

监控将要扩展的segment:

 

 

SELECT owner, table_name, blocks, empty_blocks 
FROM dba_tables WHERE empty_blocks / 
(blocks+empty_blocks) 
< .1
  • 1.
  • 2.
  • 3.

 

2、high water mark

记录在segment header block中,在segment创建的时候设定在segment的起始位置,当记录被插入的时候以Oracle性能调整的十大要点中的提升block的增量增加,truncate可以重设high water mark的位置,但delete不能。

 

在full table scan中,oracle会读取high water mark以下的所有的数据块,所以high water mark以上的块也许会浪费存储空间,但不会降低性能。

 

可以通过下列方法收回表中high water mark以上的块:

 

Alter table_name deallocate unused; 
  • 1.

 

对于high water mark以下的块:

 

使用import/export工具:export数据;drop或truncate表;import数据。或者利用alter table tanle_name move命令去移动表的存储位置(此时需要重建索引)。

 

3、表统计

用analyize命令生成表统计,然后到dba_table查询相关信息。

 

 

ANALYZE TABLE ndls.t_wh_shipping_bill COMPUTE STATISTICS;  
SELECT num_rows, blocks, empty_blocks as empty,avg_space, 
chain_cnt, avg_row_len FROM dba_tables WHERE 
owner =
'NDLS' AND table_name='T_WH_SHIPPING_BILL';   Columns Description    NUM_ROWS Number of rows in the table    BLOCKS Number of blocks below the table high-water mark    EMPTY_BLOCKS Number of blocks above the table high-water mark    AVG_SPACE Average free space in bytes in the blocks 
below high-water mark  
AVG_ROW_LEN Average row length, including row overhead    CHAIN_CNT Number of chained or migrated rows in the table 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

 

 

4、block size

通过下列方法可以最小化block的访问次数:

 

使用更大的Oracle性能调整的十大要点中的提升block size;紧密压缩行;阻止行镜像。后两者存在冲突,越多的行被压缩在一个block里,越容易产生镜像。Oracle性能调整的十大要点中的提升Block size 在数据库创建的时候设定,不能被轻易改变,是读取数据文件时最小的IO单元,大小范围是2K-64K,应该设置成OS块的整数倍,小于或等于OS IO时能读取的存储区域。

 

较小的block size的优点:极少block竞争;有利于较小的行和随机访问。缺点是存在相当高的成本,每个block的行数更少,可能需要读取更多的index块。Block size的选择影响系统的性能,在一个OLTP环境中,较小的block size更合适,而在DSS环境中,适宜选择较大的block size。

【编辑推荐】

  1. Oracle常用的命令如何查看表的结构
  2. Oracle常用命令的列举
  3. Oracle客户关系管理论坛的内容简介
  4. Oracle RAC中错误观点出现的原因
  5. Oracle应用的程序开发趋于向Web的缘由
责任编辑:佚名 来源: 互联网
相关推荐

2011-03-21 11:14:21

Oracle性能调整

2011-04-08 17:33:07

Oracle性能

2010-05-07 18:14:08

Oracle性能调整

2012-11-21 17:35:21

Oracle技术嘉年华

2010-04-22 10:30:11

Oracle RAC

2009-02-01 10:45:18

Oracle数据库性能调整

2010-04-12 11:02:28

Oracle性能

2010-04-06 12:48:12

Oracle性能

2010-04-01 14:35:36

Oracle绑定变量

2010-04-07 16:02:29

Oracle性能

2010-04-20 15:41:38

Oracle sql

2010-04-19 17:09:30

Oracle sql

2010-04-12 17:38:51

Oracle性能调整

2012-06-12 09:46:20

虚拟化

2010-04-19 13:37:57

Oracle调整

2024-01-26 07:37:51

Stream工具场景

2013-05-02 09:31:02

虚拟化服务器

2011-05-25 13:55:02

Oracle

2010-04-26 13:47:02

Oracle性能调整

2011-05-25 14:35:47

Oracle缓冲区调整性能
点赞
收藏

51CTO技术栈公众号