2013年1月17日
摘要: 当我在做培训时,在解释绑定变量的好处时,大家都比较容易理解。但是,对于并不是任何时候绑定变量都是最优的。这一点很多人不是和理解。下面就讨论一下在什么时候会出现绑定变量会使性能变差。 扫描成本和OPTIMIZER_INDEX_COST_ADJ 我们知道,在CBO模式下,Oracle会计算各个访问路径的代价,采用最小代价的访问路径作为语句的执行计划。而对于索引的访问代价的计算,需要根据一个系统参数OP 阅读全文
posted @ 2013-01-17 15:02 一江水 阅读(1729) 评论(2) 推荐(1) 编辑
  2012年12月21日
摘要: PC登录新浪微博时,在客户端用js预先对用户名、密码都进行了加密,而且在POST之前会GET一组参数,这也将作为POST_DATA的一部分。这样,就不能用通常的那种简单方法来模拟POST登录(比如人人网)。由于要用的一部分微博数据用API获取不方便,所以还是要自己写个小爬虫,模拟登录是必不可少的。琢磨了一下这个东西,最终登录成功。1,在提交POST请求之前,需要GET获取两个参数。地址是:http://login.sina.com.cn/sso/login.php?client=ssologin.js(v1.3.18)得到的数据中有"servertime"和"no 阅读全文
posted @ 2012-12-21 15:39 一江水 阅读(2614) 评论(0) 推荐(0) 编辑
  2012年12月12日
摘要: ASM:AutomaticStorageManagement,是Oracle主推的一种面向Oracle的存储解决方案,ASM和RDBMS非常相似,ASM也是由实例和文件组成,也可以通过sqlplus工具来维护。ASM实例的创建和删除也可以用DBCA这个命令来操作。在dbca的第一个界面选择配置自动存储管理就可以了。ASM实例需要CSS进程,如果是非RAC环境,在启动ASM实例之前会提示用脚本$ORACLE_HOME/bin/localconfigadd启动CSS。1.ASM实例由SGA和后台进程组成。1.1SGA组成:ASM实例的SGA包括BufferCache,SharePool,Large 阅读全文
posted @ 2012-12-12 14:38 一江水 阅读(1796) 评论(1) 推荐(1) 编辑
摘要: oracle文件的第一个块(block 0)是OS block header,在数据库中查询不到信息,记录的是OS信息,以及文件大小的等信息:SQL> select file_name,bytes from dba_data_files;FILE_NAME BYTES-------------------------------------------------- ----------/u01/app/oracle/oradata/PROD/user01.dbf 671088... 阅读全文
posted @ 2012-12-12 14:25 一江水 阅读(2283) 评论(0) 推荐(0) 编辑
  2012年12月5日
摘要: 最近在研究物化视图日志的结果,查询了一下系统中物化视图日志的情况,没想到却发现了一个问题:调用自己写的一个脚本,结果发现个别物化视图日志的数量已经达到了几十万:SQL> declare 2 v_output number; 3 begin 4 for c_cursor in (select tname from tab where tname like 'MLOG%') LOOP 5 execute immediate 'select count(*) from ' || c_cursor.tname into v_output; 6 dbms_outpu 阅读全文
posted @ 2012-12-05 15:33 一江水 阅读(2264) 评论(0) 推荐(0) 编辑
摘要: Oracle物化视图的快速刷新机制是通过物化视图日志完成的。Oracle如何通过一个物化视图日志就可以支持多个物化视图的快速刷新呢,本文简单的描述一下刷新的原理。首先,看一下物化视图的结构:SQL> create table t (id number, name varchar2(30), num number);表已创建。SQL> create materialized view log on t with rowid, sequence (id, name) including new values ;实体化视图日志已创建。SQL> desc mlog$_t名称 是否为空 阅读全文
posted @ 2012-12-05 15:31 一江水 阅读(796) 评论(0) 推荐(0) 编辑
摘要: 物化视图的日志清除是由Oracle自动完成的。Oracle会根据物化视图基表上的注册信息和物化视图的刷新来确定何时删除物化视图日志。物化视图的注册信息的清除则是在删除物化视图的时候进行,但是对于物化视图建立在远端数据库中的情况,物化视图注册信息的清除可能会复杂一些。如果物化视图建立在本地,则Oracle拥有所有的数据字典信息,因此,本篇所有的测试都是针对远端物化视图进行的。首先来看清除物化视图日志的例子。这个操作完全有Oracle进行,即使用户没有物化视图日志的DELETE权限也没有关系。首先,登陆远端数据库建立测试所用基表和物化视图日志:SQL> CONN TEST/TEST@TEST 阅读全文
posted @ 2012-12-05 15:31 一江水 阅读(742) 评论(0) 推荐(0) 编辑
  2012年11月16日
摘要: 数据库版本:Oracle10.2.0.5-64节点数:2操作系统版本:centos 5.6 -64今天做awr报告发现gc buffer busy等待时间gc buffer busy This wait event, also known as global cache buffer busy prior to Oracle 10g, specifies the time the remote instance locally spends accessing the requested data block. This wait event is very similar to the bu 阅读全文
posted @ 2012-11-16 16:54 一江水 阅读(2459) 评论(0) 推荐(0) 编辑
  2012年11月14日
摘要: Oracle 的管理可以通过OEM或者命令行接口。Oracle Clusterware的命令集可以分为以下4种:节点层:osnodes网络层:oifcfg集群层:crsctl, ocrcheck,ocrdump,ocrconfig应用层:srvctl,onsctl,crs_stat下面分别来介绍这些命令。一. 节点层只有一个命令: osnodes, 这个命令用来显示集群点列表,可用的参数如下,这些参数可以混合使用。[root@raw1 bin]# ./olsnodes --helpUsage: olsnodes [-n] [-p] [-i] [<node> | -l] [-g] [ 阅读全文
posted @ 2012-11-14 10:14 一江水 阅读(3128) 评论(0) 推荐(2) 编辑
摘要: Oracle RAC是一个比较复杂的东西,拥有众多进程和组件,每个进程都会写入自己的日志文件。对于这些日志文件,有一些开关,可以控制写入信息的详细程度,这些开关,在Oracle文档光盘里面并未提供,要修改这些开关,大致有三种方法:一、通过配置文件来修改二、通过环境变量来修改三、通过为每个组件设置debug等级来修改以下介绍每一种和第三种方法,附件的脚本,是将第三种方法做了自动化,只需要按照以下方法使用,即可完成debug开关的修改:perl crs_debug_level.pl level=1要禁用debug模式,则设置level为0:perl crs_debug_level.pl level 阅读全文
posted @ 2012-11-14 10:08 一江水 阅读(1147) 评论(0) 推荐(0) 编辑