-
AWR(五)-利用AWR生成SQL执行计划(SQLREPORT)并进行优化
Dec062011有些时候,我们需要分析占用资源比较大的sql的执行计划,也需要将sql的执行计划以报告的形式反馈给客户,由于AWR报告里的SQL通常都是些变量,因此以命令行方式生成sql的执行计划就很麻烦,而且也不美观,利用awrsqrpt.sql脚本可以生成HTML格式的SQL执行计划,既美观又方便。以下是我写的AWR的一些其他文章,详见列表: ...
阅读全文抢沙发
-
AWR(四)-利用导入的AWR数据生成AWR报告
Dec012011之前写了3篇关于AWR的文章,详见以下列表: 文章名 文章链接 AWR导入分析数据之后,就要对数据库进行分析,我之前导入的AWR数据是RAC环境,利用awrrpt.sql只能对本地的数据库生成AWR报告,要生成导入的数据库的AWR报告,就需要使用awrrpti.sql这个脚本,如果是单实例环境,则使用awrrpt.sql即可。 SQL> @?/rdbms/adm ...
阅读全文
-
AWR(三)-迁移AWR数据之导入AWR收集数据
Dec012011之前写了AWR的基本配置,详见http://www.dbdream.com.cn/2011/12/01/awr%E4%B8%80-%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE/和导出AWR数据的文章,详见http://www.dbdream.com.cn/2011/12/01/awr%E4%BA%8C-%E8%BF%81%E7%A7%BBawr%E6%95%B0%E6%8D%AE%E4%B9%8B%E5%AF%BC%E5%87%BAawr%E6%94%B6%E9%9B%86%E6%95%B0%E6%8D%AE/ ...
阅读全文
-
AWR(二)-迁移AWR数据之导出AWR收集数据
Dec012011之前写过一篇关于AWR基本配置的文章(详见:http://www.dbdream.com.cn/2011/12/01/awr%E4%B8%80-%E5%9F%BA%E6%9C%AC%E9%85%8D%E7%BD%AE/),今天说下AWR数据的迁移操作。 ORACLE从10g开始,推出AWR工具,使我们可以更方便更直观的分析数据库的性能和状态,有些时候,我们无法去客户现场,只能远程采集或者由客户方采集 ...
阅读全文
-
AWR(一)-基本配置
Dec012011ORACLE从10g开始,推出AWR(Automatic Workload Repository)工具,使我们可以更方便更直观的分析数据库的性能和状态。AWR有关的表默认都存放在SYSAUX表空间中,维护AWR的是MMON进程。 AWR底层组建有2个部分,内存统计收集组件和AWR快照组件。 1. 数据库使用内存统计收集组件收集统计信息,出于性能这些信息保存在内存 ...
阅读全文
-
ORACLE查询表最近更改的数据
Dec012011之前写过一篇关于利用闪回和logmgr找回被误删除数据的文章(详见http://www.dbdream.com.cn/2011/10/18/%E5%88%A9%E7%94%A8%E9%97%AA%E5%9B%9E%E5%92%8Clogmnr%E6%89%BE%E5%9B%9E%E8%AF%AF%E5%88%A0%E9%99%A4%E6%95%B0%E6%8D%AE),今天开发人员问我如何快速并方便的查出一张表最近被更改的记录,这个需求很简单,由于 ...
阅读全文
-
ORACLE删除重复数据的几种方法
Nov032011这几天整理数据库中记录的图片路径信息,为了方便操作,将40多张表的DOC,VOL,EFILE三个字段的信息整合到一张表中,由于部分表之间这三个字段数据相同,这样就产生了一些重复的数据,(之前图片存储在文件系统上,数据库只存了图片的路径,整理之后要将图片存在数据库里),我整理了一下关于删除重复数据的方法。 第一种 ...
阅读全文
-
DBMS_STATS.GATHER_SCHEMA_STATS收集信息不准确
Nov022011今天在做数据库试迁移的时候,利用DBMS_STATS.GATHER_SCHEMA_STATS收集信息后,发现新数据库(linux+oracle11gR2)和老数据库(Windows server2003+oracle10gR2)有6张表的数据对不上,比老系统的数据库表行数要少。 SQL> exec dbms_stats.gather_schema_stats(user); PL/SQL procedure successfully completed. S ...
阅读全文
-
利用SAMPLE随机取数据
Oct232011目前负责的这个数字化项目,需要开发个质检工具,实现每次随机取20%的数据进行质检,开发人员问我如何实现随机取20%的数据。 使用ORACLE的sample可以很容易实现,但是ORACLE返回的结果不是很准确。 SQL> select count(*) from t001; COUNT(*) ---------- 500 执行计划 -------------------------------- ...
阅读全文
-
利用闪回和LOGMNR找回误删除数据
Oct182011朋友遇到了非常经典的ORACLE事故——误删除,开发人员告诉他,昨天下午五点-六点不小心误删了几条数据,问是否可以恢复,朋友的环境是ORACLE 10gR2,没有备份,但有开归档和闪回,这个是可以找回数据的。 以下为找回误删除数据的实验。 SQL> create table t1(id number,name varchar2(20)); Table created SQL> i ...
阅读全文