-
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),今天开发人员问我如何快速并方便的查出一张表最近被更改的记录,这个需求很简单,由于 ...
阅读全文
-
ORACLE11G自动内存管理Automatic Memory Management(AMM)
Nov142011ORACLE近期的版本都对内存管理做了简化,从9i通过PGA_AGGREGATE_TARGET参数实现PGA的自动管理,10g通过Automatic Shared Memory Management(ASMM)实现SGA的自动管理,到11g通过Automatic Memory Management(AMM)实现内存(SGA+PGA)的自动管理。目前的11G版本,DBA只需要设置2个或者一个参数,就可以实现ORACLE对内 ...
阅读全文
-
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 ...
阅读全文
-
direct path read temp等待时间和利用DDL删除重复数据
Nov012011今天在删除重复数据的时候,数据库特别的慢,CPU和内存消耗还不是很多。 SQL> delete from test t where (t.doc,t.vol,t.efile)in (select doc,vol,efile from test group by doc,vol,efile having count(*)>1) and rowid not in(select min(rowid) from test group by doc,vol,efile having count(*)>1); ...
阅读全文
-
利用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 ...
阅读全文
-
oracle一行拆分多行
Oct112011客户的业务涉及大量的图片信息,之前这些图片信息只在数据库里存着路径,图片都是存在文件服务器上,现在要做数据库迁移,需要把这些图片都存放到数据库里。 坑爹的是,图片在数据库中的存放路径SQL*LOADER不能直接加载,需要进行行记录拆分。 11--00024-01-01-0002-003-.jpg; 11--00034-01-01-0003-007-.jpg; 11--00 ...
阅读全文
-
ORA-01034、ORA-27101和ORA-28056错误解决方法
Oct102011今天登录数据库的时候遇到了ORA-01034和ORA-27101错误 C:Documents and SettingsAdministrator>set ORACLE_SID=STREAM C:Documents and SettingsAdministrator>SQLPLUS STREAM/STREAM SQL*Plus: Release 11.2.0.1.0 Production on 星期一 10月 10 22:34:53 2011 Copyright (c) 1982, 2010, Oracle. All right ...
阅读全文