Chinaunix首页 | 论坛 | 博客
  • 博客访问: 931842
  • 博文数量: 189
  • 博客积分: 10041
  • 博客等级: 上将
  • 技术积分: 2321
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-01 10:11
个人简介

Linux ... ...

文章分类

全部博文(189)

文章存档

2014年(3)

2013年(1)

2010年(5)

2009年(34)

2008年(41)

2007年(105)

我的朋友

分类: Oracle

2008-11-27 09:00:46

作者:John Smiley

学习在 Oracle Enterprise Linux 5 上从头安装 Oracle 数据库 11g 第 1 版的基础知识(仅用于评估)。

目录



    
    
    
    

    

    
    


2008 年 1 月发表

本指南相关下载:



概述

该指南以评估为目的,介绍了在商用硬件上安装 Oracle 数据库 11g 1 版的整个过程。 如果您是初次接触 Linux 和/或 Oracle,则本指南特别适合您。它首先介绍了一些基本知识,然后引导您从头进行 Oracle 数据库 11g 第 1 版的整个安装过程。其中包含 32 位和 64 位体系结构的安装。除非另外说明,二者的安装步骤完全相同。

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

本指南由四部分组成:第 1 部分介绍了如何安装 Linux 操作系统,第 2 部分介绍了如何针对 Oracle 配置 Linux,第 3 部分讨论了 Oracle 数据库的安装要点,第 4 部分介绍了如何创建其他文件系统并介绍了 (ASM)。附录提供的信息可帮助您了解新数据库的用法,包括如何交互地访问数据库、如何停止并重启数据库及相关服务。


第 1 部分:安装 Oracle Enterprise Linux 5

本部分介绍了如何在您的硬件上安装 Oracle Enterprise Linux 5 (OEL5)。请花点时间确保您的硬件满足 Oracle 数据库 11g 第 1 版所需的最低硬件要求。

最低硬件要求:

32 位 (x86)

  • x86 兼容 CPU
  • 1 GB RAM
  • 10 GB 的可用磁盘空间(3.5 GB 用于 Oracle 软件 + 1.5 GB 用于数据库 + 3 GB 用于 OEL5 + 2 GB 交换空间)

64 位 (x86_64)

  • x86_64 兼容 CPU
  • 1 GB RAM
  • 10.5 GB 的可用磁盘空间(4 GB 用于 Oracle 软件 + 1.5 GB 用于数据库 + 3 GB 用于 OEL5 + 2 GB 交换空间)

注:Linux 和 Oracle 必须安装在同一体系结构上。32 位 Oracle 只能运行于 32 位 Linux 之上,64 位 Oracle 只能运行于 64 位 Linux 之上。

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

Oracle 数据库 11g 第 1 版经认证可以在不需要更新的情况下运行 OEL5 的基本版本。可以免费 OEL5。

  1. 使用第一张 CD 或 DVD 启动服务器。
    • 您可能需要更改 BIOS 设置,以允许从 CD/DVD 启动。
  2. 启动屏幕出现,并在底部显示 boot:提示符。
    • 选择 Enter,从控制台上执行图形安装。
    • 安装程序扫描您的硬件
  3. Oracle Enterprise Linux splash 屏幕
    • 单击 Next
  4. 语言选择
    • 接受默认值。
  5. 配置键盘
    • 接受默认值。
  6. 安装或升级
    • 选择 Install 并单击 Next
  7. 设置磁盘分区
    • 本指南不介绍磁盘分区的详细方法,而是假设您熟悉磁盘分区方法。
      警告:对磁盘进行错误分区是删除硬盘上所有内容的最可靠、最快捷的方法之一。如果不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险!)
    • 接受默认的分区布局。注意,默认布局适用于评估,但不一定适用于其他目的。默认布局可能会创建一个交换分区,该分区比 Oracle 指南推荐的要小。这对于评估来说也已足够。
  8. 网络配置
    • 通常情况下,最好使用静态 IP 地址配置数据库服务器。为此,单击 Edit
    • 出现一个弹出窗口。取消选中 Configure using DHCP 复选框,并输入服务器的 IP 地址和网络掩码。确保选中 Activate on boot,然后单击 OK
    • 在 Hostname 框中,选择 manually 并输入主机名。
    • 在 Miscellaneous Settings 框中,输入其他网络设置。
  9. 选择时区
    • 选择适合您区域的时间设置。将系统时钟设置为 UTC 对服务器而言通常是一个很好的做法。为此,选择 System clock uses UTC
  10. 设置 Root 口令
    • 输入 root 的口令,并再次输入以进行确认。
  11. 软件包安装
    • 本指南将采用 Oracle 推荐的“默认 RPM”安装。接受默认的软件选择,并单击 Next
    • 还需要安装额外的 RPM 以运行 Oracle 数据库 11g 第 1 版。它们将稍后安装。
  12. 安装程序包
    • 软件将被复制到硬盘并被安装。提示更换磁盘。
  13. 软件安装结束后
    • 取出所有 CD/DVD 启动介质。
    • 单击 Next
  14. 欢迎参加甲骨文开发者大会
    • 单击 Forward
  15. 许可协议
    • 阅读许可协议。如果同意其中的条款,选择 Yes, I agree to the License Agreement 并单击 Forward
  16. 配置防火墙
    • 出于本演示的需要,将不配置防火墙。选择 Disabled 并单击 Forward
    • 当出现“Warning - No Firewall”窗口时,单击 Yes
  17. SELinux
    • 从下拉菜单中选择 Disabled 并单击 Forward
  18. Kdump
    • 不要启用 Kdump。接受默认设置并单击 Forward
  19. 日期和时间
    • 设置日期和时间。
    • 如果要使用 NTP 服务器(推荐),则选择 Enable Network Time Protocol 并输入 NTP 服务器的名称。
  20. 系统用户
    • 为自己创建一个帐户。
    • 此时不要为 oracle 创建帐户。本部分稍后将介绍如何创建 oracle 帐户。
  21. 声卡
    • 如果有声卡,对其进行配置并单击 Forward
  22. 其他 CD
    • 单击 Finish
  23. 系统将重启
  24. 出现一个图形登录屏幕。
  25. 恭喜!您的 OEL5 软件现已安装完毕。

安装必需的软件包

额外的 Linux 软件程序包必须在安装 Oracle 软件之前完成安装。程序包的要求对 32 位和 64 位体系结构而言各不相同,因此本部分包含针对每种体系结构的单独说明。

32 位 (x86) 安装

所需内核版本:2.6.18。该内核或其他更新的内核可用于 Oracle 数据库 11g 第 1 版。

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

uname -r

Ex:
# uname -r
2.6.18-8.el5

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

  • compat-libstdc++-33-3.2.3-61
  • elfutils-libelf-0.125-3.el5
  • elfutils-libelf-devel-0.125-3.el5
  • glibc-2.5-12
  • glibc-devel-2.5-12
  • glibc-common-2.5-12
  • gcc-4.1.1-52.el5
  • gcc-c++-4.1.1-52.el5
  • libgcc-4.1.1-52.el5
  • libaio-0.3.106-3.2
  • libaio-devel-0.3.106-3.2
  • libstdc++-4.1.1-52.el5
  • libstdc++-devel-4.1.1-52.el5
  • unixODBC-2.2.11-7.1
  • unixODBC-devel-2.2.11-7.1
  • sysstat-7.0.0-3.el5
  • binutils-2.17.50.0.6-2.el5
  • make-3.81-1.1
如果您已经按照 Oracle 的建议执行了“默认 RPM”安装,则还需要安装一些必需的程序包:
  • compat-libstdc++-33
  • elfutils-libelf-devel
  • glibc-devel-2.5
  • gcc
  • gcc-c++
  • libaio-devel
  • libstdc++-devel
  • unixODBC
  • unixODBC-devel
  • sysstat

要安装其余的程序包,加载 Oracle Enterprise Linux 介质,然后转到包含 RPM 的目录。

某些必需的程序包依赖于其他程序包,因此依赖程序包也必须安装。以 root 身份登录,运行下面的命令,以安装其余的必需程序包及它们依赖的程序包:

加载 CD 2

cd cd_mount_point/Server

rpm -ivh compat-libstdc++-33* elfutils-libelf-devel* glibc-devel-2* glibc-headers-2* gcc-4* libgomp-4* gcc-c++-4* libaio-devel* libstdc++-devel-4* unixODBC*

例如:
# rpm -ivh compat-libstdc++-33* elfutils-libelf-devel* glibc-devel-2* glibc-headers-2* gcc-4* libgomp-4* gcc-c++-4* libaio-devel* libstdc++-devel-4* unixODBC*
warning:compat-libstdc++-33-3.2.3-61.i386.rpm:Header V3 DSA signature:NOKEY, key ID 1e5e0159
Preparing...########################################### [100%]
1:unixODBC ########################################### [ 8%]
2:libstdc++-devel ########################################### [ 17%]
3:libgomp ########################################### [ 25%]
4:glibc-headers ########################################### [ 33%]
5:glibc-devel ########################################### [ 42%]
6:gcc ########################################### [ 50%]
7:gcc-c++ ########################################### [ 58%]
8:unixODBC-devel ########################################### [ 67%]
9:libaio-devel ########################################### [ 75%]
10:compat-libstdc++-33 ########################################### [ 83%]
11:elfutils-libelf-devel-s########################################### [ 92%]
12:elfutils-libelf-devel ########################################### [100%]

加载 CD 3

cd cd_mount_point/Server

rpm -ivh sysstat*

例如:
# rpm -ivh sysstat*
warning:sysstat-7.0.0-3.el5.i386.rpm:Header V3 DSA signature:NOKEY, key ID 1e5e0159
Preparing...########################################### [100%]
1:sysstat ########################################### [100%]

运行下面的命令,验证所需的程序包已安装到您的系统上:

rpm -q compat-libstdc++-33 elfutils-libelf-devel glibc-devel-2.5 gcc gcc-c++ libaio-devel libstdc++-devel \
unixODBC unixODBC-devel sysstat binutils elfutils-libelf glibc glibc-common libaio libgcc libstdc++ make

Ex: 
# rpm -q compat-libstdc++-33 elfutils-libelf-devel glibc-devel-2.5 gcc gcc-c++ libaio-devel libstdc++-devel \
> unixODBC unixODBC-devel sysstat binutils elfutils-libelf glibc glibc-common libaio libgcc libstdc++ make
compat-libstdc++-33-3.2.3-61
elfutils-libelf-devel-0.125-3.el5
glibc-devel-2.5-12
gcc-4.1.1-52.el5
gcc-c++-4.1.1-52.el5
libaio-devel-0.3.106-3.2
libstdc++-devel-4.1.1-52.el5
unixODBC-2.2.11-7.1
unixODBC-devel-2.2.11-7.1
sysstat-7.0.0-3.el5
binutils-2.17.50.0.6-2.el5
elfutils-libelf-0.125-3.el5
glibc-2.5-12
glibc-common-2.5-12
libaio-0.3.106-3.2
libgcc-4.1.1-52.el5
libstdc++-4.1.1-52.el5
make-3.81-1.1
 

64 位 (x86_64) 安装

所需内核版本:2.6.18。该内核或其他更新的内核可用于 Oracle 数据库 11g 第 1 版。

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

uname -rm

Ex:
# uname -rm
2.6.18-8.el5 x86_64

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

  • binutils-2.17.50.0.6
  • compat-libstdc++-33-3.2.3
  • compat-libstdc++-33-3.2.3(32 位)
  • elfutils-libelf-0.125
  • elfutils-libelf-devel-0.125
  • gcc-4.1.1
  • gcc-c++-4.1.1
  • glibc-2.5-12
  • glibc-2.5-12(32 位)
  • glibc-common-2.5
  • glibc-devel-2.5
  • glibc-devel-2.5-12(32 位)
  • libaio-0.3.106
  • libaio-0.3.106(32 位)
  • libaio-devel-0.3.106
  • libgcc-4.1.1
  • libgcc-4.1.1(32 位)
  • libstdc++-4.1.1
  • libstdc++-4.1.1(32 位)
  • libstdc++-devel 4.1.1
  • make-3.81
  • sysstat-7.0.0
注意,有大量的程序包需要同时安装 64 位和 32 位的 RPM。幸运的是,二者在 64 位 Linux 安装介质上均有提供。

如果您已经按照 Oracle 的建议执行了“默认 RPM”安装,则还需要安装一些必需的程序包:

  • compat-libstdc++-33-3.2.3
  • compat-libstdc++-33-3.2.3(32 位)
  • elfutils-libelf-devel-0.125
  • gcc-4.1.1
  • gcc-c++-4.1.1
  • glibc-devel-2.5
  • glibc-devel-2.5-12(32 位)
  • libaio-devel-0.3.106
  • libstdc++-devel 4.1.1
  • sysstat-7.0.0

要安装其余的程序包,加载 Oracle Enterprise Linux 介质,然后转到包含 RPM 的目录。

某些必需的程序包依赖于其他程序包,因此依赖程序包也必须安装。以 root 身份登录,运行下面的命令,以安装其余的必需程序包及它们依赖的程序包:

加载 CD 2

mount -t iso9660 -r /dev/cdrom /media
cd /media/Server

rpm -ivh elfutils-libelf-devel*.x86_64.rpm glibc-devel-2* gcc-4*.x86_64.rpm gcc-c++-4*.x86_64.rpm libstdc++-devel-4*.x86_64.rpm glibc-headers*.x86_64.rpm libgomp*.x86_64.rpm

例如:
# rpm -ivh elfutils-libelf-devel*.x86_64.rpm glibc-devel-2* gcc-4*.x86_64.rpm gcc-c++-4*.x86_64.rpm libstdc++-devel-4*.x86_64.rpm glibc-headers*.x86_64.rpm libgomp*.x86_64.rpm
warning:elfutils-libelf-devel-0.125-3.el5.x86_64.rpm:Header V3 DSA signature:NOKEY, key ID 1e5e0159
Preparing...########################################### [100%]
1:glibc-headers ########################################### [ 11%]
2:glibc-devel ########################################### [ 22%]
3:libgomp ########################################### [ 33%]
4:gcc ########################################### [ 44%]
5:libstdc++-devel ########################################### [ 56%]
6:gcc-c++ ########################################### [ 67%]
7:glibc-devel ########################################### [ 78%]
8:elfutils-libelf-devel-s########################################### [ 89%]
9:elfutils-libelf-devel ########################################### [100%]

cd /
eject

加载 CD 3

mount -t iso9660 -r /dev/cdrom /media
cd /media/Server

rpm -ivh compat-libstdc++-33* libaio-devel*.x86_64.rpm

例如:
# rpm -ivh compat-libstdc++-33* libaio-devel*.x86_64.rpm
warning:compat-libstdc++-33-3.2.3-61.i386.rpm:Header V3 DSA signature:NOKEY, key ID 1e5e0159
Preparing...########################################### [100%]
1:libaio-devel ########################################### [ 33%]
2:compat-libstdc++-33 ########################################### [ 67%]
3:compat-libstdc++-33 ########################################### [100%]

cd /
eject

加载 CD 4

mount -t iso9660 -r /dev/cdrom /media
cd /media/Server

rpm -ivh sysstat*

例如:
# rpm -ivh sysstat*
warning:sysstat-7.0.0-3.el5.x86_64.rpm:Header V3 DSA signature:NOKEY, key ID 1e5e0159
Preparing...########################################### [100%]
1:sysstat ########################################### [100%]

运行下面的命令,验证所需的程序包已安装到您的系统上:

rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils \
compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc \
glibc-common glibc-devel-2.5 libaio libaio-devel libgcc libstdc++ libstdc++-devel \
make sysstat

Ex: 
# rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" binutils \
> compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc \
> glibc-common glibc-devel-2.5 libaio libaio-devel libgcc libstdc++ libstdc++-devel \
> make sysstat
binutils-2.17.50.0.6-2.el5 (x86_64)
compat-libstdc++-33-3.2.3-61 (i386)
compat-libstdc++-33-3.2.3-61 (x86_64)
elfutils-libelf-0.125-3.el5 (x86_64)
elfutils-libelf-devel-0.125-3.el5 (x86_64)
gcc-4.1.1-52.el5 (x86_64)
gcc-c++-4.1.1-52.el5 (x86_64)
glibc-2.5-12 (i686)
glibc-2.5-12 (x86_64)
glibc-common-2.5-12 (x86_64)
glibc-devel-2.5-12 (x86_64)
glibc-devel-2.5-12 (i386)
libaio-0.3.106-3.2 (x86_64)
libaio-0.3.106-3.2 (i386)
libaio-devel-0.3.106-3.2 (x86_64)
libgcc-4.1.1-52.el5 (x86_64)
libgcc-4.1.1-52.el5 (i386)
libstdc++-4.1.1-52.el5 (x86_64)
libstdc++-4.1.1-52.el5 (i386)
libstdc++-devel-4.1.1-52.el5 (x86_64)
make-3.81-1.1 (x86_64)
sysstat-7.0.0-3.el5 (x86_64)

第 2 部分:针对 Oracle 配置 Linux

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

创建 Oracle 组和用户帐户

接下来,创建用于安装和维护 Oracle 数据库 11g 第 1 版软件的 Linux 组和用户帐户。用户帐户将称为 oracle,而组将称为 oinstall 和 dba。以 root 用户身份执行以下命令:

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle

Ex:
# /usr/sbin/groupadd oinstall
# /usr/sbin/groupadd dba
# /usr/sbin/useradd -m -g oinstall -G dba oracle
# id oracle
uid=501(oracle) gid=502(oinstall) groups=502(oinstall),503(dba)

设置 oracle 帐户的口令:

passwd oracle

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

创建目录

现在创建目录来存放 Oracle 数据库 11g 第 1 版软件及数据库文件。本指南在创建目录结构时所用的命名惯例符合最佳灵活结构 (OFA) 规范。有关 OFA 标准的更多信息,请参阅 的。

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

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

mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app 

配置 Linux 内核参数

Oracle 数据库 11g 第 1 版需要以下所示的内核参数设置。给出的值都为最小值,因此如果您的系统使用一个更大的值,则不要进行更改。Linux 允许在系统启动并运行时修改大多数内核参数,所以无需在修改内核参数后重启系统。

kernel.shmall = 2097152
kernel.shmmax = 536870912
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=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144

注意,OEL 5 已经为 kernel.shmall 和 kernel.shmmax 定义了值。如果默认值等于或大于要求值,则使用默认值。

如果您按照以上说明安装了 Linux,且内核参数全部采用默认值,则只需在以 root 用户身份登录后执行下命令。

cat >> /etc/sysctl.conf <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=4194304
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=262144
EOF
/sbin/sysctl -p

Ex:
# cat >> /etc/sysctl.conf <net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
> 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=4194304
> net.core.wmem_default=262144
> net.core.rmem_max=4194304
> net.core.wmem_max=262144
> EOF
# /sbin/sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 4294967295
kernel.shmall = 268435456
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 = 4194304
net.core.wmem_default = 262144
net.core.rmem_max = 4194304
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
/sbin/sysctl -a | grep rmem_default
/sbin/sysctl -a | grep rmem_max
/sbin/sysctl -a | grep wmem_default
/sbin/sysctl -a | grep wmem_max

Ex:
# /sbin/sysctl -a | grep shm
kernel.shmmni = 4096
kernel.shmall = 268435456
kernel.shmmax = 4294967295
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
# /sbin/sysctl -a | grep rmem_default
net.core.rmem_default = 4194304
# /sbin/sysctl -a | grep rmem_max
net.core.rmem_max = 4194304
# /sbin/sysctl -a | grep wmem_default
net.core.wmem_default = 262144
# /sbin/sysctl -a | grep wmem_max
net.core.wmem_max = 262144

为 oracle 用户设置 Shell 限制

Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:

cat >> /etc/security/limits.conf <oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF

cat >> /etc/pam.d/login <session required /lib/security/pam_limits.so
EOF

修改 bash 和 ksh 的默认配置文件以及 cshell 的默认登录脚本。

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


第 3 部分:安装 Oracle

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

要使 Oracle 数据库 11g 第 1 版发行套件介质可以在服务器上使用,最简单的方法是将其直接下载到服务器。

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

创建一个目录以存放 Oracle 数据库 11g 第 1 版发行套件:

mkdir 11gR1_db

要从 OTN 上下载 Oracle 数据库 11g 第 1 版,将浏览器转到 。阅读 OTN 许可协议。如果您接受限制和许可协议,则单击 Accept License Agreement

单击 Linux x86 链接(32 位)或 Linux x86-64 链接(64 位),然后将文件保存在您专门为此创建的目录下 (11gR1_db) — 如果您尚未登录 OTN,此时可能会提示您进行登录。

解压缩此文件。

cd 11gR1_db
For 32-bit
unzip linux_11gR1_database.zip
For 64-bit
unzip linux.x64_11gR1_database.zip

安装软件并创建数据库

使用 oracle 帐户登录。

转到包含 Oracle 数据库 11g 第 1 版软件的目录。
Ex:
$ cd $HOME/11gR1_db/database

启动 Oracle 通用安装程序。

$ ./runInstaller
  1. 选择安装方式
    • 选择 Basic Installation
    • Oracle Base 的位置:/u01/app/oracle
    • Oracle Home 位置:/u01/app/oracle/product/11.1.0/db_1
    • 安装类型:Enterprise Edition (3.3GB)
    • UNIX DBA 组:dba
    • 确保选中 Create Starter Database
    • 全局数据库名称:demo1
    • 输入数据库口令并确认口令
    • 单击 Next
  2. 指定清单目录和凭证
    • 清单目录:/u01/app/oraInventory
    • 操作系统组名:oinstall
    • 单击 Next
  3. 产品特定的前提条件检查
    • 如果您一直在依循本指南中的步骤,则所有检查都应顺利通过。如果进行 OEL5 安装时使用的是默认分区布局,您可能会收到一个与交换文件大小有关的警告。该警告可以忽略。如果一次或多次检查失败,应在继续操作前进行更正。
    • 单击 Next
  4. Oracle 配置管理器注册
    • 针对该演示,保留禁用状态并单击 Next
  5. 总结
    • 显示已安装产品的摘要。
    • 单击 Install
  6. 安装
    • 将显示安装进度
  7. 配置助理
    • Oracle Net、Oracle 数据库与 iSQL*Plus 配置助手会自动运行
    • 记下 Database Configuration Assistant 弹出窗口中的信息,并单击 OK。
  8. 执行配置脚本
    • 在安装的结尾,将弹出一个窗口,提示需要以 root 用户身份运行脚本。以 root 用户身份登录,运行提示的脚本。
    • 完成后单击 OK。
  9. 安装结束
    • 记下摘要中显示的 URL,并在准备好时单击 Exit
  10. 恭喜!您的 Oracle 数据库 11g 第 1 版数据库现在已经就绪,可以使用了。


第 4 部分:配置存储

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

本部分介绍了为数据库配置磁盘存储的其他方法。尤其是,它描述了如何创建其他文件系统以及如何使用自动存储管理 (ASM)。

对磁盘进行分区

为了使用文件系统或 ASM,您必须有未分配的磁盘分区。该部分将介绍如何创建新文件系统或 ASM 使用的分区。

警告:对磁盘进行错误分区是删除硬盘上所有内容的最可靠、最快捷的方法之一。如果不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险。

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

Ex:
# fdisk /dev/sda

The number of cylinders for this disk is set to 30401.
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/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 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-30401, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-30401, default 30401):
Using default value 30401

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

现在验证新分区:

Ex:
# fdisk -l /dev/sda

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 30401 244196001 83 Linux

对每个要分区的磁盘重复上述步骤。接下来的“文件系统”部分使用了一个单一磁盘分区 /dev/sda1。ASM 示例使用了两张磁盘:/dev/sda1 和 /dev/sdb1。

文件系统

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

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

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

创建文件系统

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

Ex:
# mke2fs -j /dev/sda1
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
30539776 inodes, 61049000 blocks
3052450 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=0
1864 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 28 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

创建挂载点

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

由于第 1 部分中已经创建了 /u01 目录,本例将使用 /u02。

Ex:
# mkdir /u02

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

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

/dev/sda1 /u02 ext3 defaults 1 2

挂载新文件系统

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

mount /u02
df -h /u02

Ex:
# mount /u02
# df -h /u02
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 230G 188M 218G 1% /u02

创建 Oracle 目录并设置权限

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

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

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

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

Ex:
$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Sun Nov 4 15:19:00 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Enter user-name: system
Enter password:

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> create tablespace data1
2 datafile '/u01/app/oracle/oradata/demo1/data1_01.dbf' size 100m
3 extent management local
4 segment space management auto;

Tablespace created.

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

Ex:
SQL> create table demotab (id number(5) not null primary key,
2 name varchar2(50) not null,
3 amount number(9,2))
4 tablespace data1;

Table created.

自动存储管理 (ASM)

ASM 是一个磁盘存储选件,它以与平台无关的方式提供文件系统、逻辑卷管理器以及软件 RAID 等服务。ASM 可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡 I/O 以删除“热点”。它还支持直接和异步的 I/O 并使用 Oracle9i 中引入的 Oracle 数据管理器 API(简化的 I/O 系统调用接口)。

ASM 不是通用的文件系统,只能用于 Oracle 数据库相关文件。ASM 中的文件既可以由数据库自动创建和命名(使用 Oracle 管理文件特性),也可以由 DBA 手动创建和命名。ASM 文件不能使用 ls、cp 和 dd 等操作系统命令进行访问。要管理 ASM 文件,使用 Oracle Enterprise Manager 或 Oracle 提供的其他方法。

ASM 作为单独的 Oracle 实例实施,只有在运行时,其他数据库才能访问它。ASM 需要的内存不多:对大多数系统,只需 64 MB。

安装 ASM

ASM 可以使用各种各样的存储类型,包括原始分区、RAID LUN 和 NFS 文件。对于 Linux 系统,Oracle 提供一个名为 ASMLib 的自定义设备驱动程序,在 Linux 上安装 ASM 时通常都会推荐该程序。ASMLib 可从 OTN 上。本部分将逐步讲解使用 ASMLib 2.0 配置简单 ASM 实例以及构建使用 ASM 作为磁盘存储的数据库的全过程。

确定所需的 ASMLib 版本

ASMLib 2.0 以三个 RPM 程序包组成的程序包集提供。

  • oracleasmlib-2.0 — ASM 库
  • oracleasm-support-2.0 — 用于管理 ASMLib 的实用程序
  • oracleasm — 用于 ASM 库的内核模块,特定于每个内核
每个 Linux 发布版本都有其自己的一组 ASMLib 2.0 程序包(OEL 5 与 Red Hat Enterprise Linux 5 AS 使用相同的 RPM)。在各个发布版本内,每个内核版本都有一个对应的 oracleasm 程序包。以下部分介绍如何确定您需要哪套程序包。

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

uname -rm

Ex:
# uname -rm
2.6.18-8.el5 i686

示例显示,这是一个 2.6.18 内核,补丁级别为 8,用于 32 位 x86 兼容硬件 (i686) 上的 Enterprise Linux 5。

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

  1. 将 Web 浏览器指向
  2. 为您的 Linux 版本选择链接(OEL5 用户可使用 )。
  3. 下载适用于您的 Linux 版本的 oracleasmlib 和 oracleasm-support 程序包。这些文件按体系结构分类(AMD64 / Intel em64t 用于 x86_64,IA64 用于 Itanium,IA32 用于 x86)。在每个部分的顶部都有一个 Library and Tools 标题。下载此标题下的两个文件 — 它们是支持实用程序和 ASM 库(分别是 oracleasm-support 和 oracleasmlib)。
  4. 接着,下载与您的内核相对应的 oracleasm 程序包。上例中使用了 oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm 程序包。注意,大多数内核版本的下方都会列出两个或三个驱动程序。例如:

    针对内核 2.6.18-8.el5 的驱动程序

    * oracleasm-2.6.18-8.el5xen-2.0.4-1.el5.i686.rpm
    * oracleasm-2.6.18-8.el5PAE-2.0.4-1.el5.i686.rpm
    * oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm

    仅选择其中之一。在本例中,还提供了针对 Xen(虚拟机体系结构)、PAE(针对 RAM 超过 4GB 的 32 位系统)和“标准”32 位内核的驱动程序。

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

    rpm -Uvh oracleasm-kernel_version-asmlib_version.cpu_type.rpm \
    oracleasmlib-asmlib_version.cpu_type.rpm \
    oracleasm-support-asmlib_version.cpu_type.rpm

    Ex:
    # rpm -Uvh oracleasm-2.6.18-8.el5-2.0.4-1.el5.i686.rpm \
    > oracleasm-support-2.0.4-1.el5.i386.rpm \
    oracleasmlib-2.0.3-1.el5.i386.rpm
    Preparing... ########################################### [100%]
    1:oracleasm-support ########################################### [ 33%]
    2:oracleasm-2.6.18-8.el5 ########################################### [ 67%]
    3:oracleasmlib ########################################### [100%]

配置 ASMLib

使用 ASMLib 之前,必须运行配置脚本来准备驱动程序。以 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 ]
Loading module "oracleasm": [ OK ]
Mounting ASMlib driver filesystem: [ OK ]
Scanning system for ASM disks: [ OK ]

接下来,告诉 ASM 驱动程序您要使用的磁盘。Oracle 建议每个磁盘仅包含一个分区。有关创建分区的示例,请参见本部分起始处的“对磁盘进行分区”。

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

/etc/init.d/oracleasm createdisk DISK_NAME device_name

提示:DISK_NAME 应由大写字母组成。

Ex:
# /etc/init.d/oracleasm createdisk VOL1 /dev/sda1
Marking disk "/dev/sdb1" as an ASM disk: [ OK ]
# /etc/init.d/oracleasm createdisk VOL2 /dev/sdb1
Marking disk "/dev/sdb1" as an ASM disk: [ OK ]
Verify that ASMLib has marked the disks: 
# /etc/init.d/oracleasm listdisks
VOL1
VOL2

创建 ASM 实例

ASM 作为独立的 Oracle 实例运行,可以使用 Oracle Universal Installer 创建和配置它。安装完 ASMLib 并标记磁盘后,就可以创建 ASM 实例了。

以 oracle 身份登录并启动 runInstaller:

$ ./runInstaller
  1. 选择安装方式
    • 选择 Advanced Installation。
    • 单击 Next
  2. 指定清单目录和凭证
    • 清单目录:/u01/app/oraInventory
    • 操作系统组名:oinstall
    • 单击 Next
  3. 选择安装类型
    • 选择 Enterprise Edition
    • 单击 Next
  4. 安装位置
    • Oracle Base:/u01/app/oracle
    • 名称:  OraDB11gASM
    • 路径:/u01/app/oracle/product/11.1.0/asm
      注意:为了便于管理,Oracle 建议 ASM 使用与数据库不同的 ORACLE_HOME。
    • 单击 Next
  5. 产品特定的前提条件检查
    • 如果您一直在依循本指南中的步骤,则所有检查都应顺利通过。如果一个或多个检查失败,应在继续操作前纠正该问题。
    • 单击 Next
  6. 选择配置选项
    • 选择 Configure Automatic Storage Management (ASM)
    • 输入 ASM SYS 口令并确认
    • 单击 Next
  7. 配置自动存储管理
    • 磁盘组名称:DATA
    • 冗余
      - High 镜像数据两次。
      - Normal 镜像数据一次。这是默认值。
      - External 不在 ASM 内镜像数据。如果外部 RAID 阵列提供冗余,则通常使用此选项。
    • 添加磁盘
      配置用于 ASMLib 的磁盘作为 Candidate Disks 列出。选择要加入磁盘组的磁盘。
    • 单击 Next
  8. 特权操作系统组
    • 数据库操作员 (OSDBA) 组:dba
    • 数据库操作员 (OSOPER) 组:dba
    • ASM 管理员 (OSASM) 组:dba
    • 单击 Next
  9. Oracle 配置管理器注册
    • 针对该演示,保留禁用状态
    • 单击 Next
  10. 总结
    • 显示已安装产品的摘要。
    • 单击 Install
  11. 安装
    • 将显示安装进度
  12. 执行配置脚本
    • 在安装的结尾,将弹出一个窗口,提示需要以 root 用户身份运行脚本。以 root 用户身份登录,运行提示的脚本。
    • 完成后单击 OK。
  13. 配置助理
    • Oracle Net、Oracle 数据库与 iSQL*Plus 配置助手会自动运行
  14. 安装结束
    • 单击 Exit
  15. 恭喜!您的新 Oracle ASM 实例已经启动并可以使用。


创建数据库

一旦创建了 ASM 实例,就创建一个数据库来使用 ASM 进行存储:

以 oracle 身份登录并启动 runInstaller:

$ ./runInstaller
  1. 选择安装方式
    • 选择 Advanced Installation。
    • 单击 Next
  2. 选择安装类型
    • 选择 Enterprise Edition
    • 单击 Next
  3. 安装位置
    • Oracle Base:/u01/app/oracle
    • 名称:  OraDb11g_home1
    • 路径:/u01/app/oracle/product/11.1.0/db_1
      注意:Oracle 建议该数据库使用与 ASM 不同的 ORACLE_HOME。
    • 单击 Next
  4. 产品特定的前提条件检查
    • 如果您一直在依循本指南中的步骤,则所有检查都应顺利通过。如果一个或多个检查失败,应在继续操作前纠正该问题。
    • 单击 Next
  5. 选择配置选项
    • 选择 Create a Database
    • 单击 Next
  6. 选择数据库配置
    • 选择 General Purpose
    • 单击 Next
  7. 指定数据库配置选项
    • 输入全局数据库名称和 SID
    • 单击 Next
  8. 指定数据库配置选项
    • 接受默认值或按需要更改
    • 单击 Next
  9. 选择数据库管理选项
    • 选择 Use Database Control for Database Management
    • 单击 Next
  10. 指定数据库存储选项
    • 选择 Automatic Storage Management (ASM)
    • 单击 Next
  11. 指定备份和恢复选项
    • 选择 Do not enable Automated backups
    • 单击 Next
  12. 选择 ASM 磁盘组
    • 选择在前一部分中创建的 DATA 磁盘组
    • 单击 Next
  13. 指定数据库模式口令
    • 选择 Use the same password for all the accounts
    • 输入口令并确认
    • 单击 Next
  14. 特权操作系统组
    • 数据库操作员 (OSDBA) 组:dba
    • 数据库操作员 (OSOPER) 组:dba
    • ASM 管理员 (OSASM) 组:dba
    • 单击 Next
  15. Oracle 配置管理器注册
    • 针对该演示,保留禁用状态
    • 单击 Next
  16. 总结
    • 显示已安装产品的摘要。
    • 单击 Install
  17. 配置助理
    • Oracle 配置助手将自动运行
    • 配置完成后,将出现一个包含数据库信息的弹出窗口。记下 URL,在一切就绪后单击 OK。
  18. 执行配置脚本
    • 在安装的结尾,将弹出一个窗口,提示需要以 root 用户身份运行脚本。以 root 用户身份登录,运行提示的脚本。
    • 完成后单击 OK。
  19. 安装结束
    • 单击 Exit
  20. 恭喜!您的新 Oracle 数据库已经启动并可以使用。

结论

既然数据库已经启动并运行,您现在可以开始探索 Oracle 数据库 11g 第 1 版提供的许多新特性了。最好先从 Oracle Enterprise Manager 开始。如果您不知道如何开始, 将帮您熟悉新数据库。OTN 还提供了一些旨在帮助您充分利用 Oracle 数据库 11g 第 1 版的文章。


附录

使用 SQL*Plus 访问数据库

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

设置 Oracle 环境变量:

$ . oraenv
ORACLE_SID = [demo1] ? demo1
The Oracle base for ORACLE_HOME=/u01/app/oracle/product/11.1.0/db_1 is /u01/app/oracle

运行 SQL*Plus:

$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Sun Nov 4 23:56:47 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

使用 Oracle Enterprise Manager 11g 数据库控制

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

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

User Name:SYSTEM
Password:<安装过程中选择的口令>
Connect As:Normal

单击


欢迎使用 Oracle Enterprise Manager 11g 数据库控制。

启动和停止 Oracle 企业管理器数据库控制:

$ emctl start dbconsole
$ emctl stop dbconsole

启动和停止监听器:

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

$ lsnrctl start
$ lsnrctl stop

启动和停止数据库:

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

启动:

$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Mon Nov 5 00:00:31 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> startup
ORACLE instance started.

Total System Global Area 849530880 bytes
Fixed Size 1303216 bytes
Variable Size 377490768 bytes
Database Buffers 465567744 bytes
Redo Buffers 5169152 bytes
Database mounted.
Database opened.

SQL> exit

停止:

$ sqlplus

SQL*Plus: Release 11.1.0.6.0 - Production on Mon Nov 5 00:00:31 2007

Copyright (c) 1982, 2007, Oracle. All rights reserved.

Enter user-name: / as sysdba

Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> exit

John Smiley [] 在一家大型网上零售店担任高级数据库工程师,已获得 Oracle 数据库大师认证。他具有 20 年在各种主流平台上使用 Oracle 数据库的经验,并专攻高性能、高可用性数据库系统设计。
阅读(1185) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~