使用with as优化sql解决filter
最近一个地市的报表系统老是说数据出得慢,基本上要到中午才能出数据,但是查看过程是比较简单的。后来发现一条sql有问题,居然要跑5个多小时。 查看跑2个小时以上的sqlSELECT SQ.SQL_TEXT,S.SQL_ID,S.SID,S....
ORACLE备份中的压缩
默认的情况下,如果没有配置压缩备份,或者备份的时候没有发出compressed 命令,那么ORACLE会采用NULL数据块的压缩方法来备份数据库,采用这种方法备份,ORACLE就不会备份从未使用过的数据块。另外一种备份就...
shared pool 原理详解
由于shared pool中最重要的是library cache,所以本文主要讲解Library cache的结构,library cache latch,library cache lock,library cache pin。What is shared pool?Shared pool是SGA中的一部分,由于它是S...
Orace与SQL常用函数对照
SQL中的单记录函数1.ASCII返回与指定的字符对应的十进制数;SQL> select ascii('A') A,ascii('a') a,ascii('0') zero,ascii(' ') space from dual; A A ZERO SPACE--------- --------- --------- ---------65 97 48 ...
Oracle Rman 命令详解(List report backup configure)
一、list常用命令总结备忘list命令列出控制文件、RMAN恢复目录中备份信息, 是我们对所有可见的数据库备份文件的一个最直观的了解的方法list incarnation;list backup summary;list backup of database summary;list...
RMAN实例备份与恢复详解
1. 检查数据库模式:sqlplus /nolog conn /as sysdbaarchive log list (查看数据库是否处于归档模式中)若为非归档,则修改数据库归档模式。startup mountalter database archivelogalter database open2.连接到targ...
Oracle 执行计划(Explain Plan) 说明
如果要分析某条SQL的性能问题,通常我们要先看SQL的执行计划,看看SQL的每一步执行是否存在问题。 如果一条SQL平时执行的好好的,却有一天突然性能很差,如果排除了系统资源和阻塞的原因,那么基本可以断定是执行计...
多表连接的三种方式详解 HASH JOIN MERGE JOIN NESTED LOOP
在多表联合查询的时候,如果我们查看它的执行计划,就会发现里面有多表之间的连接方式。 之前打算在sqlplus中用执行计划的,但是格式看起来有点乱,就用Toad 做了3个截图。从3张图里我们看到了几点信息...
Oracle Hint 详解
Hint 是Oracle 提供的一种SQL语法,它允许用户在SQL语句中插入相关的语法,从而影响SQL的执行方式。因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Oracle提供给DBA用来分析问题的工具 。...
Oracle 插入大量数据
1. 采用高速的存储设备,提高读写能力,如:EMC 和NetApp,2. 假如tab1表中的没有数据的话 DROP TABLE TAB1;CREATE TABLE TAB1 AS SELECT * FROM TAB2;然后在创建索引 3. 用Hint 提示减少操作时间INSERT /*+Appe...
常见Oracle HINT的用法
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:1. /*+ALL_ROWS*/表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.例如:SELECT /*+ALL+_ROWS*/ ...
Oracle RAC Failover 详解
Oracle RAC 同时具备HA(High Availiablity) 和LB(LoadBalance). 而其高可用性的基础就是Failover(故障转移). 它指集群中任何一个节点的故障都不会影响用户的使用,连接到故障节点的用户会被自动转移到健康节点,从用...
降低HWM时需要注意的问题
想要降低HWM,有2中方法,alter table MOVE, alter table SHRINK 。ALTER TABLE MOVE 步骤:1. desc username.table_name ----检查表中是否有LOB2. 如果表没有LOB字段 直接 alter table move; 然后 rebuild ind...
Oracle undo 表空间管理
Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要指定一个UNDO 表空间。 如果设为manual,系统...
Oracle undo 管理
在开始之前,我们先来思考几个问题?1. ora-01555错误的是怎么产生的?有什么办法解决?该问题,参考我的Blog: Oracle ORA-01555快照过旧http://space.itpub.net/28673746/viewspace-7574122. 回滚段(回滚表空...
Oracle ORA-01555 快照过旧 说明
ORA-01555 快照过旧,是数据库中很常见的一个错误,比如当我们的事务需要使用undo来构建CR块的时候,而此时对应的undo 已经不存在了, 这个时候就会报ORA-01555的错误。 有关CR 块,参考我的Blog:CR (consi...
CR (consistent read) blocks create 说明
网上google的资料,翻墙之后的结果,翻墙之前网页打不开:The CR blocks created: Oracle metric is the number of CURRENT blocks cloned to create CR (consistent read) blocks. The most common reason for c...
Oracle rdba和 dba 说明
一. DB(Data block)From: http://www.orafaq.com/wiki/Data_blockA data block is the smallest unit of storage in an Oracle database. Every database has a default block size (specified when the database...
Oracle 表空间 创建参数 说明
一. 表空间的说明 先看一个表空间的创建SQL:CREATE TABLESPACE SYSAUX DATAFILE '/u01/app/oracle/oradata/orcl/sysaux01.dbf' SIZE 250M AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITEDLOGGINGONLINEPE...
Oracle Table 创建参数 说明
先看一个oracle 10g 下table 创建SQL,都是默认值:CREATE TABLE SYS.QS(USERNAME VARCHAR2(30 BYTE) NOT NULL,USER_ID NUMBER NOT NULL,CREATED DATE NOT NULL)TABLESPACE SYSTEMPCTUSED 40PCTFREE 10INIT...