Linux x86 上安装 Oracle 数据库 10

Linux x86 上安装 Oracle 数据库 10

学习在 RHEL 2.1、RHEL 3 或 SLES 8 上从头安装 数据库 10g 的基础知识(仅用于评估)

目录

概述

这是在 Linux 上安装 10g 软件主要组件指南系列的第一部分。这些文章详细介绍了 Linux 的所有三个已认证的英语发行套件(未介绍 ),并假设使用廉价的 Intel x86 硬件。同时,还逐步演示了为评估主要 10g 产品而在常见硬件上进行安装和配置的过程。

该系列的根本目标是逐步演示如何安装和配置 10g 网格的所有组件。通过这个系列,您将了解如何安装和配置单实例 10g 数据库(本文)、双节点 RAC 10g 数据库、 应用服务器 10g 和 10g 网格控制的所有主要组件。

该系列提供的方法将采用最简单的途径(步骤数最少)来完成任务。该方法通常意味着所选择的配置将只适用于评估。因此,该系列既不适用于构建生产品质的环境,也不反映最佳实践。

以下是这些文章所介绍的获得 10g 认证的三个 Linux 发行套件:

如果您是初次接触 Linux 和/或 ,那这第一篇文章特适合您。它首先介绍基础知识,然后逐步演示如何从头安装 数据库 10g。

本文由四部分组成:第 1 部分介绍了如何安装 Linux 操作系统,第 2 部分介绍了如何针对 配置 Linux,第 3 部分介绍了 数据库安装的要点,第 4 部分介绍了如何创建其他文件系统并介绍了自动存储管理 (ASM)( 数据库 10g 中一个出色的新特性,它显著简化了存储管理)。附录提供了帮助您了解新数据库用法的信息,其中包括如何交互地访问该数据库、如何停止和启动数据库及相关服务。

第 1 部分:安装 Linux

本指南采用具有以下硬件配置的服务器:

对磁盘进行配置,使每个 SCSI 主机适配器连接到一个 9GB 磁盘和三个 36GB 磁盘。

请注意,尽管这根本算不上是一个“强大”的设置,但即便是使用再低的设置也可以完成本指南介绍的大部分任务。基本数据库安装只需要一个 CPU、512MB 内存和一个可用空间至少为 6.5GB 的磁盘驱动器(IDE、SCSI 或 )。

现在,我们将逐步演示在服务器上安装 Linux 操作系统的过程。本文假设进行 Linux 系统全新安装(有别于升级),并假设服务器为 所专用,且服务器上没有其他操作系统或数据。

Red Hat Linux 2.1

10g 经认证可以在 Red Hat Linux 2.1( 和 )( 3) 或更高版本上运行。Red Hat (RHN) 提供更新,这些更新可以作为用于创建 CD 的 ISO 文件或作为单个程序包更新下载。

要对全新 Linux 安装应用更新,最简单、最快速的方法是使用更新 CD 执行安装。如果 Linux 已经安装或 CD 上没有更新,则可以通过 RHN 应用这些更新。由于本指南针对的是全新 Linux 安装,因此您将使用更新 CD。

使用更新 CD 集中的第一张 CD 启动服务器。启动屏幕上出现时在底部显示boot:。选择语言配置键盘配置鼠标安装类型设置磁盘分区配置启动加载程序配置启动加载程序口令配置网络配置防火墙其他语言支持选择时区配置帐户选择程序包组未解决的相关性配置图形界面 (X)准备安装安装程序包创建启动磁盘配置监视器恭喜系统自动重新启动,并显示一个图形登录屏幕。如果您是使用基本产品 CD 而非更新 CD 执行的安装,则在继续操作前必须通过 RHN 应用更新。

验证您的安装

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

所需内核版本:2.4.9-e.25(或更高版本)

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

uname -r
例如:
# uname -r
2.4.9-e.27smp
                              

其他所需程序包的版本(或更高版本):要查看系统上安装了这些程序包的哪些版本,运行以下命令:

                                 
rpm -q gcc make binutils openmotif glibc
例如:  
# rpm -q gcc make binutils openmotif glibc
gcc-2.96-118.7.2
make-3.79.1-8
binutils-2.11.90.0.8-12
openmotif-2.1.30-11
glibc-2.2.4-32.8
                              

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

Red Hat Linux 3

10g 经认证可以在不需要更新的情况下运行 Red Hat Linux 3( 和 )的基本版本。如果拥有更新 CD,则可以使用更新版本中的启动 CD 而非基本版本中的启动 CD 在安装过程中自动应用所有更新。 支持 Red Hat 的所有更新。

使用第一张 CD 启动服务器。启动屏幕上出现时在底部显示boot:。选择语言配置键盘欢迎屏幕配置鼠标安装类型设置磁盘分区配置启动加载程序配置网络配置防火墙其他语言支持选择时区设置 Root 口令选择程序包组准备安装安装程序包配置图形界面 (X)配置监视器定制图形配置恭喜系统自动重新启动并显示一个新的欢迎屏幕。许可协议日期和时间用户帐户Red Hat 其他 CD完成设置出现一个图形登录屏幕。恭喜!您的 Linux 软件现已安装完毕。验证您的安装

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

所需内核版本:2.4.21-4.EL(这是 RHEL 3 的基本版本附带的内核版本。此内核或更新中提供的任何版本的内核均适用于 10g。)

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

uname -r
例如:
# uname -r
2.4.21-4.0.1.ELsmp
                              

其他所需程序包的版本(或更高版本):要查看系统上安装了这些程序包的哪些版本,以 root 用户身份运行以下命令:

                                 
rpm -q gcc make binutils openmotif setarch compat-db compat-gcc 
compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
例如: # rpm -q gcc make binutils openmotif setarch compat-db compat-gcc > openmotif compat-gcc-c++ compat-libstdc++ compat-libstdc++-devel gcc-3.2.3-20 make-3.79.1-17 binutils-2.14.90.0.4-26 openmotif-2.2.2-16 setarch-1.3-1 package compat-db is not installed compat-gcc-7.3-2.96.122 compat-gcc-c++-7.3-2.96.122 compat-libstdc++-7.3-2.96.122 compat-libstdc++-devel-7.3-2.96.122

请注意,尚未安装 -db 程序包。安装过程中可用的任何程序包组均不包含此程序包,因此必须在单独的步骤中安装。如果系统上缺少任何其他程序包版本,或版本比以上指定的版本旧(-db 除外),则可以从 Red Hat 下载并安装更新。

安装 -db

插入原始 Red Hat Linux 介质的第二张 CD。( 2 中未包含该程序包,它仅存在于原始介质中。)

此 CD 自动挂载。

以 root 用户身份运行以下命令:

rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-db-4.0.14-5.i386.rpm
例如:
# rpm -ivh /mnt/cdrom/RedHat/RPMS/compat-db-4.0.14-5.i386.rpm
Preparing...         ########################################### [100%]
1:compat-db       ########################################### [100%]
                              

SUSE Linux 8

10g 经认证可以在 SUSE Linux (SLES) 8 上运行。 通过 CD 或通过其支持门户在线提供 Pack 和程序包更新。在本指南中,我们将从 CD 安装 SLES 8 ( Pack 3)。

使用 SLES 8 CD 启动服务器。出现 SUSE Linux 安装屏幕。选择语言安装设置分区软件时区单击。出现一个警告对话框。准备好继续操作时,单击Yes, 。根据安装程序的提示更换 CD。安装此软件后,将显示一个窗口,提示基本系统已经安装成功。系统重新启动。输入 root 用户的口令,并再次输入以进行确认。为自己创建一个帐户。不要在此时创建 帐户;我们将在稍后创建它。桌面设置出现一个有关自动检测本地打印机的警告窗口。配置网络接口,并在准备好继续操作后单击Next。出现一个图形登录屏幕。现在,您需要安装 Pack 3。以您自己的身份登录。插入更新 CD,然后单击Patch CD 。启动 YaST2(SUSE 的系统管理工具)。出现 YaST 窗口。出现一个窗口,显示一个补丁更新列表。出现一个窗口,提示重新启动在线更新。出现一个窗口,提示安装已成功。在 YaST 窗口中,单击。在 YaST 窗口中,单击Close。重复步骤 21 和 22。出现一个窗口,显示一个补丁更新列表。出现一个窗口,提示安装已成功。在 YaST 屏幕上,单击Next。在 YaST 中,单击Close。注销。取出更新 CD。重新启动系统。恭喜!您的 Linux 软件现已安装完毕。验证您的安装

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

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

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

uname -r
例如:
# uname -r
k_smp-2.4.21-138
                              

其他所需程序包的版本(或更高版本):要查看系统上安装了这些程序包的哪些版本,以 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 下载和安装更新。

第 2 部分:针对 配置 Linux

Linux 软件现已安装完毕,您需要针对 对其进行配置。本部分将逐步讲解针对 数据库 10g 配置 Linux 的过程。

验证系统要求

要验证系统是否满足 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 数量的一到两倍。

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) 外还小有富余。

创建 组和用户帐户

接下来,创建用于安装和维护 10g 软件的 Linux 组和用户帐户。用户帐户将称为 ,而组将称为 和 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)

设置 帐户的口令:

passwd oracle
例如:
# passwd oracle
Changing password for user oracle.
New password:
Retype new password:
passwd:all authentication tokens updated successfully.
                              

创建目录

现在,创建存储 10g 软件和数据库文件的目录。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。有关 OFA 标准的更多信息,请参阅针对 UNIX 系统的 数据库 10g 安装指南 的。

以下假设在根文件系统中创建目录。这样做是为了简便起见,不建议将其作为通用做法。这些目录通常被创建为单独的文件系统。

以 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 允许在系统启动和运行时修改大多数内核参数。完成内核参数更改后不必重新启动系统。 数据库 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/.conf 文件,添加或更改这些参数。完成后,运行以下命令激活更改:

/sbin/sysctl -p
                              

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

                                 

oracle 10g asm

/sbin/chkconfig boot.sysctl on

为 用户设置 Shell 限制

建议对每个 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 上安装 10g 时存在一个错误 — 由于所需端口以为 /etc/ 所保留而导致安装失败。OEM 需要端口 1830,而在 SLES8 环境中,此端口已经为 /etc/ 所保留。此错误在 上的错误号为 。

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

用户的环境变量

要使用 产品,应该或必须设置几个环境变量。对于数据库服务器Linux x86 上安装 Oracle 数据库 10,建议设置以下环境变量:

PATH

如果您在同一服务器上安装了多个 产品或数据库,则 、 和 PATH 变量可能会更改。 变量不应更改,并可以在需要时在您的登录配置文件中设置它。 提供了一个称作 的实用程序来设置其他变量。

以 身份登录,并通过在 . 或 .(bash 或 ksh)中添加以下行,将 添加到登录配置文件:

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
                              

或在 .login (csh) 中添加以下行:

setenv ORACLE_BASE /u01/app/oracle
                              

此更改将在您下次登录到 帐户时生效。要使更改对当前会话为活动状态,只需从命令行运行此命令。

第 3 部分:安装

可以从 OTN 下载 数据库 10g。 提供了一个免费的开发和测试许可。但不提供支持,且该许可不允许用于生产目的。OTN 提供了完整的许可协议。

要使 10g 发行套件介质可以在服务器上使用,最简单的方法是将其直接下载到服务器。

使用图形登录以 身份登录。

创建一个目录以存放 10g 发行套件:

mkdir 10g_db
                              

要从 OTN 下载 数据库 10g,请将浏览器( 比较好用)指向这个链接。填写 页面,并阅读 OTN 许可协议。如果您接受限制和许可协议,则单击 I 。

单击 ship.db.cpio.gz 链接,并将该文件保存在为此目的创建的目录 () 中 — 如果尚未登录到 OTN,则此时可能提示您登录。

解压缩此文件:

cd 10g_db
gunzip ship.db.cpio.gz
cpio -idmv < ship.db.cpio

安装软件

使用 帐户登录。

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

设置环境变量:

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

例如:
$ cd $HOME/10g_db
                              

将目录更改为 Disk1。

例如:
$ cd Disk1
                              

启动 通用安装程序。

$ ./runInstaller
                              

欢迎指定清单目录和证书如果这是首次在此机器上安装 ,则您将收到一个弹出窗口,提示需要以 root 用户身份运行 .sh 脚本。以 root 用户身份登录,更改到窗口中指定的目录,执行该脚本,然后继续操作。指定文件位置选择安装类型与特定产品相关的先决条件的检查选择数据库配置指定数据库配置选项选择数据库管理选项指定数据库文件存储选项指定备份和恢复选项指定数据库模式口令摘要安装

安装结束恭喜!您的新 10g 数据库已经启动并可以使用。

第 4 部分:配置存储

我们在第 3 部分中创建的数据库使用单一文件系统 (/u02/) 进行磁盘存储。但为 数据库配置存储的方式有多种。

第 4 部分介绍了为此数据库配置磁盘存储的其他方法。尤其是,它描述了如何创建其他文件系统以及如何使用自动存储管理 (ASM)。如何使用原始设备和 集群文件系统 (OCFS) 将在本系列的另一篇文章中介绍,该篇文章介绍了如何使用 真正应用集群 (RAC) 创建集群数据库。

文件系统

文件系统是为 数据库存储数据文件、重做日志和控制文件最常用的方法。文件系统易于实施,并且无需第三方软件来管理。

大多数情况下,文件系统在 Linux 的初始安装过程中创建。但有时必须在初始安装后(如安装新磁盘驱动器后)创建新文件系统。

本部分介绍了如何构建新文件系统以及如何在 数据库中使用它。除非另有说明,否则必须以 root 用户身份运行所有命令。

对磁盘进行分区

必须使用空磁盘分区来创建文件系统。如果已经有一个空的可用磁盘分区,则跳到下一步。

以下是一个为 Linux 文件系统创建新分区的示例。(警告:对磁盘进行错误分区是删除硬盘上所有内容的最可靠、最快捷的方法之一。如果不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险。)

此示例使用 /dev/sdb(一个没有分区的空 SCSI 磁盘)为整个磁盘 (36 GB) 创建单个分区。

例如:
# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel.Changes will remain in memory only,
until you decide to write them.After that, of course, the previous
content won't be recoverable.
The number of cylinders for this disk is set to 4427.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):p
Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot    Start       End    Blocks   Id  System
Command (m for help):n
Command action
e   extended
p   primary partition (1-4)
p
Partition number (1-4):1
First cylinder (1-4427, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):
Using default value 4427
Command (m for help):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING:If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.
                              

现在验证新分区:

                                 
例如:
# fdisk /dev/sdb
The number of cylinders for this disk is set to 4427.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
(e.g., DOS FDISK, OS/2 FDISK)
Command (m for help):p
Disk /dev/sdb:255 heads, 63 sectors, 4427 cylinders
Units = cylinders of 16065 * 512 bytes
Device Boot    Start       End    Blocks   Id  System
/dev/sdb1             1      4427  35559846   83  Linux
Command (m for help):q
                              

创建文件系统

使用 ext3 创建这个新的文件系统。也可以使用其他文件系统,但 ext3 在系统崩溃时可提供最快的恢复。

例如:
# mke2fs -j /dev/sdb1
mke2fs 1.26 (3-Feb-2002)
Filesystem label=
OS type:Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
4447744 inodes, 8889961 blocks
444498 blocks (5.00%) reserved for the super user
First data block=0
272 block groups
32768 blocks per group, 32768 fragments per group
16352 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632,
        2654208, 4096000, 7962624
Writing inode tables:done
Creating journal (8192 blocks):done
Writing superblocks and filesystem accounting information:done
This filesystem will be automatically checked every 23 mounts or
180 days, whichever comes first.Use tune2fs -c or -i to override.
                              

创建挂载点

文件系统必须有一个挂载点Linux x86 上安装 Oracle 数据库 10,它只是一个空的目录,新文件系统在这里与系统目录树“相连”。挂载点的命名应遵循 灵活结构 (OFA) 标准。有关 OFA 标准的更多信息,请参阅 10g 数据库安装指南 的。

由于您已经在第 1 部分中使用了 /u01 和 /u02 目录名称,因此在本示例中使用 /u03。

例如:
# mkdir /u03
                              

将新文件系统添加到 /etc/fstab

因此新文件系统将在系统启动时自动挂载,您需要向描述新文件系统及其安装位置的 /etc/fstab 文件中添加一行。使用文本编辑器向 /etc/fstab 中添加如下所示的一行。

/dev/sdb1         /u03           ext3    defaults       1 1
                              

挂载新文件系统

文件系统挂载后就可以使用了。只有挂载了文件系统,才能在其中存储文件。使用以下命令挂载文件系统并验证它是否可用。

mount /u03
df -h /u03
例如: # mount /u03 # df -h /u03 Filesystem Size Used Avail Use% Mounted on /dev/sdb1 33G 33M 31G 1% /u03

创建 目录并设置权限

现在,创建一个用于存放 文件的目录。该示例中使用的目录名遵循数据库的 OFA 标准命名惯例,即 =demo1。

mkdir -p /u03/oradata/demo1
chown -R oracle:oinstall /u03/oradata
chmod -R 775 /u03/oradata

在新文件系统中创建一个新表空间

新文件系统已可以使用。接下来,在文件系统中创建一个用于存储数据库对象的新表空间。以 用户身份连接到数据库,然后执行 语句,并在新文件系统中指定数据文件。

例如:
$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 15:01:08 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Enter user-name:system
Enter password:
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> create tablespace data1
2 datafile '/u03/oradata/demo1/data1_01.dbf' size 100M
3 extent management local
4 segment space management auto;
Tablespace created.
                              

现在,可以使用此新表空间存储数据库对象,如表和索引。

例如:
SQL> create table demotab (id number(5) not null primary key,
2 name varchar2(50) not null,
3 amount number(9,2))

oracle 10g asm

4 tablespace data1; Table created.

自动存储管理 (ASM)

我把最重要的内容留在了最后。ASM 是 数据库 10g 中一个非常出色的新特性,它以平台无关的方式提供了文件系统、逻辑卷管理器以及软件 RAID 等服务。ASM 可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡 I/O 以删除“热点”。它还支持直接和异步的 I/O 并使用 中引入的 数据管理器 API(简化的 I/O 系统调用接口)。

ASM 不是一个通用的文件系统,并只能用于 数据文件、重做日志以及控制文件。ASM 中的文件既可以由数据库自动创建和命名(通过使用 管理文件特性),也可以由 DBA 手动创建和命名。由于操作系统无法访问 ASM 中存储的文件oracle 10g asm,因此对使用 ASM 文件的数据库执行备份和恢复操作的唯一途径就是通过恢复管理器 (RMAN)。

ASM 作为单独的 实例实施,只有它在运行时其他数据库才能访问它。在 Linux 上,只有运行 OCSSD 服务(由 通用安装程序默认安装)才能使用 ASM。ASM 需要的内存不多:对大多数系统,只需 64 MB。

安装 ASM

在 Linux 平台上,ASM 可以使用原始设备,或通过 接口管理的设备。出于易于使用和性能方面的原因, 建议在原始设备上使用 。 现在可以从 OTN免费下载。本部分逐步讲解使用 配置一个简单 ASM 实例和构建一个使用 ASM 进行磁盘存储的数据库的全过程。

确定所需的 版本

以三个 Linux 程序包组成的程序包集提供:

每个 Linux 发行套件都有其自己的 程序包集。在每个发行套件中,每个内核版本都有一个相应的 程序包。以下部分介绍如何确定所需的程序包集。

首先,以 root 用户身份登录并运行以下命令来确定所使用的内核:

uname -rm
例如:
# uname -rm
2.4.9-e.27smp i686
                              

该示例表明,这是一个使用 Intel i686 CPU 的 SMP(多处理器)系统的 2.4.9 内核。

使用此信息在 OTN 上查找相应的 程序包:

将 Web 浏览器指向这个链接选择适用于您的 Linux 版本的链接。下载适用于您的 Linux 版本的 和 – 程序包下载与您的内核相对应的 程序包。对于以上示例,下载 -2.4.9-e-smp-1.0.0-1.i686.rpm 程序包。

接下来,通过以 root 用户身份执行以下命令来安装程序包:

rpm -Uvh oracleasm-kernel_version-asmlib_version.cpu_type.rpm 
oracleasmlib-asmlib_version.cpu_type.rpm
oracleasm-support-asmlib_version.cpu_type.rpm
例如: # rpm -Uvh > oracleasm-2.4.9-e-smp-1.0.0-1.i686.rpm > oracleasmlib-1.0.0-1.i386.rpm > oracleasm-support-1.0.0-1.i386.rpm Preparing... #################################### [100%] 1:oracleasm-support #################################### [ 33%] 2:oracleasm-2.4.9-e-smp #################################### [ 66%] Linking module oracleasm.o into the module path [ OK ] 3:oracleasmlib #################################### [100%]

配置

使用 之前,必须运行配置脚本以准备驱动程序。以 root 用户身份运行以下命令,并响应如下示例中所显示的提示。

# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver.The following questions will determine whether the driver is
loaded on boot and what permissions it will have.The current values
will be shown in brackets ('[]').Hitting  without typing an
answer will keep that current value.Ctrl-C will abort.
Default user to own the driver interface []:oracle
Default group to own the driver interface []:dba
Start Oracle ASM library driver on boot (y/n) [n]:y
Fix permissions of Oracle ASM disks on boot (y/n) [y]:y
Writing Oracle ASM library driver configuration            [  OK  ]
Creating /dev/oracleasm mount point                        [  OK  ]
Loading module "oracleasm"                                 [  OK  ]
Mounting ASMlib driver filesystem                          [  OK  ]
Scanning system for ASM disks                              [  OK  ]
                              

现在,如下所示启用 驱动程序。

# /etc/init.d/oracleasm enable
Writing Oracle ASM library driver configuration            [  OK  ]
Scanning system for ASM disks                              [  OK  ]
                              

为 ASM 配置磁盘

接下来,告诉 ASM 驱动程序您要使用的磁盘。请注意,这些磁盘是不包含任何内容(甚至不包含分区)的空磁盘。可以将磁盘分区用于 ASM,但建议您不要这样做。

通过以 root 用户身份运行以下命令来标记由 使用的磁盘:

/etc/init.d/oracleasm createdisk DISK_NAME device_name
                              

(提示: 应由大写字母组成。当前版本有一个错误,即如果使用小写字母,ASM 实例将无法识别磁盘。)

例如:
# /etc/init.d/oracleasm createdisk VOL1 /dev/sdb
Marking disk "/dev/sdb" as an ASM disk                     [  OK  ]
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc
Marking disk "/dev/sdc" as an ASM disk                     [  OK  ]
# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd
Marking disk "/dev/sdd" as an ASM disk                     [  OK  ]
# /etc/init.d/oracleasm createdisk VOL4 /dev/sdf
Marking disk "/dev/sdf" as an ASM disk                     [  OK  ]
# /etc/init.d/oracleasm createdisk VOL5 /dev/sdg
Marking disk "/dev/sdg" as an ASM disk                     [  OK  ]
# /etc/init.d/oracleasm createdisk VOL6 /dev/sdh
Marking disk "/dev/sdh" as an ASM disk                     [  OK  ]
                              

以下示例演示了如何列出标记为由 使用的所有磁盘。

# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3
VOL4
VOL5
VOL6
                              

既然已经安装了 ,且已将磁盘标记为可用,下面,您便可以创建一个 ASM 实例,并构建一个使用 ASM 进行磁盘存储的数据库。最容易的方法就是使用数据库配置助手 (DBCA) 来完成此操作。

以 身份登录并启动 DBCA:

$ dbca

欢迎操作数据库模板数据库标识管理选项数据库证书存储选项创建 ASM 实例弹出一个窗口,提示 DBCA 将立即创建并启动 ASM 实例。创建 ASM 实例时弹出一个带齿轮箱窗口。ASM 磁盘组创建磁盘组

ASM 磁盘组数据库文件位置恢复配置数据库内容初始化参数数据库存储创建选项确认DBCA 显示一个操作列表和一个进度条。根据硬件的不同,数据库创建可能需要几分钟到几小时的时间。当数据库创建完成时oracle 10g asm,将显示一个显示摘要窗口。记下 URL,然后单击Exit。

结论

现在,您的数据库已经启动并运行,您可以开始使用 10g 中提供的许多新特性。最好从 开始使用,这是因为它是彻底地重新编写的,采用了基于 Web 的界面。如果不确定从何处开始, 概念指南 和DBA 两日速成指南 将帮助您熟悉新数据库。OTN 还提供了一些旨在帮助您充分利用 10g 的文章。我最喜欢的是由 Arup Nanda 编写的系列文章“ 数据库 10g:为 DBA 提供的 20 个最重要的特性。”

在下一篇文章中,我们将逐步讲解如何安装和配置一个功能齐全的双节点 RAC 10g 数据库。

附录

使用 SQL*Plus 访问数据库

以 身份登录到 Linux。设置环境。

设置 环境变量:

$ export ORACLE_BASE=/u01/app/oracle
$ export ORACLE_SID=demo1
$ export ORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
$ export PATH=$PATH:$ORACLE_HOME/bin
                              

运行 SQL*Plus:

$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sat Jun 5 16:59:21 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Enter user-name:/ as sysdba
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> 
                              

使用 10g 数据库控制

在 Web 浏览器中oracle 10g asm,连接到安装过程中提供的 URL。

例如:

:5500/em(如果服务器不在 DNS 中,则必须使用 IP 地址代替主机名。)

用户名:SYS

口令:

连接为:

单击

欢迎走入 10g 数据库控制的精彩世界!

启动和停止 数据库控制:

$ emctl start dbconsole
$ emctl stop dbconsole
                              

使用 iSQL*Plus 访问数据库

iSQL*Plus 是历史悠久的 SQL*Plus 交互式工具的基于 Web 的版本,用于访问数据库。要使用 iSQL*Plus,请单击 OEM 控制台 Links 部分中的 iSQL*Plus 链接,或将浏览器指向安装过程中提供的 iSQL*Plus URL。

例如:

:5560/(如果数据库服务器不在 DNS 中,则必须使用 IP 地址代替主机名。)

用户名:

口令:

单击 。

在 框中输入 SQL 命令,然后单击。

启动和停止 iSQL*Plus:

$ isqlplusctl start
$ isqlplusctl stop
                              

启动和停止监听器:

监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用 OEM 或 iSQL*Plus,必须先启动监听器。

$ lsnrctl start
$ lsnrctl stop
                              

启动和停止数据库:

启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 身份登录后使用 SQL*Plus,如下所示:

启动:

$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:27:48 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Enter user-name:/ as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area  188743680 bytes
Fixed Size                   778036 bytes
Variable Size             162275532 bytes
Database Buffers           25165824 bytes
Redo Buffers                 524288 bytes
Database mounted.
Database opened.
SQL> exit
                              

:

$ sqlplus
SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:25:55 2004
Copyright (c) 1982, 2004, Oracle.All rights reserved.
Enter user-name:/ as sysdba
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> exit
                              

列出 进程:

$ ps a€“fuoracle
                              

什么是 ocssd.bin 进程?

集群同步服务 (OCSSD) 是 集群就绪服务 (CRS) 的一个组件,用于 RAC 和使用 ASM 的单个实例数据库。它在默认情况下安装,使用很少的系统资源,并在 /etc/ 中进行配置。这些进程在系统每次启动时自动启动。 建议不要禁用 OCSSD,即使您未运行 ASM。

John () 是 TUSC Inc 的一位技术管理顾问。作为 DBA、开发人员和项目经理,他具有 18 年的 系统使用经验。他专门从事高级性能调整、 真正应用集群、PL/SQL 编程、容量规划以及与 UNIX 有关的逻辑和物理数据库设计。

公告:
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299

资源库 - 资源分享下载网 » Linux x86 上安装 Oracle 数据库 10

常见问题FAQ

关于资源售价和售后服务的说明?
本站所有资源的标价均为本站收集资源的辛苦费,不代表资源本身的价值。软件是高智慧高价值的商品,不可能是白菜价。本站资源标价只是赞助费用,收取的赞助费仅用来维持本站的日常运营!毕竟收集整理资料需要投入云计算资源和站长大量的精力。
代码有没有售后服务和技术支持?
由于代码的运行具有不可预见性,本站不保证代码完整可运行,不提供技术支持和售后服务。 本站原创代码都是站长自己开发的,可以有偿提供技术支持服务。 网站里标明【亲测】的代码都是站长亲测过的,其他的代码由于精力有限,没有一一测试,不能保证代码就一定能够使用,更没有技术支持服务,下载前请自行斟酌。
有没有搭建服务?
由于搭建服务比较费时费力,所以本站除了原创代码外均不提供搭建服务。本站分享代码纯属兴趣爱好,不以盈利为目的,请勿咨询有没有搭建服务,谢谢理解。
链接地址失效了怎么办?
请带上资源链接地址联系客服,工作时间内我们看到后将第一时间回复。
关于解压密码
本站资源一般都没有加密,如果发现需要解压密码的,那么就输入 hao.35dc.com 试试。

发表评论

资源库,由老程序员细心甄别、精心筛选,只为提供优质的源码资源

关于我们 联系我们