第 1 部分:安装 Linux
本指南安装至少具有以下硬件配置的服务器:
两个 800MHz Pentium III CPU
512MB RAM
两个 SCSI 主机适配器 (Ultra SCSI 160)
八个 SCSI 磁盘驱动器 (2 x 9GB + 6 x 36GB)
一个 100Base-T 以太网适配器
一个 1000Base-T 以太网适配器
对磁盘进行配置,使每个 SCSI 主机适配器连接到一个 9GB 磁盘和三个 36GB 磁盘。
请注意,尽管这根本算不上是一个“强大”的设置,但即便是使用再低的设置也可以完成本指南介绍的大部分任务。基本数据库安装只需要一个 CPU、512MB 内存和一个可用空间至少为 6.5GB 的磁盘驱动器(IDE、SCSI 或 FireWire)。
现在,我们将逐步演示在服务器上安装 Linux 操作系统的过程。本文假设进行 Linux 系统全新安装(有别于升级),并假设服务器为 Oracle 所专用,且服务器上没有其他操作系统或数据。
Red Hat
Enterprise Linux 4
Oracle 10g 经认证可以在不需要更新的情况下运行 Red Hat Enterprise Linux 4(Advanced Server 和 Enterprise Server)的基本版本。如果拥有更新 CD,则可以使用更新版本中的启动 CD 而非基本版本中的启动 CD 在安装过程中自动应用所有更新。Oracle 支持 Red Hat 的所有更新。
1. 使用第一张 CD 启动服务器。
o 您可能需要更改 BIOS 设置,以允许从 CD 启动。
2. 启动屏幕上出现时在底部显示 boot:。
o 选择 Enter,从控制台上执行图形安装。(对于其他安装方法和选项,请参阅 Red Hat 安装指南。)
o 安装程序扫描硬件,短暂显示 Red Hat 闪屏,然后开始显示一系列屏幕提示。
3. 选择语言
o 接受默认值。
4. 配置键盘
o 接受默认值。
5. 欢迎屏幕
o 单击 Next。
6. 配置鼠标
o 接受默认值。
7. 安装类型
o 选择 Custom。
8. 设置磁盘分区
o 本文不介绍磁盘分区的详细方法,而是假设您熟悉磁盘分区方法。
(警告:对磁盘进行错误分区是删除硬盘上所有内容的最可靠、最快捷的方法之一。如果不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险!)
本文使用以下分区方案(文件系统均为 ext3):
第一个控制器 (/dev/sda) 上的 9GB 磁盘包含以下分区,用于存放所有 Linux 和 Oracle 软件:
- 100MB /boot 分区
-1,500MB 交换分区 — 将此分区大小至少设置为系统 RAM 的两倍,但不要超过 2GB(32 位系统不支持大于 2GB 的交换文件)。如果需要大于 2GB 的交换空间,则创建多个交换分区。
-7,150MB 根分区 — 该分区将用于所有目录,包括 /usr、/tmp、/var、/opt、/home 等。这样做纯粹是为了讲解本指南而简化安装。更可靠的分区方案是将这些目录划分到单独的文件系统。
9. 配置启动加载程序
o 接受默认值。
10. 配置网络
o 通常情况下,最好使用静态 IP 地址配置数据库服务器。为此,单击 Edit。
o 出现一个弹出窗口。取消选中 Configure using DHCP 复选框,并输入服务器的 IP 地址和网络掩码。确保选中 Activate on boot,然后单击 OK。
o 在 Hostname 框中,选择 manually 并输入主机名。
o 在 Miscellaneous Settings 框中,输入其他网络设置。
11. 配置防火墙
o 出于本演示的需要,将不配置防火墙。选择 No firewall。
12. 其他语言支持
o 接受默认值。
13. 选择时区
o 选择适合您区域的时间设置。将系统时钟设置为 UTC 对服务器而言通常是一个很好的做法。为此,单击 System clock uses UTC。
14. 设置 Root 口令
o 输入 root 的口令,并再次输入以进行确认。
15. 选择程序包组
o 只选择此处显示的程序包集,其他选项不要选。
o 桌面
- X Window 系统
- Gnome
- KDE
- 请参阅我在 RHES 2.1 部分中提供的有关 GUI 选择的意见。
o 应用程序
- 编辑器
- 图形因特网
o 服务器
- 不要选择该组中的任何选项。
o 开发
- 开发工具
o 系统
- 管理工具
o Red Hat Enterprise Linux
- 不要选择该组中的任何选项。
o 杂项
- 原有软件开发
o 单击 Next 继续操作。
16. 准备安装
o 单击 Next。
17. 安装程序包
o 软件将被复制到硬盘并被安装。根据提示更改磁盘,然后在安装完成时单击 Next。
18. 配置图形界面 (X)
o 接受默认值,除非安装程序无法识别您的视频卡。如果您的视频卡无法被识别,则将无法继续操作。
19. 配置监视器
o 如果安装程序正确识别了您的监视器,则接受默认值。否则,从列表中选择一个兼容的监视器。
20. 定制图形配置
o 接受默认值。
21. 恭喜
o 从系统中取出安装介质,然后单击 Next。
22. 系统自动重新启动并显示一个新的欢迎屏幕。
o 单击 Next。
23. 许可协议
o 阅读许可协议。如果同意其中的条款,则选择 Yes, I agree to the License Agreement 并单击 Next。
24. 日期和时间
o 设置日期和时间。
o 如果要使用 NTP 服务器(推荐),则选择 Enable Network Time Protocol 并输入 NTP 服务器的名称。
25. 用户帐户
o 为自己创建一个帐户。
o 此时不要为 oracle 创建帐户。本部分稍后将介绍如何创建 oracle 帐户。
26. Red Hat Network
o 如果要立即使用或激活 Red Hat Network 帐户,则接受默认值,单击 Next 并遵循 Red Hat 产品附带的产品激活说明。
27. 其他 CD
o 单击 Next。
28. 完成设置
o 单击 Next。
29. 出现一个图形登录屏幕。
30. 恭喜!您的 Linux 软件现已安装完毕。
验证您的安装
如果完成了以上步骤,您应该具备 Oracle 10g 所需的所有程序包和更新。您可以执行以下步骤验证您的安装。
所需内核版本:2.6.9-5.EL(这是 RHEL 4 的基本版本附带的内核版本。此内核或更新中提供的任何版本的内核均适用于 Oracle 10g。)
通过运行以下命令检查内核版本:
uname -r
例如:
# uname -r
2.6.9-5.ELsmp
其他所需程序包的版本(或更高版本):
安装 libaio-0.3.102-1.i386.rpm 和libaio-devel0.3.102-1.i386.rpm
插入原始 Red Hat Enterprise Linux 介质的第三张 CD。(它仅存在于原始介质中。)
此 CD 自动挂载。
以 root 用户身份运行以下命令:
rpm -ivh /mnt/cdrom/RedHat/RPMS/ libaio-0.3.102-1.i386.rpm
rpm -ivh /mnt/cdrom/RedHat/RPMS/libaio-devel0.3.102-1.i386.rpm
例如:
# rpm -ivh /mnt/cdrom/RedHat/RPMS/ libaio-0.3.102-1.i386.rpm
Preparing... ########################################### [100%]
1:compat-db ########################################### [100%]
# rpm -ivh /mnt/cdrom/RedHat/RPMS/ libaio-devel0.3.102-1.i386.rpm
Preparing... ########################################### [100%]
1:compat-db ########################################### [100%]
第 2 部分:针对 Oracle 配置 Linux
Linux 软件现已安装完毕,您需要针对 Oracle 对其进行配置。本部分将逐步讲解针对 Oracle 数据库 10g 配置 Linux 的过程。
验证系统要求
要验证系统是否满足 Oracle 10g 数据库的最低要求,以 root 用户身份登录并运行以下命令。
要查看可用 RAM 和交换空间大小,运行以下命令:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
例如:
# grep MemTotal /proc/meminfo
MemTotal:512236 kB
# grep SwapTotal /proc/meminfo
SwapTotal:1574360 kB
所需最小 RAM 为 512MB,而所需最小交换空间为 1GB。对于 RAM 小于或等于 2GB 的系统,交换空间应为 RAM 数量的两倍;对于 RAM 大于 2GB 的系统,交换空间应为 RAM 数量的一到两倍。
Oracle 10g 软件还需要 2.5GB 的可用磁盘空间,而数据库则另需 1.2GB 的可用磁盘空间。/tmp 目录至少需要 400MB 的可用空间。要检查系统上的可用磁盘空间,运行以下命令:
df -h
例如:
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 6.8G 1.3G 5.2G 20% /
/dev/sda1 99M 17M 77M 18% /boot
该示例表明,/tmp 目录没有自己的文件系统。(对本指南而言,它是根文件系统的一部分。)根文件系统可用空间为 5.2 GB,除了满足安装 (2.5 + 1.2 + 0.4 = 4.1GB) 外还小有富余。
创建 Oracle 组和用户帐户
接下来,创建用于安装和维护 Oracle 10g 软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall 和 dba。以 root 用户身份执行以下命令:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
例如:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=501(oinstall) groups=501(oinstall),502(dba)
设置 oracle 帐户的口令:
passwd oracle
例如:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
创建目录
现在,创建存储 Oracle 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。有关 OFA 标准的更多信息,请参阅针对 UNIX 系统的 Oracle 数据库 10g 安装指南 的附录 D。
以下假设在根文件系统中创建目录。这样做是为了简便起见,不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。
以 root 用户身份执行以下命令:
mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata
例如:
# mkdir -p /u01/app/oracle
# mkdir -p /u02/oradata
# chown -R oracle:oinstall /u01/app/oracle /u02/oradata
# chmod -R 775 /u01/app/oracle /u02/oradata
配置 Linux 内核参数
Linux 内核非常出色。与大多数其他 *NIX 系统不同,Linux 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。Oracle 数据库 10g 需要以下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
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
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
如果您按照以上说明安装了 Linux,且内核参数全部采用默认值,则只需在以 root 用户身份登录后执行下命令。
cat >> /etc/sysctl.conf <<EOF
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
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
EOF
/sbin/sysctl -p
例如:
# cat >> /etc/sysctl.conf <<EOF
> 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
> net.core.rmem_default=262144
>net.core.rmem_max=262144
>net.core.wmem_default=262144
>net.core.wmem_max=262144
> EOF
# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 0
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
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144
以 root 用户身份运行以下命令来验证您的设置:
/sbin/sysctl -a | grep shm
/sbin/sysctl -a | grep sem
/sbin/sysctl -a | grep file-max
/sbin/sysctl -a | grep ip_local_port_range
…
如果系统的参数设置的比上述参数值小,则编辑 /etc/sysctl.conf 文件,添加或更改这些参数。完成后,运行以下命令激活更改:
/sbin/sysctl -p
为 oracle 用户设置 Shell 限制
Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF
对于 RHEL 4,使用以下命令:
cat >> /etc/profile <<EOF
if [ \$USER = "oracle" ]; then
if [ \$SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
EOF
cat >> /etc/csh.login <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF
oracle 用户的环境变量
要使用 Oracle 产品,应该或必须设置几个环境变量。对于数据库服务器,建议设置以下环境变量:
ORACLE_BASE
ORACLE_HOME
ORACLE_SID
PATH
如果您在同一服务器上安装了多个 Oracle 产品或数据库,则 ORACLE_HOME、ORACLE_SID 和 PATH 变量可能会更改。ORACLE_BASE 变量不应更改,并可以在需要时在您的登录配置文件中设置它。Oracle 提供了一个称作 oraenv 的实用程序来设置其他变量。
以 oracle 身份登录,并通过在 .bash_profile 或 .profile(bash 或 ksh)中添加以下行,将 ORACLE_BASE 添加到登录配置文件:
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
或在 .login (csh) 中添加以下行:
setenv ORACLE_BASE /u01/app/oracle
此更改将在您下次登录到 oracle 帐户时生效。要使更改对当前会话为活动状态,只需从命令行运行此命令。
实例: 修改.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/db10g
export ORACLE_SID= demo1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export PATH
unset USERNAME
命令生效 $source .bash_profile
检查 env
第 3 部分:安装 Oracle
可以从 OTN 下载 Oracle 数据库 10g。Oracle 提供了一个免费的开发和测试许可。但不提供支持,且该许可不允许用于生产目的。OTN 提供了完整的许可协议。
要使 Oracle 10g 发行套件介质可以在服务器上使用,最简单的方法是将其直接下载到服务器。
使用图形登录以 oracle 身份登录。
创建一个目录以存放 Oracle 10g 发行套件:
mkdir 10g_db
要从 OTN 下载 Oracle 数据库 10g,请将浏览器(Mozilla 比较好用)指向 http://www.oracle.com/technology/software/products/database/oracle10g/htdocs/linuxsoft.html。填写 Eligibility Export Restrictions 页面,并阅读 OTN 许可协议。如果您接受限制和许可协议,则单击 I Accept。
单击 ship.db.cpio.gz 链接,并将该文件保存在为此目的创建的目录 (10g_db) 中 — 如果尚未登录到 OTN,则此时可能提示您登录。
解压缩此文件:
cd 10g_db
unzip 10.2.0_linux_database.zip
安装软件
使用 oracle 帐户登录。
指定数据库名称 (ORACLE_SID)。该名称通常不多于五个字符。对此安装使用 demo1。
将目录更改为 Oracle 10g 软件解压缩到的位置。
例如:
$ cd $HOME/10g_db
将目录更改为 Database。
例如:
$ cd Database
启动 Oracle 通用安装程序。
$ ./runInstaller
1. 欢迎
o 单击 Next。
2. 指定清单目录和证书
o 如果您一直在依循本指南中的步骤,则使用默认值即可。否则,编辑清单目录的路径,以指向正确目录。
o 操作系统组名称应为 oinstall。
3. 如果这是首次在此机器上安装 Oracle,则您将收到一个弹出窗口,提示需要以 root 用户身份运行 orainstRoot.sh 脚本。以 root 用户身份登录,更改到窗口中指定的目录,执行该脚本,然后继续操作。
4. 指定文件位置
o 如果您一直在依循本指南中的步骤,则使用默认值即可。否则,在继续操作前确保源路径和目标路径正确。
5. 选择安装类型
o 接受默认值 Enterprise Edition。
6. 与特定产品相关的先决条件的检查
o 如果您一直在依循本指南中的步骤,则所有检查都应顺利通过。如果一个或多个检查失败,则在继续操作前纠正该问题。
7. 选择数据库配置
o 接受默认值 Create a starter database 和 General Purpose。
8. 指定数据库配置选项
o 输入数据库的全局数据库名称。该名称应包含 ORACLE_SID 和服务器域名(例如,demo1.orademo.org,其中 demo1 是 ORACLE_SID,orademo.org 是域名)。
o 输入全局数据库名称时,SID 框将自动填充。
o 接受默认的数据库字符集。
o 选择 Create database with sample schemas。
9. 选择数据库管理选项
o 选择 Use Database Control for Database Management。
10. 指定数据库文件存储选项
o 选择 File System,然后输入数据库文件要使用的路径名(在本例中为 /u02/oradata)。
11. 指定备份和恢复选项
o 选择 Do not enable Automated backups。
12. 指定数据库模式口令
o 选择 Use the same password for all the accounts。
o 选择一个口令,然后输入两次进行确认。
13. 摘要
o 显示已安装产品的摘要。
o 单击 Install。
14. 安装
o 此屏幕历经安装和链接 Oracle 软件的几个阶段。
o 安装过程结束时弹出一个窗口显示配置信息。记下 Enterprise Manager URL,然后单击 OK 关闭该窗口。
o 弹出一个“Setup Privileges”窗口,提示需要以 root 用户身份运行配置脚本。以 root 用户身份登录,切换到该窗口中指示的目录,然后执行 root.sh 脚本。该脚本提示输入本地 bin 目录的位置。按 Enter 键接受默认值。当脚本完成时,返回到 Setup Privileges 窗口并单击 OK。(如下所示。)
15. 安装结束
o 记下摘要中显示的 URL,并在准备好时单击 Exit。
16. 恭喜!您的新 Oracle 10g 数据库已经启动并可以使用。