Database 类别下的文章

偶然发现 Oracle 宣布了对 9iR2 的扩展服务支持(Extended Support)。原定 9i 的产品周期是到 07 年的七月终止。可能是考虑到 10g 的不稳定或者是 9i 不想迁移的用户实在太多了吧,Oracle 现在提供对 9i 产品继续支持,而且是免费的。具体的内容包括:

Extended Support fee waived for period August 1, 2007 to July 31, 2008.
Access to Fixes and Critical Patch Updates (CPUs) during the first year of Extended Support at no additional cost.
Patch set 9.2.0.8 will be the last patch set available for Oracle9i Database Release 9.2.
Effective August 1, 2007 all CPUs and Fixes will be created against the 9.2.0.8 code line.

其中要注意的是 9.2.0.8 一下的 PatchSet 已经不被支持。想得到 Oracle 的支持服务卡那里必须要升级到 9.2.0.8 才成。

这个扩展服务支持为期一年,不知道一年后将怎样,到时候都奥运了 :)

--EOF--

这几天一直忙着折腾系统,抽空安装了好几台大大小小的服务器上的 Oracle,简单说说在 AMD 64 机器(RHEL 4) 上部署 Oracle 的注意事项。

首先, Werner Puschitz 的 Oracle 安装指导肯定是要看看的,特别注意其中要求的安装包,glibc-devel 包 32 位与 64 位都是需要的。查询语句如下:

rpm  --queryformat "%{NAME}-%{VERSION}.%{RELEASE} (%{ARCH})\n" -q make \
       binutils \
       gcc \
       cpp \
       glibc-devel \
       glibc-headers \
       glibc-kernheaders \
       compat-db \
       compat-gcc \
       compat-gcc-c++ \
       compat-libstdc++ \
       compat-libstdc++-devel \
       gnome-libs \
       openmotif21 \
       setarch 

第二个必需要注意的地方是 gcc 工具的处理,与 32 位操作系统略有不同:

mv /usr/bin/gcc /usr/bin/gcc.orig
mv /usr/bin/g++ /usr/bin/g++.orig
ln -s /usr/bin/x86_64-redhat-linux-gcc32 /usr/bin/gcc
ln -s /usr/bin/x86_64-redhat-linux-g++32 /usr/bin/g++

$LD_ASSUME_KERNEL 环境变量要设定:

export LD_ASSUME_KERNEL = 2.4.19
这个变量如果不设定的话,安装的画面会一直 Hang 在那里。

有的兼容软件可以在 Oracle Compatibility 项目主页上下载,compat-libcwait 与 compat-oracle 这 2 个包是必须的。

Oracle 的安装还是一如既往的麻烦,考虑到每台机器还要打 Patchset,然后是一堆过渡性补丁,绝对是体力活。

--EOF--

这段时间在邮件列表中讨论最多的一个话题就是 DST(Daylight Saving Time)。这个 DST 我们以前称之为"夏令时",不过英文的叫法似乎更直接(日光节省时、节能时),更能引起人们重视--节约能源。

啥是 DST?

美国加拿大实行 DST 的时间是 3 月的第二个星期天早晨两点开始到 11 月的第一个星期日的早晨两点。三月第二个个星期日早晨两点所有时钟向前回拨一个小时,到 11 月 DST 截止再拨回来。我查了一下,以前似乎不是强制的,这和现任总统小布什签署的 Energy Policy Act of 2005 法案有关。而 2007 年是改方案实行的第一年。

Daylight Saving Time , DST.gif

很明显,对于计算机操作系统与数据库来说,这样折腾来折腾去的不可能靠人手工去调整时间,所以很多欧美软件产商纷纷推出软件补丁来解决这个问题。规模之大足以让人想起千年虫的事件。

DST 与 Oracle

Oracle 数据库的调整可以从 Oracle 站点上的这个指导开始: Oracle Database Daylight Saving Time Update Guide。因为需要打新的软件补丁,数据库必需要进行重新启动。所以很多在线应用必需要忍受这次调整带来的影响。

DST 影响中国么?

我国因为取消了夏令时制度,这可能是因为能源问题虽然更加紧迫,但因为时间变来变去给人们带来的麻烦更多而取消的吧。具体的原因我不清楚,谁知道麻烦告诉我一下。如前所述,国内的 DST 问题实际上是不存在的。当然,如果你的服务器是放在美国或者加拿大,或者是面向这两个地区的用户,就需要评估一下影响了。

关于夏令时

我国曾于1986年到1991年每年从四月的第二个星期天早上2点钟,到九月的第二个星期天早上2点钟,在这段时期内,全国都将时间拨快1小时,实行夏令时。从九月的第二个星期天早上2点钟起,又将拨快的时间重新拨回来,直到第二年四月的第二个星期天早上2点钟。

Linux 怎么应对 DST?

Linux 厂商会有一个官方指导(比如 Redhat 的 DST 指导 )。如果是个人 PC,不妨参考这个:Switching your Linux systems to the new DST

-EOF--

闲扯,关于 Cache

在 Google 上用 define:cache 搜索关于 Cache 的定义,简体中文内容中的定义是这样的:
在本地放置、隐藏或存储常用信息以供快速检索。
英文内容挑一条,内容如下:
A memory area where frequently accessed data can be stored for rapid access.

说白了,其实也就是减小开销最大或比较大的那步不必要的交互。

TimesTen

Oracle 的内存数据库 TimesTen 从某种角度上来看,也是一种 Cache 机制,是磁盘数据库的 'Cache',通过物理内存中的数据存储区的直接操作,减少了到磁盘间的 I/O 交互。TimesTen 中的这个 Ten 据说就是指速度能达到基于磁盘的 RDBMS 10倍,从去年开始在国内市场也有很多活动,逐渐吸引了很多技术人员的注意。实际上,这个产品也是有一定潜在市场的。

TimesTen 与基于磁盘的 RDBMS 架构的比较

如图:

disk-based_rdbms_vs_timesten.png

这个示意图引用自 Oracle TimesTen In-Memory Database Introduction,下载该文档请到官方网站

这个数据库 的 License 报价并不贵,List 价格是 $12K/CPU,对于响应速度要求比较高,可靠性要求不是非常非常高(安装 TimesTen 的系统内存可靠性会比你的 SAN 存储系统可靠性高么?)的系统,TimesTen 作为大事务数据库的前端数据库会是一个不错的选择:

timesten_role.png
引用自:oracle-timesten-accelerate.pdf

--EOF--

Internet Archive(IA) 这个站点大家应该都不陌生。IA 旨在建立所有互联网站点的"档案库",如果说 Google 是互联网的数据库的话,那么 IA 就是互联网的数据仓库了,定期对每个 Web 页面保存快照,数据量之大可想而知。

先看看 IA 每天需要面对的处理能力:
存储超过 850 亿个 Web 页面;
每天大约 600 万次的下载;
Wayback Machine 收到大约 1000 万次点击,每秒钟要处理 100-200 个点击;
每天10万次左右通过 URL 查找;
每天 400 万次返回请求;
存储的内容包括本文、音频、视频...等各种 Web 可见的格式。

显然 IA 需要的是一种前所未有的存储解决解决方案--廉价、可靠、低功耗...总之用起来要省钱。IA 的志愿者不得不考虑自己动手建立符合他们需要的存储系统,这下子可不简单,2004 年,第一个 100GB 容量的近线存储投入使用 。IA 的志愿者之一 Saikley 干脆抽身而出成立了 Capricorn Technologies 公司,专为类似组织提供存储解决方案。前面提到的 100TB 容量的产品即为该公司 GB 系列的产品。现在 IA 已经采用 PS(PowerStore) 系列的 PetaBox,是量身定做的,装机容量 1.5T,目前容量已经超过 3PB(怕是远远超过 3PB 了)。PS 系列产品每节点原始容量可以达到 3T,使用日立 Deskstar 硬盘,仅仅占 1U 的机柜空间。IA 也在站点上介绍了定制的这台 PetaBox 的一些规格要求以及参数

Capricorn Technologies PS 系列旗舰产品

PetaBox 也是 Linux 在企业级应用取得成功的一个范例。

PetaBox 存储产品给存储界带来了不小的震撼。每 GB 的成本仅仅是 2 美元。这还是 2005 年的价格,现在应该更便宜了。搜索了一下,这家公司目前还没有进入中国。

PetaBox 系统通过一个集中式的 PXE 启动服务器运行在 Debian 或是 Fedora Linux ,通过 Nagios 进行整个环境的监控。 管理成本也并不高--每 PB 一个人。

--EOF--

从 Qnxo 到 Quest CodeGen Utility

早晨收到 Steven Feuerstein (Oracle PL/SQL Guru)署名的一封邮件。介绍了他的得意之作 Qnxo 工具的一些变化。

Steven 开发了 Qnxo 工具 ,这个工具名字的四个字母取自 Quality in, Excellence Out,是一款旨在提高 PL/SQL 代码质量与开发速度的工具。去年 Quest 公司收购他的 Qnxo ,重新命名为 Quest CodeGen Utility (QCGU) ,并将其免费,对,Freeware! 预计将在今年的上半年推出 1.5 版,届时将通过 ToadWorld.com 发布。目前是 1.4 版,可以在 QCGU.net 下载,并可以获得正式 License (原来的 Qnxo 并不是免费的,只是提供了 30 天试用期)

我曾经试用过 Qnxo, 对于 Oracle 开发人员来说,通过该软件的确能够学到很多良好 PL/SQL 编程习惯。这样好产品,现在还变成免费的,值得尝试用用。

--EOF--

题外话:Steven Feuerstein 期待与美国现任总统小布什会面的事情还没有结果。

其实是一个很老的"新"变化。Oracle 10g 对 CONNECT 角色作了一点调整。原来的 CONNECT 角色(9i) 包括

CREATE SESSION
CREATE TABLE
CREATE VIEW
CREATE SYNONYM
CREATE CLUSTER
CREATE DATABASE LINK
CREATE SEQUENCE
ALTER SESSION
其中象 ALTER SESSION 这样的权限还是很危险的,一个用户可以搞垮整个数据库。所以估计是出于安全的原因吧,Oracle 10g 现在只保留了 CREATE SESSION 这个权限。

在 Metalink Note:317258.1 描述了 CONNECT 的变迁,不看不知道,一看吓一跳,在 Oracle 7 上该角色还包括预定义角色 DBA , 即使是 Oracle 8i 上,该角色也包括了很多权限过大的预定义角色。

细微的东西往往隐藏着危险。

如果是从低版本升级到 10g 导致权限问题,可以用 $ORACLE_HOME/rdbms/admin/rstrconn.sql 这个脚本进行恢复.

--EOF--

一个是 VLDB Endowment 的站点,一年一度的 VLDB 大会的相关信息,过往会议的很多文档都可以看到。比如 2006 年在韩国汉城(去他妈的首尔)的年会,有几篇文档值得看看,

第二个是 ACM Digital Library,包括过去 50 年来的 ACM 的所有文档。搜索到的文档也是可以下载的(FAQ)。应该感谢 Google 的数字图书馆计划。这里不局限于数据库的论文,如果你对 Google 感兴趣,输入 "Google" 搜索一下看看。

logo_acm_portal2.jpg

--EOF--

关于归档

本页包含 Database 类别下的所有文章.

上一类别为 Arch.

Geek 为下一类别.

回到 首页 查看最近发表的文章或者查看所有 归档文章.