Tag Archives: Oracle

Oracle Database XE 推出正式版

最近的 Oracle 产品消息:Oracle Database XE 推出正式版。正式版本在 32-bit 的 Linux 和 Windows 上可用.

  • Installs using native installers
  • English (single byte character set) and International (Unicode) versions available with support for 10 major languages
  • Supports up to 4GB of user data
  • May be installed on a multiple CPU server, but only executes on one processor in any server
  • May be installed on a server with any amount of memory, but will only use up to 1GB RAM of available memory
  • Fully upgradeable to other Oracle Database 10g editions
  • Oracle Text for efficient text-based searches

这个免费版本可以直接平滑升级到 Oracle 的其他版本,而且部署简单,能让开发人员迅速入手。不得不让人深深感到 Oracle 为了争夺客户煞费苦心.

继续阅读

没有了MySQL,能用Linux做的事情多着呢

最近 Oracle 频繁收购开源厂商, 也有消息说 Oracle 也曾经试图收购 MySQL 未果, 一连串的事情引起了开源界的恐慌,估计也让不少开源爱好者都很闹心,今天居然在 CSDN 头条上看到了没有了MySQL,我们使Linux还能干什么这样的观点:

我宁可看到微软收购 Redhat、Mandrake等,也不愿看到 MySQL 被收购,因为在这之后将可能是 PostgreSQL 的覆灭,到了那时,我们还有什么理由继续使用 Linux 呢?

没错,这居然是 CSDN 的头条新闻. 这不知道这位开源爱好者怎么会作出这个有些可笑的结论.有必要讨论一下了。
 
被收购并不意味着会修改软件许可证方式.假定现在 MySQL 现在已经被某个大厂收购, 那么并不意味着这家收购方会冒天下大不韪,收购方可能会继续采用当前的许可模式,这样对那些期待免费使用的最终用户来说没甚么影响; 开源运动的实际推动者还是那些千千万万的软件爱好者,这一点不是以某个公司的意志能转移的。
修改软件许可方式不一定不是免费的. 我不知道那些 MySQL 的爱好者与使用者是重点关心软件价格的免费还是代码的开放, 据我的观察, 国内的 MySQL 最终用户中,直接因为某项功能而 Hack MySQL 源代码的少之又少,更多的都是直接拿来应用. 如果我的这一判断出入不大,那么 MySQL 被收购后不再开源,用户未必就一下子跑光了。
MySQL 不是唯一的开源数据库. 放眼望去,PostgreSQLIngresFireBird等等优秀的开源数据库产品还有很多; 除了流行程度, 软件功能和 MySQL 相差都不大; 即使收购方扼杀了 MySQL; 广大开源用户还是有的”吃”。
MySQL 本身的血统并不那么高贵. MySQL 本来就是由商业公司在背后运作, 甚至本身的技术也多少依赖于开源软件界。如果说他被更大的商业公司收购的话,只能说他的商业运作成功,修成正果而已。咱何必奢求?
更多厂商的推出免费数据库. Oracle 推出了免费的 Express Edition DB, IBM 紧跟对手推出免费的 DB2 Express-C, SybaseEnterpriseDB 等厂商也都有免费或开源的 DB 产品推出, 即使没有了 MySQL,我们的选择只会更多. “死了张屠户,也不用吃混毛猪”.
如果这些理由还没有解除你的顾虑, 现在我们看看数据库之外的东西。

继续阅读

如何比较两个 Schema 的异同

有的时候, DBA 需要迅速找出来同一个 Oracle 数据库上或者不同数据库的两个 Schema 的差异.这种情况应该比较常见,比如测试数据库发布到产品数据库的时候,需要 DBA 做频繁的检查。
应对的办法之一是通过 Toad 这样的 GUI 工具来查找.具体操作应该是很简单的。Oracle 自带的 OEM 工具也有这样的功能( Oracle 变化管理工具包,不过不是免费的)。对于不喜欢图形工具的 DBA 来说, 用手工的方式更容易接受一些。如果已经建立了 Database Link ,可以通过类似如下的 SQL 简单的发现一些差异:

select * from user_tables@a
minus
select * from user_tables@b;

可以考虑先从 用户的 objects 入手,然后表->字段->索引 等等.
在 AskTom 上有一个关于 Schema 比较的讨论,以及一些参予讨论的人提交的 SQL 脚本。
今天测试了一个 Perl 脚本 Schemadiff, 这个工具分两个部分组成,一个执行 Perl 脚本加上一个配置文件。配置文件比较简单。看看就可以清楚。比较结果能够输出为 ASCII 文本与 HTML 两种格式。文本的结果比较类似 Unix 命令 diff 的输出.相对来说,比较直观的了.需要说明的是,使用这个脚本需要安装 DDL::Oracle 包。间接拒绝了对 Perl 不熟悉的朋友.

继续阅读

图形工具是 DBA 的敌人?

最近 AnySQLITPub 上发了一个帖子: 多少DBA能离开OEM/TOAD/PLSQL Dev来工作? , 引来了很多人的讨论. 整理一下大家的观点,大致分为如下几类:

  • 工具能提高效率, 为啥不用?
  • 坚决不用;
  • 用不用都成; 解决问题就成;
  • 用来学习; 查看一些 SQL 很方便;

真是个仁者见仁,智者见智的问题. 图形化工具对于一个合格的 DBA 来说, 很多时候还是有缺点的,

一个图形化工具慢慢把 DBA 工作大众化了.这样作为一个DBA用图形化工具被人家看到了,显得不那么专业: 都是图形化的工具,普通开发人员随便点击几下子鼠标,不也成了 DBA 了? Oracle 10g 大大加强了 OEM 的功能, 很多人惊呼 Oracle 数据库管理员下岗的日子快到了. 在我看来,这恰恰是一个好消息。图形化工具上手容易,不可避免的很多人会浅尝辄止不去研究系统细节的问题,正是真正的 DBA 提高身价的好时候 :)

二是, 对图形化工具一旦产生依赖性, 应付突发事件的时候会有些局促感, 直观的东西隐藏了太多细节,而作为一个 DBA 更多的时候是要主动发现细节内容体现出来的问题; 这一点在讨论中很多人也提到了,一看没有安装 Toad ,就没法子上手了。

问题可能还有其他的,但是不是说 GUI 工具一无是处了,也不能说有这些问题就坚决不用 GUI 了。有的时候,开发人员依赖于 IDE 的, 就遇到的问题咨询 DBA ,不显得自己 IDE 用的很熟练的样子还真的说不过去; 再比如,抽取 DDL 语句这样的日常操作, GUI 工具的便利性还是有一些的。

还是针对图形化工具可能给我们带来的问题来说吧。”工具善其事,必先利其器”, 这个”器”可不是 GUI 工具哦. 建立一套针对自己的跨平台工具包是必须的,很多 DBA 都有一套适合自己的工具包. 当然,光有工具没有用,适当的提高一下记忆力也有必要,至少,再参加面试的时候可以唬主考官一下。

参见 AnySQL 的Blog上的PR


一句题外话:作为一个 DBA ,你是希望合格的 DBA 多一些还是少一些好呢?