作者:Todd Trichler
当你尝试在新的 Linux 发行版上安装 Oracle 数据库 XE Beta 时会发生什么情况?你会学到很多!
更新于 2007 年 8 月 - LinuxWorld Mexico Installfest
在我的日常工作中,我经常使用基于 .rpm 的 Linux 产品,如 RHEL、SLES 和 Asianux。最近我注意到,Oracle 数据库 XE 文档提到了对 Debian 的支持。我在这方面的经验可以说是推断性的,因为我此前从未在基于 .deb 的产品上安装过 Oracle。
演讲者介绍了在 Kubuntu 5.10 Breezy 上安装 Oracle 数据库 XE Beta 版的技术操作。Kubuntu 5.10 Breezy 是一个基于 .deb 包格式和 KDE 的 Linux 发行版。这些经验教训和建议也适用于 Debian,Ubuntu 和其他 .deb 发行版。
如果您有兴趣了解 PHP 开发人员和其他帮助我们的人在这段旅程中有哪些“幕后故事”,请阅读侧栏。
更新(2006 年 3 月):随着 Oracle 数据库 XE 投入生产,在基于 Debian 的发行版上安装 Oracle 更容易了(感谢 Joel Becker)。
现在,oss.oracle.com 上有一个适用于 XE 的 apt-get 存储库。只需将:
Deb http://oss.oracle.com/debian unstable main non-free
添加到 /etc/apt/sources.list,然后:
# wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add - # apt-get update # apt-get install oracle-xe 'libaio' 和 'bc' 位于系统信息库中,如果用户缺乏相关项,依赖项将自动提取。(注:您需要 'sudo' 或具有 'root' 权限才能安装 XE。)
下载 Kubuntu Breezy 版本的 iso 并刻录安装光盘。
执行 Kubuntu 的标准安装。出现分区提示时,请选择“Erase entire HD and use LVM”。
不要设置任何内核参数,因为最新的 XE 测试版会检查参数并在必要时增加参数。(注意:如果您使用的是较旧的测试版,则需要进行检查;但更好的选择是下载最新版本。)
确认已安装了先决条件(glibc 和 libaio 等效)库。在库邦图和 Ubuntu 上,它们被称为“libc6”和“libaio1”。(我使用新的 GUI 软件包管理工具 Adept 来安装 libaio1;libc6 已经安装了。)正如 Wim Coekaerts 在播客中所述,目前您需要使用 Debian Unstable 获得等效的软件包,但这将包括在未来的 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 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 数据库 XE 的引导时属性。以下问题将确定数据库是否应在系统引导时启动、使用哪些端口以及使用哪些数据库帐户的口令。点击以接受默认值。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,并看到 XE 主页:
问:如果已完成安装,我的菜单项在哪里?
答:在此测试版中,您可以在 Lost & Found 中找到 XE 丢失的菜单项。但是在使用 KDE 的菜单编辑器修复结构之前,您可以尝试重新引导。对于我来说,重新引导会刷新菜单结构,提供更直观的菜单。
问:重新引导后出现轻微菜单项目异常:刷新后的菜单仍有一个 额外的 "Getting Started with XE"。为什么?
答:我想,他们可能真的希望我们开始使用 XE 吧!
问:为什么我的用户无法使用创建的菜单项启动数据库?
问:为什么我的用户无法使用创建的菜单项启动数据库?
答:用户 'todd' 不是 'dba' 组的成员。您可以通过使用管理模式导航到 System Settings,将用户 'todd'添加到 'dba' 组来添加用户。
问:出于某种原因,Konqueror 中的默认行为不会与 XE 菜单项完美结合。
答:最简单的修复方法是使用 Adept 安装 Firefox。他们最近在 Firefox 上工作过,并且在库本图取得了相当稳定的进展。
问:为什么我在 Kubuntu 服务器版本上安装时会遇到到“bc”错误?
答:出现 bc 错误是因为该软件包未安装,因为它在桌面版本上。您可以从 os.oracle.com 执行 #apt-get install oracle-xe 以拉入'bc'包,或者在安装 XE 之前手动安装。
问:在 Kubuntu 服务器版本上安装 XE 时,有时候 XE 菜单项会显示在 "Lost&Found" 中。为什么?
答:这是因为 XE 默认 KDE 已经到位。如果安装 Kubuntu 服务器版本,请先安装 #apt-get install kubuntu-desktop firefox,然后才安装 XE(#apt-get install oracle-xe)。图形菜单项就能够正确显示。
如果您有关于在其他发行版上安装 XE 的任何有趣链接,请通过“comments”电子邮件发布这些链接。了解了 dpkg 和 .rpm 系统之间的差异之后,我满足了好奇心,还想比较一下其中的细微差别。
当 XE 于 2005 年推出时,我下载了 .rpm 版本并在 RHEL4 和 SLES9 上成功安装。XE 也支持基于 Debian 的发行版,因此我决定尝试安装。我选择 Kubuntu 作为目标操作系统,主要是因为它是一个基于 .deb 的发行版,可以使用我熟悉的 KDE 桌面。我认为,对于新手和熟悉 Windows 的人来说,KDE 更容易上手。(如果您更喜欢 Gnome 桌面,可能更想要尝试安装在 Ubuntu 上。)我使用 Kubuntu 唯一遇到的大问题是,它没有默认安装 Firefox。
11 月,我使用“外星人”工具从 .rpm 版本创建 .deb 包,并能够安装具有大量错误和手动菜单的免费数据库。当我问 Wim 关于菜单的问题时,他说我们 Linux 内核团队的 Joel Becker 正在研究创建一个 .deb 包。
开发人员是具有“地域性”的;他们喜欢“标记他们的地盘”,成为所选技术的拥护者。Paul Scott 是南非一所大学的 IT 管理员,在国际 PHP 大会期间,他坐在法兰克福的一个大厅里,拿着他的笔记本电脑做自己的事。他的笔记本电脑上有 Debian 和另一张贴纸,那是与 Ubuntu 光盘一起发放的贴纸。事实证明,他不仅熟悉 Debian 的包装系统,而且还为 Ubuntu64 Linux 构建了软件包。在 Installfest 上,我们还遇到了来自奥地利的 Clemens Fink,他在之前的一次会议上成功地将 Oracle 数据库 10g EE 安装在他自己定制的 Debian 内核上。
Paul 和 Clemens 花了大约 4 个小时清理最初的 OracleXE.deb 字母版本上的菜单,而我对他们导航 XE 最初建立的 .rpm 菜单系统与 dpkg 系统之间的差异的能力感到满意。大约 30 分钟后,他们有一个工作版本。然后,他们把剩下的时间花在“debianizing”上,确保它是正确的或以“Debian 的方式”完成的。我想,当这成为了一种为爱发电,您在使用所选技术时,就会自然而然地去关注细节。谢谢大家!
当我回到总部时,Joel 设置了一个我们可以用来与他们合作的工作区,Joel 从 ST 获得最新的焦油球。在这个涉及六个城市、三大洲的跨文化合作下,经过多次迭代后,oracle-xe_10.2.0.1-0.060128_i386.deb 的测试版本诞生了。
注:为免疑义,本网页所用以下术语专指以下含义: