随笔 - 1, 文章 - 44, 评论 - 2, 引用 - 0
数据加载中……

在Linux x86上安装Oracle数据库 10g (2)

选择 Shutdown。

选择 Restart computer。

输入 root 口令。

单击 OK。

恭喜!您的 Linux 软件现已安装完毕。

验证您的安装

如果完成了以上步骤,您应该具备 Oracle 10g 所需的所有程序包和更新。您可以执行以下步骤验证您的安装。







所需内核版本:2.4.21-138(或更高版本)

 

通过运行以下命令检查内核版本:

 

														
														uname -r

 

 

 

例如:

 

														
														# uname -r
k_smp-2.4.21-138

 

 

其他所需程序包的版本(或更高版本):

 

														
														gcc-3.2.2-38 
make-3.79
binutils-2.12
openmotif-2.2.2-124

要查看系统上安装了这些程序包的哪些版本,以 root 用户身份运行以下命令:

 

														
														rpm -q gcc make binutils openmotif

 

例如:

 

														
														# rpm rpm -q gcc make binutils openmotif
gcc-3.2.2-38
make-3.79.1-407
binutils-2.12.90.0.15-50
openmotif-2.2.2-124

 

 

如果系统上缺少任何程序包版本,或版本比以上指定的版本旧,则可以从 SUSE Linux Portal 下载和安装更新。

--------------------------------------------------------------------------------

 

第 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

 

 

如果您按照以上说明安装了 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
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
> 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

 

 

以 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

 

 

 

例如:

 

														
														# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shm-use-bigpages = 0
# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
# /sbin/sysctl -a | grep file-max
fs.file-max = 65536
# /sbin/sysctl -a | grep ip_local_port_range
net.ipv4.ip_local_port_range = 1024 65000

 

 

如果系统的参数设置的比上述参数值小,则编辑 /etc/sysctl.conf 文件,添加或更改这些参数。完成后,运行以下命令激活更改:

 

														
														/sbin/sysctl -p

 

 

 

对于 SLES 8,在完成以上步骤后运行以下命令。

 

														
														/sbin/chkconfig boot.sysctl on

为 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 2.1 和 RHEL 3,使用以下命令:

 

														
														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

 

 

 

对于 SLES 8,使用以下命令:

 

														
														cat >> /etc/profile.local <<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.local <<EOF
if ( \$USER == "oracle" ) then
limit maxproc 16384
limit descriptors 65536
umask 022
endif
EOF

避免错误!(仅限 SLES 8)

 

在 SLES 8 上安装 Oracle Enterprise Manager 10g 时存在一个错误 — 由于所需端口以为 /etc/services 所保留而导致安装失败。OEM DBConsole 需要端口 1830,而在 SLES8 环境中,此端口已经为 /etc/services 所保留。此错误在 MetaLink 上的错误号为 3513603。

 

要避免安装过程中出现问题,以 root 用户身份登录,并在安装 Oracle 10g 软件之前将 /etc/services 文件中的端口 1830 至 1849 对应的行注释掉。(注意:此时,您最好重新启动服务器以确保以上更改生效。)

 

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 帐户时生效。要使更改对当前会话为活动状态,只需从命令行运行此命令。

--------------------------------------------------------------------------------

 

第 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
gunzip ship.db.cpio.gz
cpio -idmv < ship.db.cpio

 

 

安装软件

 

使用 oracle 帐户登录。

 

指定数据库名称 (ORACLE_SID)。该名称通常不多于五个字符。对此安装使用 demo1。

 

设置环境变量:

 

														
														Borne shell 和 Korn shell

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_SID=demo1; export ORACLE_SID

C shell

setenv ORACLE_BASE /u01/app/oracle
setenv ORACLE_SID demo1

 

 

将目录更改为 Oracle 10g 软件解压缩到的位置。

 

例如:

 

														
														$ cd $HOME/10g_db

 

 

将目录更改为 Disk1。

 

例如:

 

														
														$ cd Disk1

 

 

启动 Oracle 通用安装程序。

 

 

														
														$ ./runInstaller

欢迎

单击 Next。

指定清单目录和证书

如果您一直在依循本指南中的步骤,则使用默认值即可。否则,编辑清单目录的路径,以指向正确目录。

操作系统组名称应为 oinstall。

如果这是首次在此机器上安装 Oracle,则您将收到一个弹出窗口,提示需要以 root 用户身份运行 orainstRoot.sh 脚本。以 root 用户身份登录,更改到窗口中指定的目录,执行该脚本,然后继续操作。

指定文件位置

如果您一直在依循本指南中的步骤,则使用默认值即可。否则,在继续操作前确保源路径和目标路径正确。

选择安装类型

接受默认值 Enterprise Edition。

与特定产品相关的先决条件的检查

如果您一直在依循本指南中的步骤,则所有检查都应顺利通过。如果一个或多个检查失败,则在继续操作前纠正该问题。

选择数据库配置

接受默认值 Create a starter database 和 General Purpose。

指定数据库配置选项

输入数据库的全局数据库名称。该名称应包含 ORACLE_SID 和服务器域名(例如,demo1.orademo.org,其中 demo1 是 ORACLE_SID,orademo.org 是域名)。

输入全局数据库名称时,SID 框将自动填充。

接受默认的数据库字符集。

选择 Create database with sample schemas。

选择数据库管理选项

选择 Use Database Control for Database Management。

指定数据库文件存储选项

选择 File System,然后输入数据库文件要使用的路径名(在本例中为 /u02/oradata)。

posted on 2006-12-06 15:18 ASONG 阅读(200) 评论(0)  编辑  收藏 所属分类: database


只有注册用户登录后才能发表评论。


网站导航: