Tuning VMM kernel parameter in AIX for Oracle

Updated@2013-01-30 对于运行Oracle数据库的AIX操作系统VMM(Virtual Memory Management)层面的系统内核参数如何进行调整,这是一个很古老的话题。这篇文章力图解释一些概念,同时与时俱进地提出一些设置的建议。 通常对VMM系统内核调优的目的,在于最大限度的保护计算内存页(computational memory)不被page-out到paging space中,因为对于计算内存页(特定于Oracle数据库来说就比如是SGA和PGA)来说被page-out出去的内存页总在之后的某一时刻又会被重新page-in,通常这样会对系统性能产生负面影响。另外对于像Oracle数据库这样拥有自己的数据缓存机制(data buffer cache)的数据库应用来说,保护计算内存页更显得格外重要。 在IBM AIX 5.3 ML1之前,对于作为Oracle Database Server用途并且使用裸设备作为Datafile存储的的AIX操作系统内核参数调优的经验通常如下: maxperm%=maxclient%=(通常是一个很低的值,小于20或者30) 设置较小maxperm%值的原因在于,如果文件内存页在内存中的比例高过该参数值,那么VMM换页算法将只从文件内存页中进行偷页。将maxperm%值降低就意味着有更大的机会让VMM只从文件内存页中偷页。 minperm%=5(通常是一个比maxperm%更低的值) lru_file_repage = 1(这是默认值) 比如以下的VMM参数设置就符合该种调优方式。 root@hostname:/> vmo -a |grep "maxclient%" maxclient% = 15…

Continue ReadingTuning VMM kernel parameter in AIX for Oracle

How to recover data with DUL after datafile offline

系统情况如下: 1. Oracle版本是10.2.0.3,操作系统是HP-UX PA RISC 64 2. 数据文件存储在裸设备上 3. 需要恢复的表是分区表 4. 在调整存储硬件的时候没有关闭数据库,由于某些不可预知的故障导致某些用户表空间的数据文件write error,然后自动offline了 5. 数据库确实是归档模式,但是有一个每小时删除一次归档的crontab,删除了重新online数据文件需要的所有归档 6. 保留了之前建表时的create脚本 恢复过程如下: 1. DUL使用的init.dul内容: CONTROL_FILE = control.dul DB_BLOCK_SIZE = 16384 2. DUL使用的control.dul文件内容 0 1…

Continue ReadingHow to recover data with DUL after datafile offline