在 Debian、Ubuntu 和 Kubuntu 上安装 Oracle 数据库 XE
作者:Todd Trichler
当您尝试在新的 Linux 发布版本上安装 Oracle 数据库 XE 测试版时,会发生什么情况?情况太多了!
2006 年 2 月发布 — LinuxWorld 墨西哥安装大会
在日常工作中,我大量使用 RHEL、SLES 和 Asianux 形式的基于 .rpm 的 Linux 版本。最近,我注意到 Oracle 数据库 XE 文档中提到对 Debian 的支持。确切地说,我对此也很好奇,因为以前从未在基于 .deb 的版本上安装过 Oracle。
接下来,将演示将 Oracle 数据库 XE 测试版安装到 Kubuntu 5.10 Breezy(一个基于 .deb 程序包格式和 KDE 的 Linux 版本)的技术步骤。学习的课程和建议也适用于 Debian、Ubuntu 和其他 .deb 版本。
如果您对本文的不同 PHP 开发人员和一直提供帮助的人的“背景”感兴趣,请阅读 边栏。
| 更新(2006 年 3 月): 既然 Oracle 数据库 XE 是产品版,它就更易于将 Oracle 安装在基于 Debian 的版本上(感谢 Joel Becker)。
目前,oss.oracle.com 上有一个用于 XE 的 apt-get 信息库。只需将:
deb http://oss.oracle.com/debian unstable main non-free
添加到 /etc/apt/sources.list,然后执行:
# apt-get update
# apt-get install oracle-xe
“libaio” 和 “bc” 就位于信息库中,因此,如果用户不包括它们,依赖项会将它们拖进来。(注意:您需要有 “sudo” 或 “root” 权限才能安装 XE。) |
Catch-all 免责声明:这些步骤在我的配置下工作;它们可能不适用于您的配置。
- 下载一个 Kubuntu Breezy 版本的 iso 并刻录一张安装光盘。
- 执行 Kubuntu 的标准安装。当系统提示您分区时,请选择“Erase entire HD and use LVM”。
- 不要设置任何内核参数,因为 XE 的最新测试版将检查这些参数并在必要时增加它们。(注意:如果您使用的是一个较老的测试版,您需要检查这些参数;最好 下载最新版本。)
- 确认安装了前提条件(glibc 和 libaio 对应物)库。在 Kubuntu 和 Ubuntu 上,它们名为 “libc6” 和 “libaio1” 。(我使用了新的 GUI 程序包管理工具 Adept 安装 libaio1;libc6 已经安装了。)正如 Wim Coekaerts 在其关于该主题的 随身播中描述的那样,目前您需要使用不稳定的 Debian 获取等效程序包,但是将来会通过 Debian sid 包含它们。
- 以 root 身份开始安装最新的 Oracle XE 测试版:
todd@kubuntu:~$ su -
root@kubuntu:~# cd /home/todd/Desktop
root@kubuntu:/home/todd/Desktop# ls
DapperDevStatus02-Feb-2006.pdf oracle-xe_10.2.0.1-0.060128_i386.deb trash.desktop
root@kubuntu:/home/todd/Desktop# dpkg -i oracle-xe_10.2.0.1-0.060128_i386.deb
Selecting previously deselected package oracle-xe.
(Reading database ... 58594 files and directories currently installed.)
Unpacking oracle-xe (from oracle-xe_10.2.0.1-0.060128_i386.deb) ...
This system does not meet the minimum requirements for swap space. Based on
the amount of physical memory available on the system, Oracle Database 10g
Express Edition requires 1006 MB of swap space. This system has 799 MB
of swap space. Configure more swap space on the system and retry the installation.
dpkg: error processing oracle-xe_10.2.0.1-0.060128_i386.deb (--install):
subprocess pre-installation script returned error exit status 1
Errors were encountered while processing:
oracle-xe_10.2.0.1-0.060128_i386.deb
root@kubuntu:/home/todd/Desktop#
注意:Kubuntu 上默认的 799MB 交换空间不足以安装 XE。目前,如果您有 512MB 物理 RAM,XE 将需要 1GB 交换空间(在我的 Tecra9000 上就是这种情况);如果有 256MB 物理 RAM,XE 将需要 1.5GB 交换空间。幸运的是,XE 为我提供了有意义的错误反馈。在不进行重新分区的情况下,如何动态添加交换空间呢?我没有办法。也许有一个管理性 GUI?没这么幸运。
- 我的确从几个朋友那里获得了有关如何解决此问题的几个命令行回复。以下是一个适合我的:
root@kubuntu:~# dd if=/dev/zero of=/swapfile bs=1M count=600
mkswap /swapfile
swapon /swapfile
600+0 records in
600+0 records out
629145600 bytes (629 MB) copied, 35.923 seconds, 17.5 MB/s
root@kubuntu:~# mkswap /swapfile
Setting up swapspace version 1, size = 629141 kB
no label, UUID=6e8db886-9468-41e5-8af1-ccff250c80cb
root@kubuntu:~# swapon /swapfile
注意:不建议使用这些类型的命令来添加交换空间,除非您了解它们的功能,或者您相信推荐该修复的人且他们熟悉您的系统。最好添加足够开始安装的交换空间。消息灵通人士告诉我,到 Kubuntu 6.04 Dapper 产品发布时(2006 年 4 月),这可能不是问题。
- 增加了交换空间之后,就可以顺利安装了。
root@kubuntu:/home/todd/Desktop# dpkg -i oracle-xe_10.2.0.1-0.060128_i386.deb
(Reading database ... 62016 files and directories currently installed.)
Unpacking oracle-xe (from oracle-xe_10.2.0.1-0.060128_i386.deb) ...
Setting up oracle-xe (10.2.0.1-0.060128) ...
Oracle Database 10g Express Edition is not configured. You must run
'/etc/init.d/oracle-xe configure' as the root user to configure the database.
Executing Post-install steps...
You must run '/etc/init.d/oracle-xe configure' as the root user to configure the database.
- 虽然进行了安装,但此时您仍需对其进行配置:
root@kubuntu:/home/todd/Desktop# /etc/init.d/oracle-xe configure
Oracle Database 10g Express Edition Configuration
-------------------------------------------------
这将配置 Oracle Database XE 的引导属性。以下问题将确定数据库是否应该在系统启动时启动、它将使用的端口,以及将用于数据库帐户的口令。按 <Enter> 接受默认设置。按 Ctrl-C 将终止。
Specify the HTTP port that will be used for Oracle Application Express [8080]:
Specify a port that will be used for the database listener [1521]:
Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password: (* make sure you remember this password *)
Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]: y
Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
root@kubuntu:/home/todd/Desktop#
- 此时,您可以激发 Firefox http://127.0.0.1:8080/apex,使用您在安装过程中创建的 “口令” 以 “system” 的身份登录,您应该会看到 XE 主页:
已知问题和变通方法常见问题解答:
问:您好,如果安装了它,我的菜单项在什么地方?
答:使用该测试版,您将在命名便利的 Lost & Found 中找到 XE 丢失的菜单项。但是您在停止运行以使用 KDE 的 菜单编辑器修复该结构之前,可以尝试重新启动。对我而言,重新启动似乎会刷新菜单结构,提供一个更 像样的菜单。
问:重新启动后出现轻微的菜单项异常:刷新后的菜单仍然有一个 额外的 “Getting Started with XE”。为什么?
答:我猜他们真的希望我们开始使用 XE!
问:我的用户 “todd” 为什么使用创建的菜单项 无法启动数据库?
答:用户 “todd” 不是 “dba” 组的成员。您可以导航至 System Settings,使用管理模式 添加用户 “todd” 至 “dba” 组,从而添加该用户。
问:由于某种原因,Konqueror 中的默认行为无法很好地与 XE 菜单项配合。
答:此处最容易的修复是使用 Adept 安装 Firefox。他们最近已经针对 Firefox 做了一些工作,Firefox 在 Kubuntu 上正变得相当稳定。
答:我在 Kubuntu 服务器版本上安装时,为什么会收到一个 “bc” ?
答:bc 错误是由于程序包没有像在桌面版本上那样进行安装。从 oss.oracle.com 进行 #apt-get install oracle-xe 操作以获取“bc”程序包,或者在安装 XE 前手动安装 “bc” 程序包。
问:在 Kubuntu 服务器版本上安装 XE 时,有时 XE 菜单项显示在 Lost&Found 中。为什么?
答:这是因为 XE 认为 KDE 已就绪。如果您安装 Kubuntu 服务器版本,首先进行 #apt-get install kubuntu-desktop firefox 操作,然后才能安装 XE ( #apt-get install oracle-xe)。图形化菜单项将是正确的。
如果您有任何有关在其他发布版本上安装 XE 的有趣链接,请通过“意见”电子邮件发布它们。了解了基于 dpkg 和 .rpm 的系统之间的差异之后,我的好奇心更加强烈,我想比较它们的细微差别。
|
.deb 程序包的诞生
XE 于 2005 年推出之后,我下载了 .rpm 版本并将其成功安装在 RHEL4 和 SLES9 上。看到它还支持基于 Debian 的版本,我决定尝试在一个版本上安装它。我选择 Kubuntu 作为目标操作系统,主要因为它是基于 .deb 的版本,使用的是我熟悉的 KDE 桌面。在我看来,KDE 更便于新手以及具有 Windows 背景的人使用。(如果您偏爱 Gnome 桌面,您可能想在 Ubuntu 上进行尝试。)就 Kubuntu 而言,唯一的主要问题是默认情况下并不安装 Firefox。
11 月份,我使用 “alien” 工具在 .rpm 版本中创建了一个 .deb 程序包,并且能够安装一个具有大量错误和不全的菜单的初级数据库。当我就菜单问题询问 Wim 时,他说 Linux 核心小组的 Joel Becker 正想创建一个 .deb 程序包。
开发人员是“有领域的”;他们想“标记他们的领域”并成为他们所选技术的最佳拥护者。Paul Scott(南非大学的一名 IT 管理员)在国际 PHP 大会期间坐在法兰克福展厅内使用手提电脑思考自己的业务。他的手提电脑上有一个 Debian 和另一个标签(我见到过它随 Ubuntu CD 一起发布)。这表明他不仅熟悉 Debian 的打包系统,还构建了用于 Ubuntu64 Linux 的程序包。在安装大会上,我们还遇到了奥地利人 Clemens Fink,他在之前的一次大会上已经成功地将 Oracle 数据库 10g EE 安装到自己定制的 Debian 内核上。
Paul 和 Clemens 花了大约 4 小时来整理 OracleXE.deb 初始 alpha 版本上的菜单,而我则惊叹于他们能够找出 .rpm 菜单系统(最初依据它构建 XE)和 dpkg 系统之间的区别。他们研究了大约 30 分钟,就有了一个可以运行的版本。然后,他们利用其余时间对它进行 “debian” 化,并确保它得到了正确处理或以 “Debian 方式” 进行了处理 — 我猜,如果是您热爱的工作并使用您所选的技术,对细节的注意就是自然而然的了。谢谢大家!
我回到总部之后,Joel 建立了一个我们可用来与他们协作的工作区,Joel 从 ST 获取最新压缩包。建立了这个六城市、三大洲、多种文化的协作以及稍后的若干次重复之后,测试版的 oracle-xe_10.2.0.1-0.060128_i386.deb 诞生了。 |
将您的意见发送给我们
|