01 2012 档案
摘要:通常情况下数据库引擎每访问一个数据块将产生至少一个逻辑读。而行预取与逻辑读息息相关。行预取是指当客户端从数据库获取数据时可以采用单行也可以采用多行方式返回数据。当采用多行方式时,则会预取多条记录存储在客户端内存中以避免后续多次该数据的请求所致的各种开销(LIO,PIO,NET IO)。一般预取行数越大,则所产生的开销越小,当达到临界值时其变化不大。一、演示1、创建演示表 scott@CNMMBO> select * from v$version where rownum<2; BANNER ----------------------------------------------
阅读全文
摘要:Oracle Datapump API 是基于PL/SQL实现的,是命令行方式下的补充。使用Datapump API可以将其逻辑备份特性将其集成到应用程序当中,基于界面来实现有利于简化其管理。本文主要描述的使用Datapump API描述各种不同情形的数据导出。一、演示使用datapump api实现数据导出--1、导出schema(schema模式) DECLARE l_dp_handle NUMBER; l_last_job_state VARCHAR2 (30) := 'UNDEFINED'; l_job_state VARCHAR2 (...
阅读全文
摘要:小米最近给我讲了个故事。下面是这个故事的描述。 祖孙俩骑驴赶往某地,起初是爷爷坐在驴上,孙子牵着驴在引路。过不久,有路人开始议论到,这爷爷应当照顾年幼者,孙子年纪小。爷爷觉得路人说的有道理,于是让孙子骑上驴。又过不久碰到路人议论纷纷说这孙子也太不明白事理,中国的三从四德,尊老爱幼也不知学到哪去了。于是乎爷爷便干脆自己也骑上驴,省得别人说三道四。这下子祖孙俩都乐了。又过不久呢,祖孙俩又听到路人议论开了。说什么来着呢?一打听原来是说这祖孙俩都骑在驴上,能受得了吗?踌躇良久,祖孙俩决定扛着驴走。刚刚迈出几步,对面过来的路人满脸讥笑之色!瞧这祖孙俩,啥的真是够可以的了,好端端的驴不骑,竟然扛着走…….
阅读全文
摘要:Android系统的内核要加载并运行,其实是经历了千辛万苦的,因为万事开头难。在一个系统刚开始时,并没有什么资源可以使用,CPU只认得0x00000000地址,并从那里运行第一条指令,并且这段代码有大小限制,不可以很大。因此需要开发一个引导程序放在那里运行,在这里的培训课程里,主要使用是S3C6410开发板,并且使用UBoot作为引导程序(Bootloader)。UBoot是一个很通用的引导程序,并且在嵌入式系统的应用里非常广泛,功能也相当强大,设计的架构相当灵活,很方便移植到不同的嵌入式设备里。从前面知道ARM的CPU是固定从0x00000000开始运行的,那么UBoot的编译出来的大小,是
阅读全文
摘要:在SQL tuning中,不良写法导致SQL执行效率比比皆是。最近的SQL tuning中一个外部连接写法不当导致过SQL执行时间超过15分钟左右此即为一例。通过修正该SQL的写法之后,过高的逻辑读呈数量级下降以及SQL语句执行时间也大幅下降。下面给出一个列子来演示该情形。一、创建演示环境-->当前数据库版本 SQL> select * from v$version where rownum<2; BANNER ---------------------------------------------------------------- Oracl...
阅读全文
摘要:SQL tuning过程中离不开分析SQL语句的执行计划。在一次提取执行计划的时候碰到cannot fetch plan for SQL_ID的错误提示。根据错误提示来看需要检查SQL的子游标或该执行计划不在v$sql_plan表中,而这种情况一般不存在。因为刚刚执行过的SQL语句不可能这么快从v$sql_plan移除。下面给出错误描述及处理办法。1、故障现象-->使用display_cursor提取执行计划失败 admin@CADB> select * from table(dbms_xplan.display_cursor(null,null,'iostats last
阅读全文