Tag Archives: Database

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

Oracle 内存数据库 – TimesTen

闲扯,关于 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

从 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 EXPDP 的 EXCLUDE 参数

Oracle 10g 的 Data Pump 是个不错的新特性,因为新(其实 10g 也发布好几年了),所以也存在不少问题。
比如 EXPDP 的 EXCLUDE 参数,expdp help=y 输出的内容是这样说明的:

EXCLUDE Exclude specific object types, e.g. EXCLUDE=TABLE:EMP.

可是实际上用这样的格式却是不正确的,会得到一个错误提示信息:

ORA-39071: Value for EXCLUDE is badly formed.

正确的格式是啥? 如果第一次遇到或许还有些不知就里,莫明其妙。在 ITpub 上有个讨论,有朋友贴的文档给出了正确的语法:

EXCLUDE=TABLE:"IN ('TABLENAME1', 'TABLENAME2')"

对于 EXCLUDE/INCLUDE 参数还要注意的是二者不能共用。此外,Linux 和 Windows 下的命令行可能要对转义符号注意一点。
这个语法问题存在好久了,应该算是文档的 Bug ? Oracle 还没有进行修正。
EXPDP 我还遇到另外一个问题,生成的文件超过 99 个就会报错。有谁遇到过没?
EOF
BTW: 最近看到有朋友批评我写的东西没意思,其实首先要明确一点,我写的东西基本上是比较简单的所谓”技术”, 另外我也不知道写什么有意思,众口难调,而且,写多了我也腻。