AIX RAW LVM 的 4k Offset 问题

这可能是 Oracle 在 AIX 平台上最重要的一个潜在问题。

一般情况下,AIX 的逻辑卷前 4k 用于存储 control block (LVCB),在 Oracle 9iR2 之前,Oracle 软件自动跳过这 4k 而不用。这带来了一个潜在的问题,当 Oracle 的 db_block_size 大于 4k 的时候,一个 Block 可能跨在两个 PV/LUN/磁盘 上(如果做了条带化,那么将总有数据块跨在两个条带上–其实也还是将跨在不同的 PV/LUN/磁盘上。这样当系统崩溃的时候,很有可能造成大量的 IO 不完整,一个 PV 上 IO 写入,另一边可能未完成,启动 Oracle 的时候将会看到 ORA-1578 错误,这几乎是致命的。

为了解决这个问题,AIX 推出了 Big Volume Groups 作为应对。建立 Big VG 后,创建 LV 的时候可以通过 -T O 的参数强制征用 LV 的前 4K 空间, LVCB 的信息保存在 VGDA(volume group describe area) 里面。前 4k 空间被使用的 LV 有了一个新的设备子类型(devsubtype)标记: DS_LVZ,通过 lslv 可以看到。(Oracle 也在 9.2.0.3 之后自动识别 AIX 的新 LV 类型,直接开始使用 LV 的前 4K 空间)

对于 AIX 的可扩展性 VG,则默认创建的 LV 就会 DS_LVZ 类型,不使用 -T O 也是这样子。Big VG 可能只是一个过度类型。

在 IBM 的系统手册中可以看到:

The IOCINFO ioctl operation returns the devinfo structure, as defined in the /usr/include/sys/devinfo.h file

如何知道当前裸设备创建的时候使用了 -TO ? Oracle 10g 的文档中说 $ORACLE_HOME/bin/offset 工具可以做到。可是我居然找不到这个工具。莫非是忽悠人来着? 通过另一个工具可以看到相关信息:

$ dbfsize /dev/rfoo01_pay
Database file: /dev/rfoo01_pay
Database file type: raw device without 4K starting offset
Database file size: 920 8192 byte blocks

要想得到完美的东西太难了, AIX 在 BIG VG 上仍然还有很多问题,目前已知的当属这个“MKLV -TO ON BIG VOLUME GROUPS FAILS TO PUT SOME LV INFORMATION”最为严重–得不到正确的devsubtype 类型,Oracle 则会报告读取数据文件头错误,这个更要人命。
DBA 这个工作,还真是脑袋悬在腰带上,风险莫测。
EOF
Updated: offset 命令工具需要安装 RAC 组件才可用,Oracle 另外提供了一个补丁来弥补这个问题,在 Patch 3242957 中可以找到,直接解压缩,把工具提取出来即可用。

SI Object Browser 尝试进入中国,正在寻找合作伙伴

前几天收到了一封来自 SI Object Browser 公司人员的一封电子邮件,说这款来自日本的数据库工具正在中国寻找商业合作伙伴。(邮件里说是通过 ACE 的页面找到的我)
要不是收到这封邮件可能我还不知道 SI Object Browser 这款数据库工具。据说这个工具在日本市场”very popular”:

SI Object Browser is a development tool for Oracle database, providing
all required functions, SQL creation, Object creation, removal of
stored program’s bugs in the operation by GUI(Graphical User
Interface), which can contribute to your database development
productivity. And it prepares functions for DBA, data export, user
monitoring and tracing. SI Object Browser provides and prepares any
other many functions for Oracle development, and we’ve already
distributed 90,000 licenses over in Japan since released in 1997.

以前倒是对来自日本的另外一个数据库性能优化工具 Performance Insight(PI) 挺有兴趣的,不过据我所知,这个 PI 在国内也没什么市场。还不如卖服务更容易让用户接受。
这些第三方 Oracle 开发工具,包括 Quest 的 Toad,国内的用户群体还是不小的,但是掏钱买 License 的寥寥无几,抛开国内用盗版的一贯习性,另外一个主要原因还是和价格策略有关吧。我们的收入毕竟和欧美的还有很大差距。
话说回来,如果国内有哪家代理商愿意与 SI Object Browser 合作,可以直接着他们联系,或者我代为转达。
EOF

劳动节,身体力行要劳动

昨天9点半一直到现在,一直奋战到现在。几乎每个小时都有新情况。总算坚持过去了,暂且告一段落。
劳动节,就要劳动嘛。
从4月上旬一直忙到现在,这段时间工作强度可真的让身体有些吃不消。每次感觉坚持不住的时候再熬熬其实也就过去了。
EOF

Putty 发布了 0.60 版

Putty 发布了新的版本 0.60,最有用的一个改进是在默认设定的地方可以存储主机名字。

– Pressing Ctrl+Break now sends a serial break signal in the serial
back end, and in the SSH and Telnet backends it asks the server
to do the same (if the server supports it). The previous
Ctrl+Break behaviour can still be triggered with Ctrl-C.
– On Windows, it is no longer necessary to configure high-numbered
serial lines such as COM10 as `\\.\COM10′; PuTTY does this
automatically.
– You can now store a host name in the Default Settings.

还有不少 Bug 修订。估计 Putty 在国内网络人员中的普及原不及 SecureCRT。
EOF