hp-ux内存不足导致交换一例
客户反映一台32G的HP-UX经常swap,但,分给Oracle的SGA+PGA内存仅仅23个G,并且,该机器上没有跑其他的应用,理论上不应该导致交换。glance了一下:发现FileCache占用了8.3Gb的内存,导致了内存交换。对于HP-UX 11i Version 3,可以修改初始化参数filecache_max来控制FileCache占总内存的百分比http://docs.hp.com/en/B2355-60130/filecache_max.5.html[@more@]NAMEfilecache_max, filecache_min — maximum or minimum amount of physical memory used for caching file I/O dataVALUESFailsafefilecache_min: approximately 5% of physi
索引无法消除排序的问题
原帖见:http://www.itpub.net/viewthread.php?tid=1345402由于对索引键进行了reverse,导致无法避免排序。其实,在不加hint无法走index full scan就可以发现问题了。最后绕了一大圈。记录一下。[@more@]
V$SYSMETRIC_HISTORY 的时间错乱
记录一下:http://www.itpub.net/thread-1339001-1-1.htmlBug 5880921 - Time inconsistency between V$SYSMETRIC_HISTORY and SYSDATE [ID 5880921.8] -------------------------------------------------------------------------------- 修改时间 03-APR-2009 类型 PATCH 状态 PUBLISHED Bug 5880921 Time inconsistency between V$SYSMETRIC_HISTORY and SYSDATEThis note gives a brief overview of bug 5880921. The content was last updated on: 03-APR-2009Click here for details of each of the sections below.
统计信息的32位限制
原帖在此:http://www.itpub.net/thread-1339053-1-1.htmlOracle在对于varchar等字符型字段收集统计信息时,并不会对每个值都进行精确的统计,而是,对值进行substr(,32)。一般来讲,这种方式没有什么问题,但是,如果恰巧列中存储的数据,前32bytes相同,那么,Oracle的统计就会与实际情况不符。请看下面的例子:[@more@]SQL*Plus: Release 11.2.0.1.0 Production on 星期五 8月 20 10:40:54 2010Copyright (c) 1982, 2010, Oracle. All rights reserved.SQL> conn test/test已连接。SQL> drop table t;表已删除。SQL> create
关于delete还是update会产生更多日志的问题
论坛上有兄弟问http://www.itpub.net/thread-1338094-1-1.html对于redo而言,不仅仅需要记录数据块的更改,还需要记录相关undo的信息。因此,由于delete操作需要记录全部列的undo信息,redo量往往大于update。但是,考虑到supplemental log(附加日志)时,是什么情况呢?[@more@]SQL> select SUPPLEMENTAL_LOG_DATA_MIN, 2 SUPPLEMENTAL_LOG_DATA_PK, 3 SUPPLEMENTAL_LOG_DATA_UI, 4 SUPPLEMENTAL_LOG_DATA_ALL 5 from v$database 6 ;SUPPLEME SUP SUP SUP-------- --- --- ---YES YES YES NOS
INDEX RANGE SCAN DESCENDING的逻辑读问题
itpub:http://www.itpub.net/thread-1335784-1-1.htmlINDEX RANGE SCAN DESCENDING的逻辑读126明显大于INDEX RANGE SCAN 5,但优化器依然选择了INDEX RANGE SCAN DESCENDING这里先不讨论优化器的选择,仅仅看看是否INDEX RANGE SCAN DESCENDING的逻辑读会高的这么厉害下面是测试代码:[@more@]SQL> create table emp (id,name) as select object_id,object_name from dba_objects;表已创建。SQL> create index t_idx_emp on emp(id);索引已创建。SQL> set arraysize 5000SQL> select id,name from emp where id between 100 a
PRECOMPUTE_SUBQUERY应用的一个例子
SQL> select * from v$version;BANNER----------------------------------------------------------------Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64biPL/SQL Release 10.2.0.4.0 - Productio...
日期转换为raw的函数
在论坛上看到有需要日期转raw的兄弟,写了个函数:create or replace function date_to_raw(rv varchar2) return varchar2as rv_century number; rv_year number; rv_month number; rv_day number; rv_hour number; rv_mil number; rv_sec number;begin rv_century:=to_number(substr(rv,1,2))+100; rv_year:=to_number(substr(rv,3,2))+100; rv_month:=to_number(substr(rv,5,2)); rv_day:=to_number(substr(rv,7,2)); rv_hour:=to_number(substr(rv,9,2))+1; rv_mil:=to_number(substr(rv,11,2))+1; rv_sec:=to_number(s
11.2 绑定变量执行计划怎么这样?求助!
本来是想在11G下实验一下http://www.itpub.net/thread-1323480-1-1.html没想到,发现了新的问题,新开帖求助C:\Users\Administrator>sqlplus /nologSQL*Plus: Release 11.2.0.1.0 Production on 星期一 7月 12 15:14...
关闭bind peeking功能的测试
http://www.itpub.net/thread-1323402-1-1.html提到是否可以关闭data binds peeking功能,查了一下,有个隐含参数_optim_peek_user_binds,顺便做下测试,Oracle版本为10.2.0.4 IA64 LinuxSQL> create table t (id ...
11G Adaptive Cursor Sharing(ACS)自适应游标测试
被10G变量窥视搞得很头痛,看看11G的ACS新特性。SQL*Plus: Release 11.2.0.1.0 Production on 星期四 7月 8 14:18:36 2010Copyright (c) 1982, 2010, Oracle. All rights reserved.SQL> conn test/test已连接。SQL> create table t(id integer,text varchar2(4000));表已创建。SQL> insert into t select 1,object_name from dba_objects;已创建63861行。SQL> insert into t values(2,'aaa');已创建 1 行。SQL> insert into t select 3,object_name from dba_objects where rownum<10000;已创建9999行。SQL> commit
伪造基于ASSM表空间的数据块
从底向上第一篇--了解DML操作从底向上第二篇--了解行迁移从底向上第三篇--了解index的compress从底向上第四篇--了解行链接从底向上第五篇--了解表的压缩属性从底向上第六篇--compress for oltp真正压缩的阈值触发条件从底向上第七篇--超255列表的存储从底向上第八篇--伪造基于ASSM表空间的数据块突发奇想,既然Oracle数据块的格式我们基本都能了解,那么,伪造一个数据块也应该是可行的,做个实验,测试一下SQL> conn test/test已连接。SQL> create table t as select * from dba_objects where rownum=1;表已创建。SQL> select
从底向上第八篇--伪造基于ASSM表空间的数据块
从底向上第一篇--了解DML操作从底向上第二篇--了解行迁移从底向上第三篇--了解index的compress从底向上第四篇--了解行链接从底向上第五篇--了解表的压缩属性从底向上第六篇--compress for oltp真正压缩的阈值触发条...
索引ROWID转换函数
SQL> create table t as select * from dba_objects;表已创建。SQL> create index t_idx on t(object_name);索引已创建。SQL> alter system checkpoint;系统已更改。SQL> select header_file,header_block from dba_...
ASSM表空间FIRST LEVEL BITMAP BLOCK位图标志位意义
offset 3961 FULL2 0-25% free3 25-50% free4 50-75% free5 75-100% free6 Shrink Complete[@more@]
ORA-04031的傻瓜解决办法(原创)
数据库版本:8.1.6.0操作系统:WINDOWS 2000 SERVER应用过程中总是出现ORA-04031错误,采用该方法后运行2个月没有再次出现过该错误。可以提交一个JOB来自动运行这个过程。可以将存储过程先钉在缓冲区中。但是现在还不...
PL/SQL WhiteBoxTester PL/SQL白盒测试工具
不说了,看图吧:0.1.jpg0.2.jpg0.3.jpg0.4.jpg0.5.jpg1.jpg2.jpgPLSQL WriteBoxTester.rar(2008-01-15 17:13:41, Size: 1.2 MB, Downloads: 13)
看到unwrap的,咱也做个自动wrap当前用户的procedurefunctionpackage脚本
看到unwrap的,咱也做个自动wrap当前用户的procedurefunctionpackage脚本原先都是用wrap命令行来打包代码,但是,这个工具有版本的限制,如果高版本的wrap想刷到低版本的服务器里就会有问题。头疼了很久了。现在写了个存储过程脚本,可以在服务器端自动wrap没有wrap的代码。嘿嘿。只用把源码刷进去,执行,就可以了。当然,也可以改成wrap指定的过程、函数、包。http://www.itpub.net/viewthread.php?tid=1209011[@more@]
看到unwrap的,咱也做个自动wrap当前用户的procedure\function\package脚本
原先都是用wrap命令行来打包代码,但是,这个工具有版本的限制,如果高版本的wrap想刷到低版本的服务器里就会有问题。头疼了很久了。现在写了个存储过程脚本,可以在服务器端自动wrap没有wrap的代码。嘿嘿。只用把源...
从底向上第七篇--超255列表的存储
从底向上第一篇--了解DML操作从底向上第二篇--了解行迁移从底向上第三篇--了解index的compress从底向上第四篇--了解行链接从底向上第五篇--了解表的压缩属性从底向上第六篇--compress for oltp真正压缩的阈值触发条...