> 文章列表 / Page 307

2010-07-29

利用Toad for Data Analysts软件生成查询语句

下午尝试用Toad For Data Analysts生成查询语句和ER模型图,感觉还不错;同时配有图形化的执行计划示意图,配合Toad的SQL optimizer可以算是一个很不错的数据库开发组合。 生成查询的Query Builder界面: 生成的SQL语句: 图形化的执行计划:
#POST 1 MIN READ
2010-07-29

重做日志浪费(redo wastage)

Oracle中联机日志文件(online redo log)在大多平台上以512 字节为一个标准块。 (HPUX,Tru64 Unix上是1024bytes,SCO UNIX,Reliant UNIX上是2048bytes,而MVS,MPE/ix上是4096bytes,虽然以上许多UNIX已经不再流行,实际情况可以通过 select max(l.lebsz) log_block_size_kccle from sys.x$kccle l where l.inst_id = userenv(‘Instance’)   语句查询到) LGWR后台进程写出REDO时未必能填满最后的当前日志块。举例而言,假设redo buffer中有1025字节的内容需要写出,则1025=512+512+1 共占用三个重做日志标准块,前2个标准块被填满而第三个标准块只使用了1个字节。在LGWR完成写出前,需要释放”redo allocation”闩,在此之前SGA中索引”redo…
#POST 3 MIN READ
2010-07-28

Apple:破解iPhone或许合法,但仍会影响保修

天知道这在法庭上会是什么说法!Apple采取了一种积极防御的态度,他们指出破解(jailbreaking)iPhone,在今天可能是合法的,但仍将影响到保修。此外他们还表示真正会去破解IPhone的人只是那么一小撮,实在没必要因此而太过兴奋。 昨天的法律仲裁可能会是近几年最大的科技趣闻,同时也给了Apple一个机会。Apple公司的法律支持大概要花一阵子时间搞清楚破解(jailbreaking)这档子事了。事实是经过仲裁认定这是百分之百合法的。苹果公司当然没有义务为你提供一个专门用来破解的应用(jailbreaking application)-jailbreaking.app;但他们也不能够直接回绝你:“抱歉,我们禁绝任何破解!”。 一位苹果公司发言人这样对Mac狂热爱好者说: 苹果公司的目标是保证在使用iPhone时能获得美妙的用户体验,而且我们了解到破解其实是有损于这种体验的。正如我们之前所说的,绝大多数用户并没有破解的打算,因为那样做会影响到保修并且导致iPhone极不稳定也不可靠。 大体上我们不用质疑这份声明的诚意,但在末尾关于破解会导致iPhone极不稳定的纯属无中生有。如果破解存在诸多问题,怎么可能使整个社区致力于此?
#POST 2 MIN READ
2010-07-27

latch free:cache buffer handles造成的SQL性能问题

数月之前,一位新疆的同事反映客户的某套单节点数据库存在性能问题,某个SQL长时间运行没有结束,在该SQL运行期间大量回话处于latch free等待中。因为相隔遥遥千里,同事之间是通过Email交流的;他首先给我发来了该问题SQL的相关explain_log。其中该语句的执行计划如下: ----------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost | ----------------------------------------------------------------------------------------------- | 0 |…
#POST 9 MIN READ
2010-07-26

转储控制文件信息

当前控制文件的内容可以通过CONTROLF dump以文本形式转储到实例参数指定的目录下。 各级别CONTROLF转储的区别: 转储级别 转储内容 1 仅包含文件头信息 2 包括文件头,数据库信息记录,检查点进程记录 3 所有记录类型,针对循环重用的记录类型仅保留最早及最近的记录 4 如上,包含4条最新的可重用类型的记录 5+ 如上,包含的可重用类型记录为2*level条 SQL> oradebug setmypid; Statement processed.…
#POST 1 MIN READ
2010-07-26

巧用close_trace命令释放误删trace文件

可能很多朋友都遇到过这样的情况,在UNIX/Linux上定期清理Oracle日志文件夹时可能删除到仍被后台进程open着的trace文件,即某些后台进程一直持有着这些”被已经误删了的“打开文件的描述符(fd),这种情况下文件系统上该文件实际占用的空间是不会被释放的,这就造成使用df命令查看文件系统剩余空间和用du命令查看文件夹空间使用量时数值不一致的问题。此外因为是后台进程持有这些打开文件描述符,所以我们无法像kill服务进程一样来解决该问题(部分后台进程是可以kill的,不建议这样做)。oradebug是sqlplus中威力强大的debug命令,我们可以通过该命令发起多种trace/dump,其中也包括了close_trace事件;close_trace事件可以让指定进程关闭其正持有的trace文件。 下面我们就来演示下相关操作: [maclean@rh2 ~]$ ps -ef|grep ora_|grep -v grep maclean   7281     1  0 16:35 ?        00:00:00 ora_pmon_PROD maclean   7283     1 …
#POST 4 MIN READ
2010-07-26

【书籍推荐】Oracle 8i Internal Services

直到今天仍是经典,无可替代,绝不落伍。想了解Oracle internal 必读的一本书,每次翻开影印本都会有所收获,感谢作者的无私贡献! [gview file=”http://askmaclean.com/wp-content/uploads/resource/oracle8i.internal.services.for.waits.latches.locks.pdf”]
#POST 1 MIN READ
2010-07-25

【转】网络制图法(Internet Cartography)

fackbook的技术专家之一Carlos Bueno在这周一发表了这篇关于有趣的网络制图(Internet Cartography)的文章,如果你恰好”无法正常浏览“facebook的页面,那么也可以读读我所引用的: Every generation likes to think it reinvents the world from scratch. But some things are shaped by…
#POST 8 MIN READ
2010-07-24

_shared_pool_reserved_pct or shared_pool_reserved_size with ASMM

共享池是Oracle著名的SGA的一个重要组成部分,当我们尝试从共享池中分配较大的连续区域时(默认来说是4400bytes),我们可能会用到共享池中的保留区域(也叫保留池);注意Oracle总是会先尝试扫描普通共享池的空闲列表,之后才尝试扫描保留池的空闲列表,无论所需分配的内存块是否超过隐式参数_shared_pool_reserved_min_alloc所指定的值。 什么?你看到过的4031描述文档是用以下伪代码描述分配流程的: large, scan reserved list if (chunk found) check chunk size and perhaps truncate if (chunk is not found)…
#POST 3 MIN READ