分类归档: Database

免费的Oracle Database 10g XE

看来真的是免费的午餐越来越多了. 打开 OpenRSS 居然看到一堆和 Oracle 的免费数据库有关的新闻.这是真的! Oracle 居然也推出了一个免费(Free,价格的Free)的 Database 版本: Oracle Database 10g Express Edition .

Oracle 10g Express Edition (XE) 集成了 Oracle HTML DB 2.1 ,便于开发基于 Web 的应用. 当然,这个免费是肯定有功能限制的:只能用于单处理器,最多处理 4G 用户数据.并且支持的内存也不能超过1G. 但是可以肯定Oracle将会逐步放宽这些限制. 联想到 10 月份 Oracle 收购芬兰的数据库技术开发商 Innobase , 看起来 Oracle 是对 MySQL 这一块中小数据库的市场有兴趣不小: 先挖掉 MySQL的半块墙角,然后抛出个半成品探探开源的路.

目前已经有Linux 平台与Windows平台的 Beta 版本可以下载.

不到一年的时间,Oracle 已经收购了大大小小十多家软件公司了.不知道是不是疯了.什么时候消化整合完都是个问题.不过推出 XE 的这个动作倒是不错.顺便搅搅局. 因为这段时间 MySQL 刚刚发布了 5.0 版本, 最为重要的是据说微软的 SQL Server 要正式推出 SQL Server 2005 了.也是阿,马上就2006 年了.新产品都要抓紧不是?

话说回来, Oracle 虽然野心大,但是也没有 Google 大,最近 Google 的 Google Base 相信会让任何一家潜在的竞争对手坐立不安

MyDUL 的版权问题

这两天看到的一个比较有意思的讨论是关于 MyDUL 的版权问题.MyDUL 这个工具前一段时间我介绍过.

MyDUL 的编写者 d.c.b.a 老兄在给几个 Oracle 用户成功的恢复了数据之后。似乎信心大增,觉得有必要进行一下宣传。于是乎跑到了 Google 的新闻组发了一个帖子,但他始料不及的是并没有看到好评如潮,反而招来几乎是压倒性的质疑声音,甚至包括 Jonathan Lewis 这样业界知名专家的恶评。

参与讨论的一个关键点是 d.c.b.a 的 MyDUL 是不是反向工程(Reverse Engineering).很明显,根据讨论者给出的参考,即使是 Unix 的 strings 命令严格来说都是反向工程.所以, MyDUL 是否侵犯版权似乎是明摆着的事情.

继续阅读

对 Tom 的 RunStats 包的两点说明

Tom 的 RUNSTATS 是一个很好用的 Benchmark 工具包.创建的时候有两点需要注意:

一. V$TIMER 这个视图的访问要和 SYS.V_$STATNAME, SYS.V_$MYSTAT, SYS.V_$LATCH 一样的进行一下处理,否则会报错

SQL>grant select on sys.v_$timer to MyUser;

二.为了避免 ORA-20000 的错误,可以考虑在创建脚本中加上 dbms_output.enable(480000); 这样以后在调用的时候只需要 set serveroutput on 即可.省事不少.当然也可以通过 set serveroutput on buffer …来控制,我个人不喜欢用 :)

继续阅读

Install Oracle 10g on SuSE 10

在 SuSE 上安装 Oracle 始终是个很简单的事情(参考我以前写的安装指南).有朋友说反复安装不成功.我自己测试了 OpenSuse 上的安装.对OpenSuSE 此前我介绍了一点. 现在的OpenSuSE 还是很缺少文档,而且似乎开发社区的交流也不够活跃.

首先下载 OpenSuSE 10 RC1 .安装比较简单.但是记得要安装开发工具等内容. 安装完后建立 oinstall 组和 dba 组,建立 oracle 用户.并加入到这两个组中.首选组是 dba 组.如果对命令行不熟悉,直接用 YaST2 好了.然后修改 Oracle 的环境变量:

$ vi ~/.bashrc 

添加如下内容:

export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/products/10.2.0/db_1
export ORACLE_SID=test
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib 

上面只是必须的环境变量.可以根据自己的实际目录还设定.接下来需要作的事情是修改核心参数. SuSE 上没有 /etc/sysctl.conf 文件。可以自己编辑一个。内容如下:

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

然后 使用 # sysctl -p 确定一下。在这里要注意的一点是在系统重新启动之后不能自动读取刚才创建的文件。 需要调整一下:

#chkconfig boot.sysctl on

继续阅读