4 Nodes Oracle10g RAC on Linux x86-64

用时两天给客户安装完了4节点的Oracle10g RAC on Linux x86-64,使用了OCFS2存储数据文件以及ocr和voting disk。概括一下碰到的问题。 1. 基本上完全按照Oracle官方安装文档,但是其中kernel.shmall内核参数的设置,如果按照默认值2097152的话,最多只能使用到8G内存,当配置SGA过高的时候,就会在启动实例的时候报错。 SQL> startup nomount ORA-27102: out of memory Linux-x86_64 Error: 28: No space left on device 需要将此参数值修改为shmmax/PAGE_SIZE值(通过getconf PAGE_SIZE获取),在此次实施中,客户机器为64G内存,PAGE_SIZE = 4096,因此应该设置kernel.shmall = 16475728。 2. 在安装CRS之前文档中要求运行rootpre.sh,但是却会报“No OraCM running”这样的错误。按照Metalink Note: 405986.1,这个错误可以忽略。 3. 安装CRS最后运行root.sh的时候,报错: PROT-1: Failed to initialize ocrconfig Failed to upgrade Oracle Cluster Registry configuration 重新mount OCFS2文件系统之后,再次运行root.sh,故障消失。 umount /u02/oradata/system mount -L…

DUL is Life

系统情况如下: 1. Oracle版本是10.2.0.1,操作系统是Linux x86-64 2. 数据文件存储在OCFS2上 3. 需要恢复的表是普通表 4. 未知故障引起online日志文件损坏,使用隐含参数启动数据库之后,已经将大部分表通过exp导出到新库中,但是个别表无论是使用exp还是使用select都会报ORA-01555 snapshot too old错误,很明显回滚段数据存在不一致。 由于只有小部分数据无法导出,因此决定使用DUL直接从数据块中读取数据。 对于OCFS2文件系统无需特殊处理,在control.dul中按照路径写入系统表空间数据文件和故障表所处的用户表空间数据文件即可。 由于system表空间正常,数据字典都存在,因此unload table的过程很简单,bootstrap之后直接unload table即可。 这次unload出的表中最多记录数为580万多。 最后将生成的dat文件通过SQL Loader加载回新建的数据库中,对于中文的处理需要将操作系统NLS_LANG环境参数设置为跟数据库字符集相同。 本来这次想测试老熊的ODU执行效率,很可惜,在执行linux版本的odu时报无法找到某lib,因此作罢(由于时间充裕,在等待后续处理的过程中,将系统表空间文件和其中一个数据文件ftp到windows中,然后使用windows版本的odu测试了一下,unload table功能完全正常)。

How to Install older extention for Firefox 3.5

Firefox已经升级到最新的3.5版本,暂且不论是不是启动速度和页面渲染都变快(实际上我并没有感觉出来 Orz),以前可以使用的一些扩展如果作者没有及时更新的话,在新版本下就无法安装了。 比如Scrapbook这样优秀的扩展,如果无法使用的话简直是一种折磨。 通过以下的方法可以将旧版本的扩展从Mozilla Addons的官方网站上直接安装到Firefox 3.5中。 1. 安装MR Tech Toolkit扩展,该扩展除了自己的强大功能之外,还可以允许其它扩展安装的时候,跳过版本验证步骤。安装完毕以后,将该扩展功能选项中“Enable AddOn Compatibility Checking”之前的勾取消,如下图。 2. 在Mozilla Addons站点注册一个免费的用户,登录之后,才可以在安装扩展的页面上看到“Ignore version check”这样的字样,点击它,本来不允许安装的按钮将变为绿色的“Add to Firefox”。如下图。 3. 像之前一样安装,然后重启Firefox,就可以正常使用扩展了。