Oracle10g新特性:使用DBMS_SQLTUNE优化SQL

在Oracle10g之前,优化SQL是个比较费力的技术活,不停的分析执行计划,加hint,分析统计信息等等,当然也有SQL调优辅助工具可以使用,只是要么价格昂贵,要么效果不佳。在10g中,Oracle推出了自己的SQL优化辅助工具,这就是新的DBMS_SQLTUNE包。执行DBMS_SQLTUNE包进行sql优化需要有advisor的权限:

SYS@ning>grant advisor to ning;
Grant succeeded.

使用DBMS_SQLTUNE包进行SQL优化,大致可以分为四个步骤:

  • 创建优化任务
  • 执行优化任务
  • 显示优化任务的结果
  • 按照建议执行优化

Read more of this post

使用虚拟索引进行数据库优化

在数据库优化中,索引的重要性不言而喻。但是,在性能调整过程中,一个索引是否能被查询用到,在索引创建之前是无法确定的,而创建索引是一个代价比较高的操作,尤其是数据量较大的时候。

虚拟索引(Virtual Index)不是物理存在的,它并不会创建实际的索引段,只是在数据字典中加了一个索引的记录,使得优化器能够意识到一个索引的存在,从而判断是否使用该索引作为访问路径。当然,实际上最终查询的访问路径是不会使用该虚拟索引的。

所以,虚拟索引的用处就是用来判断一个索引对于sql的执行计划的影响,尤其是对整个数据库的影响,从而判断是否需要创建物理索引。

oracle文档中并没有提到虚拟索引的创建语法,实际上就是普通索引语法后面加一个nosegment关键字即可,B*Tree index和bitmap index都可以。

Read more of this post

Oracle常用dump命令

Oracle常用dump命令,记录一下备查。

Read more of this post

Data Warehouse Guide阅读笔记

这篇文章是去年看oracle的data warehouse guide文档时记录的一点笔记,帖在itpub blog上,现在整理一下,就当作新家的第一篇技术文章吧。

Oracle10g Data Warehouse Guide链接如下:http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14223/toc.htm

Read more of this post