索引压缩在实际生产中应用的探讨
关于索引压缩的Internal请参见http://www.itpub.net/thread-1285279-1-1.html主要是想探讨一下索引压缩在什么情况下使用会更有意义?采用的是如下的测试方法:CODE:conn test/testdrop table t purge;create table ...
从底向上第六篇--compress for oltp真正压缩的阈值触发条件
从底向上第一篇--了解DML操作 从底向上第二篇--了解行迁移 从 底向上第三篇--了解index的compress 从 底向上第四篇--了解行链接 从 底向上第五篇--了解表的压缩属性 从 底向上第六篇--compress for oltp真正压缩的阈值触发条件 在Oracle 11.2里,新增加了compress for oltp压缩方式,Oracle声称这种方式是专为OLTP系统定制的,其原理图如下: Oracle has put in a significant amount of work to minimize this overhead for OLTP Table Compression. Oracle compresses blocks in batch mode rather than compressin
segment createion deferred
问题来源于一次导出C:UsersAdministrator>exp acms/acms tables=acms_light_time file=aaa.dmpExport: Release 11.2.0.1.0 - Production on 星期五 5月 28 13:44:06 2010Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - ProductionWith the Partitioning option已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集即将导出指定的表通过常规路径...EXP-00011: ACMS.ACMS_LIGHT_TIME 不存在导出成功终止, 但出现警告。C:UsersAdminist
11.2的又一件神奇的事情,也是BUG?
CODE:select t.EXECUTIONS,t.BUFFER_GETS,t.ROWS_PROCESSED from v$sql t where t.SQL_TEXT='select 1 from dual';beginexecute immediate 'select 1 from dual';end;/select t.EXECUTIONS,t.BUFFER_GETS,t.ROWS_PRO...
Oracle 11.2的BUG?还是我的问题?
环境:Windows 7Oracle 11.2.0.1 32位相同的问题在10g,11g Linux下没有重现。不知道是不是我这里的11g Windows有问题?CODE:[font=宋体]C:\Users\Administrator>sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Produc...
Index扫描生成返回记录的处理流程到底是什么
Branch Block->Leaf Block->Data Block这个流程是索引扫描的流程。 现在的问题是,对于一个索引扫描的执行计划,TABLE ACCESS BY INDEX ROWID到底意味着什么? 1.直接返回Data Block相关rowid的行,索引存在的意义仅为定位记录 2.读取Data Block相关rowid行的记录,并在索引的基础上补全记录,索引列的数据不是真正Data Block相对列的数据 [@more@]C:UsersAdministrator>sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on 星期三 5月 19 10:16:41 2010Copyright (c) 1982, 2010, Oracle. All rights reserved.SQL> c
从底向上第四篇--了解行链接
从底向上第一篇--了解DML操作从底向上第二篇--了解行迁移从底向上第三篇--了解index的compress从底向上第四篇--了解行链接从底向上第五篇--了解表的压缩属性在从底向上系列的第二篇,从底向上了解行迁移时我们看到了行迁移的产生,以及oracle是如何在block里处理行迁移。行迁移、行链接是两个概念,但是很多人可能都不太了解两者的区别与相同的地方。我们这里就加以引申,来看看行链接的情况。SQL> create table t (a varchar2(4000),b varchar2(4000),c varchar2(4000)); --这里我们建一个3个列的表表已创建。SQL> insert into t v
从底向上第五篇--了解表的压缩属性
从底向上第一篇--了解DML操作从底向上第二篇--了解行迁移从底向上第三篇--了解index的compress从底向上第四篇--了解行链接从底向上第五篇--了解表的压缩属性在从底向上第三篇--了解index的compress中,我们看到了对于索引而言,使用compress属性是如何改变索引的存储方式的。这里,对表的compress及compress的适用情况做一下测试。SQL> conn test/test已连接。SQL> create table t compress as select * from dba_tables where 1=0; --以compress关键字建立一个空表表已创建。SQL> insert into t select * from dba_tables; -- 插
从底向上第三篇--了解index的compress
从底向上第一篇--了解DML操作从底向上第二篇--了解行迁移从底向上第三篇--了解index的compress从底向上第四篇--了解行链接从底向上第五篇--了解表的压缩属性对于创建index时,是否选择compress功能概念一直比较模糊,什么情况下适用compress,什么情况下应该避免使用,都不太清楚,于是,做了如下的实验。首先,交代环境。SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProdPL/SQL Release 10.2.0.1.0 - Product
从底向上了解行迁移
请先移步从底向上了解DML操作http://www.itpub.net/thread-1283537-1-1.html在上一篇从底向上了解DML操作的帖子里,描述了insert、update、delete操作,在block里是如何进行的。这篇来介绍行迁移。上篇的最后,block里剩下3条记录,id分别为C50B(1000000000),C103(2),C104(3)前两个的text列长度都已经是4000了,如果我们修改最后一个列的长度为4000,那么3*4000肯定大于8192的block大小,这时会发生什么呢?SQL> update tt set text=lpad('a',4000) where id=3;已更新 1 行。提交完成。SQL> alter system dump datafile 1 block 134
从底向上了解DML操作
些这些东西,扩展自这个帖子:[url=http://www.itpub.net/viewthread.php?tid=1266978&extra=&page=1]http://www.itpub.net/viewthread.php?tid=1266978&extra=&page=1[/url][b]Insert、update、delete,DML操作,大家耳熟能详,使用上也是非常熟练,但是,对于这些操作,oracle在存储底层,也就是在Block里是如何处理的呢?我们来做个实验,首先,交代环境:[/b][font=宋体]SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edi
我编的并发线程压力测试工具
Oracle Database 压力测试主要用来测试数据库对指定SQL在并发多线程时响应时间。软件包内容:PressureTest.exe 测试工具,需.Net Framework2.0以上支持test.sql 测试SQL文件,SQL以“;”分割param.txt SQL对应参数,此文件一行对应test.sql中一个SQL,且参数为字符型(varchar2)Result.txt 测试结果,详细测试结果及平均结果测试采用通用ODBC连接,需在ODBC数据源管理器中定义为系统DSN。从test.sql中读取预定义SQL,并绑定param.txt中的参数,参数数目需与SQL中定义的参数数目相同。程
[笔记]Semaphores Tunning on RedHat Linux for Oracle 9i or 10g
查看当前semaphores设置:[oracle@ebsse oracle]$ cat /proc/sys/kernel/sem250 32000 100 128SEMMSL SEMMNS SEMOPM SEMMNI当初始化参数文件中PROCESSES参数设置较大时,需要调整SEMAPHORES设置SEMMSL应该设置为服务器中各个实例中最大的PROCESSES参数+10,例如,当最大的PROCESSES参数为5000时,SEMMSL应设置为5010。SEMMNS参数应设置为SEMMSL*SEMMNI,接上例SEMMSL为5010,SEMMNS参数应为(5010*128)=641280。SEMOPM参数应设置与SEMMSL参数相同,接上例此处应设置为5010更改当前SEMAPHORES参数设置:[oracle@ebsse oracle]$ suPassword
HOW TO CHECK IF ASYNCHRONOUS I/O IS WORKING ON LINUX
PURPOSE-------In this document we are going to explain how to check that asynchronous I/O (AIO) is working. AIO can be enabled in Oracle 9i 9.2 and higher.SCOPE & APPLICATION-------------------Many times there is a requirement to check if Asynchronous I/O is workingon Linux Platform, so we can try to use it for our datafiles access inside database.SOLUTION[@more@]--------slabinfo maintains statistics about objects in memory. Some of the structs usedby Asynchronous I/O are threated as objects
RHEL5安装 T60无线网卡驱动
下载了RHEL5 Server,安装完成后发现所有的网络接口均未被识别,看来只能自己安装驱动了。因为是在家里,使用无线路由上网,所以当务之急是安装无线网卡的驱动。我的无线网卡的型号是PRO/Wireless 3954ABG,驱动在这里下载:http://downloadcenter.intel.com/Detail_Desc.aspx?agr=Y&Inst=Yes&ProductID=2259&DwnldID=10315&strOSs=39&OSFullName=Linux*&lang=eng安装的过程:1.首先需要确定kernel是否已经安装 rpm -qa | grep kernel 如果没有安装,则需先安装。2.解包 % tar xzvf ipw3945-1.2.0.tgz3.
PHP无法加载MYSQL模块
http://bugs.mysql.com/bug.php?id=19817[@more@]
Failing when including --with-mysql
http://bugs.php.net/bug.php?id=35848[@more@][30 Dec 2005 6:38am UTC] shawn dot richards at ink dot ltd dot uk Description: ------------ Mac OS X patched up to date. Apache 2. PHP 5 (latest snap) Compilation with --with-mysql option fails. Have tried compiling with MySQL 4.x Standard, 5.x Standard (preferred) and 5.x Debug. Same error every compilation even though MySQL works every time. Reproduce code: --------------- ./configure --with-apxs2=/usr/local/apache/bin/apxs --enable-
双字节中文字符集导出的DMP文件导入UTF8字符集
目前Oracle对中文的支持已经做的很好,有很多字符集可以存储中文字符,常用的有ZHS16GBK、UTF8等等。而对于除UTF8字符集外,其他字符集在存储中文字符时将会使用两个字节,但如果使用UTF8,则需要占用3个字节的空间。因此,问题来了,如果我们将两个字节的字符集中的数据导入UTF8字符集时是否会出现问题?怎么解决该问题?[@more@] 我们先来做个实验: D:>sqlplus /nolog SQL*Plus: Release 8.1.7.0.0 - Production on 星期一 3月 28 15:02:56 2005 &n
一起由于Oracle 8.1.6 BUG而导致的ORA-03113错误
刚刚处理完一起由于Oracle 8.1.6.0 BUG而导致的Ora-03113错误,服务器操作系统为Windows 2000 Service Pack 4用户的服务器重起后发现原本能够正常运行的报表存储过程运行中出现Ora-03113及Ora-03114错误。alter session set sql_trace=true后发现session运行到一条insert into ... select语句时便会报告Ora-03113错误。后在Itpub及CNOUG上查询,参考了一些帖子及Fenng老大的文章,并试图对SQL进行修改,但是即便是主从表的连接加两个以上的WHERE条件时也会报这个错误。于是便在考虑是否是因为BUG问题而导致,但是查到的资料中除了Fenng老大
DUL User's and Configuration Guide V9.1.0.0 (Metalink)
DUL User's and Configuration Guide V9.1.0.0 Oracle Confidential DUL and this documentation is Oracle Confidential and for Internal use only.[@more@]DUL User's and Configuration Guide V9.1.0.0 Oracle Confidential DUL and this documentation is Oracle Confidential and for Internal use only. Table of contents Principles and feature list Setting Up and Using DUL Configuration Files Data Dictionary available No Data Dictionary UNLOAD statement overview Output format Some DUL internals DDL - DUL Dump L