ORA-600[KELTNFY-LDMINIT] How to

Oracle 10gR2 数据库在启动的时候报ORA-600错误: ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], [] 原因: 服务器hostname没有正确配置,通过hostname命令得到的主机名无法ping通,Oracle10g认为主机无法达到所以启动数据库报错。 解决方法: 将hostname添加到/etc/hosts文件中,重新启动数据库。

IBM AIX 5L+TSM+Oracle10.2.0.3 RAC+ASM+RMAN经验谈

1. TSM(Tivoli Storage Manager)在产品易用性方面真是不如Veritas的NBU,甚至也不如HP的Omni DP。 2. 高端带库的I/O速度不弱于盘阵,跟I/O通道个数以及驱动器个数关系很大。 3. 使用2个channel往84块单盘300G的底层作了0+1 RAID的21个物理卷组成的ASM磁盘组中(好拗口 …)restore 2T大小的数据库耗时6小时。 4. 目前看来,所有的ASM磁盘组信息都没有存在任何配置文件中,无论是进入asmcmd还是选择v$asm相关视图,都是实时从PV头部读取的信息。所以在ASM使用外部冗余的磁盘组中一块PV坏掉以后,可以直接用dd来清除该磁盘组中所有其他disk的头部信息,然后重新创建磁盘组,然后用RMAN恢复数据库,这也是当ASM磁盘组崩溃以后唯一的修复方法。 5. 条带并不是越多越好。在这个环境中,112块disk在硬件级别做了RAID 0+1的条带和镜像,操作系统中对这112/2*300G=16T的存储做了56个PV,如果在创建LV的时候又选择了条带选项(二次条带化),那么读性能将会严重下降,每秒只能达到60M的读,而如果去除二次条带化,则读性能可以上升到每秒200M。 原因:在将数据写入做了二次条带化的存储上时,首先数据在操作系统级别被打散为56个stripe,然后每个stripe在硬件级别又再次被打散为56个stripe,这样并行写的性能是没有问题的,但是在读取的时候,由于请求的数据在硬件级别是被打散在56块disk中的,而硬件级别的缓存机制在读取一块disk上的数据时将会缓存相邻的大量数据,而这些缓存对于此次读取来说都是无用的,当从另外一个disk中再读取需要的数据时,缓存又需要被腾空再容纳这个disk上的数据,但是这次缓存中又只有很小一部分数据是有用的,因此当PV越多的时候,二次条带将导致越大的性能下降。 6. 10g的新功能change tacking貌似有些bug,在头天晚上启动了change tacking,然后做了level 0备份,2.1T的数据文件总共备份出200G的备份集,第二天做了level 1备份,居然备份出2.1T的备份集,也就是change tracking告诉RMAN在这一天里面所有的data block都发生了变化,所以RMAN备出了数据库中所有block,但是实际上这很明显是不可能的,因为当天的归档日志备份只有500多M,第三天仍旧是level 1备份,就比较正常了,当天产生60多G的归档日志,但是level 1备份只花费了3分钟,这是change tracking真正的威力显示了。

ORA-27054 in Oracle10g RMAN with NFS

环境:IBM AIX 5L + Oracle10.2.0.3 RAC + ASM 动作:实施RMAN RMAN通过下面的命令在zc2节点上发起对于两个节点上归档日志的备份: allocate channel t5 type disk connect ‘sys/password@zc2’; allocate channel t6 type disk connect ‘sys/password@zc1’; sql ‘alter system archive log thread 2 current’; sql ‘alter system archive log thread 1 current’; backup filesperset 10 format ‘/orabk/arch_%t_%s_%c_%p.arc’ (archivelog UNTIL TIME ‘SYSDATE’ LIKE ‘%/arch/arch2/%’ delete all input channel…