How to config hugepage on Linux for Oracle(配置大页)

内存管理是一个非常复杂的结构,在操作系统中用Virtual memory System进行内存管理,pagetable是中记录了内存的虚拟地址和物理地址的映射关系,当一个进程真正的访问数据是首先访问的是page table然后转向真实的地址,cpu中有固定的大小来缓存部份的pagetables,这块区域就是translation lookaside buffer(TLB).

about get bind_data column in v$sql(绑定变量值)

今天查看AWR时,发现有个sql占用的cpu很高而且也并不复杂,top 5 event出现了cpu,read by other sessions,而且sql中再次看到的hint index,随后从生产环境中拿到绑定变量参数值进行本地调试,发现hint index 选择了错误的索引一致读为93万,去掉hint立即降低到了36,随后服务器压力将了下来

Session-Level init Parameters or Environment(会话级参数环境)

sometimes we use ALTER SESSION statement to set or modify any of the conditions or parameters that affect your connection to the database. The statement stays in effect until you disconnect from the database. we can query current system Initialization parameter from v$parameter view,but where are able to confirm that the session-level parameter modification happened?

Invisible Indexes in oracle11g

11gr1起提供了Invisible Indexes,作用就是通过alter index xx invisible,对CBO隐身,我突然想到之前的一个情况,就是开发的在应用中滥用hint index,当时为了让hint index 无效,当时是选择index rename,现在看来如果是11g可以用invisible

External Table On GoldenGate Discard Files

goldengate 做为数据同步的利器,越来越普遍,往往会因为某些原因replicat进程在应用trail文件时会失败,进程要么Abending也可以也忽略记录到 Discard Files中,默认在OGG_HOME/dirrpt/ *.dsc,可以用文本工具查看内容,当然也可以更方便的用pl/sql function 读取文件,做为一张外部表(external table)查询