rollup函数
rollup函数SQL> SELECT TEMPORARY, COUNT(*) FROM T GROUP BY ROLLUP(TEMPORARY);T COUNT(*)- ----------N 67132Y 79 67211SQL> SELECT TEMPORARY, COUNT(*) FROM dba_objects GROUP BY (TEMPORARY);T COUNT(*)...
查看未绑定变量的sql
摘抄WITH c AS (SELECT FORCE_MATCHING_SIGNATURE, COUNT(*) cnt FROM v$sqlarea WHERE FORCE_MATCHING_SIGNATURE != 0 GROUP BY FORCE_MATCHING_SIGNATURE HAVING COUNT(*) > 20),sq AS (SELECT sql_id, FORCE_MATCHING_...
博文第100篇---让索引记录空值
昨天下午时发现监控告警,数据库的磁盘使用率100%,用以下sql语句查看数据库正在执行的sql:select to_char(sql_fulltext), v$sqlarea.sql_id, last_call_et continue_time, logon_time, ...
2010年8月的一次调优
翻出2010年刚工作的时候的笔记,感觉那时候解决问题的思路好笨拙。以下所遇问题和解决思路。 2010年8月:坐下来将最近一个月的调优问题一步步的记下来,虽然最终问题解决了,但是解决的方法真的是很简单,但是调优的过程还是比较令人回味的!里面有我的日日夜夜,几天几夜都没有睡好。哎!!! 从11...
10.2.0.2打某补丁失败的解决方法
10.2.0.2的库遇到bug,需要打补丁-4639977。之前在2个测试环境(linux5.6)的10.2.0.2数据库上顺利打patch成功,但在生产环境solaris下却失败。orcl% /oracle/product/10gr2/OPatch/opatch applyorcl% /oracle/product/10gr2/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./Invoking OPatch 10.2...
ora 1722无效的数字
SQL> create table tmao (id varchar2(64)) 2 SQL> create table tmao (id varchar2(64)); Table created SQL> insert into tmao values(818); 1 row inserted SQL> insert into tmao values('819'); 1 row inserted SQL> commit; Commit comp...
tkprof的用法
Tkprof可以分析oracle跟踪文件,然后得出一个清晰的报告。主要就是让我们查看起来更方便。使用方法:SQL> select * from v$mystat where rownum=1; SID STATISTIC# VALUE---------- ---------- ---------- &...
sql调优1
sql语句为:select count(*) over() TOTALROWCOUNT, count(*) as ROW_NUMBER, row_number() over(order by t1.Y_CODE) ROW_NUMBER2, count(distinct t1.r_id) NUMBER3,  ...
表连接方式及使用场合
NESTED LOOP 嵌套循环连接 由两个for循环组成。不管什么连接,本算法都可以使用。连接的两个关系,分别称之为外层关系和内层关系,把数据块数大的关系作为外层关系,小的关系作内层关系。分为块嵌套循环连接(简单点说,就是把已经放在内存的两个关系块全部连接完成后再进行下一数...
HINT篇---其他hint相关
四:使用其他hint1、/*+parallel(t n) */ 并行相关hint,开启多个并行cpu去执行,n为开几个cpu2、/*+ no_parallel(t) */ 不开并行度,默认就是不开3、/*+append */ 插入数据在高水位线以上插入,当大量数据插入时可使用4、/*+ dynamic_sampling(t 2) */ sql执行时动态采样的级别5、/*...
HINT篇---表关联顺序相关
三:表关联顺序相关的Hint1、/*+ leading(TABLE) */ 指定哪个表为驱动表2、/*+ ordered */ 指定按照from后面的顺序来选择谁做驱动表3、/*+ use_hash(t,t1) */ 表明采用hash方式连接4、/*+ use_nl(t,t1) */ 表明采用nested loop方式连接5、/*+ use_merge(t,t1) */ &...
HINT篇---访问路径相关
二:访问路径相关的hint1、/*+ FULL(TABLE)*/ 表明对表选择全局扫描的方法.2、/*+ INDEX(TABLE INDEX_NAME) */ 表明对表选择索引的扫描方法.3、/*+ INDEX_ASC(TABLE INDEX_NAME)*/ 表明对表选择索引升序的扫描方法.默认就是升序,所以道理和不加ASC一样。4、/*+ INDEX_DESC(T...
HINT篇---优化器相关
一:和优化器相关的hint 1、/*+ ALL_ROWS */ 表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.2、/*+ FIRST_ROWS*/ 表明对语句块选择基于开销的优化方法,并获得最佳响应时间,使资源消耗最小化.3、/*+ RULE*/ 表明对语句块选择基于规则的优化方法.详解:对于optimizer_mode...
ASH
对于ASH,一直没有用过,原因是一直觉得awr就够了,所以很少去考虑或者研究ASH,今天圣诞节,赠给自己一个福利吧,研究一下ASH。如果awr默认间隔是1h,那如果我们想收集最近一小时的数据的话,就需要使用ASH了,使用$ORACLE_HOME/rdbms/admin/ashrpt.sql来收集。ASH的一些特性:1. 每秒采用一次,只采样活动的ses...
了解STA
sql的优化,我一直都是加索引,加hint,改sql,收集统计信息,每次都是这些步骤,今天听说了STA,所以想记录一下。应该说STA算是比较智能的东西,如果我们表上没有索引,它可能会建议我们加上索引。但首先得创建优化任务,然后再执行优化任务,最后才能出优化结果,感觉和addm有点像。一...
ADDM报告分析
以下为一份addm报告,查看该报告,可以得到addm给我们的建议,addm和awr一样,每份addm报告的格式基本一样,只是内容不同而已。$ cat addmrpt_1_20314_20317.txt第一部分是指出收集ADDM的时间段 ADDM Report for Task 'TASK_62667' &n...
常见等待事件
常见等待事件:1 buffer busy waitsdb file scattered read:和全表扫描或者fast full index scan有关,因为可能没有连续的内存,所有会将这些块分散的读入到buffer cache中。db file sequential read:是由于执行对索引,回滚(undo)段,和表(当借助rowid来访问),控制文件和数据文件头的单块读操作SQL语句(用户...
oracle压缩技术
大概在2个月前听说了数据压缩,但是知道的是表级别的压缩存储,但一直都没有实验也没有深入研究,很多时候看书,如果不实验,就很容易忘记。11g在数据压缩方面有一些特性如下:Compression for Table DataCompression for File DataCompression for Backup DataCompression for Network Traffic1. C...
不同版本下的rman压缩备份
实验环境:10.2.0.2 虚拟机-linux 64位11.1.0.6 小机-HPUNIX11.2.0.3 小机-HPUNIX 10G 推出了bzip2算法的压缩备份。 11R1推出了zlib算法的压缩备份。 11R2推出了基本压缩备份和高级压缩备份。备注:实验会因为坏境不同而存在多多少少的误差1. 10G的普通备份和压缩备份库中有数据的数据块大小一共...
asm拷贝文件到文件系统
SQL> create or replace directory SOURCE_DIR as '+DATA_DG/racdb/datafile/';Directory created.SQL> create or replace directory ORACLE_DEST as '/home/oracle/';Directory created.SQL> select name from v$datafile;NAME------------------------------------------------------------------...