对磁盘进行配置,使每个 SCSI 主机适配器连接到一个 9GB 磁盘和三个 36GB 磁盘。 请注重,尽管这根本算不上是一个“强大”的设置,但即便是使用再低的设置也可以完成本指南介绍的大部分任务。基本数据库安装只需要一个 CPU、512MB 内存和一个可用空间至少为 6.5GB 的磁盘驱动器(IDE、SCSI 或 FireWire)。 现在,我们将逐步演示在服务器上安装 Linux 操作系统的过程。本文假设进行 Linux 系统全新安装(有别于升级),并假设服务器为 Oracle 所专用,且服务器上没有其他操作系统或数据。 Red Hat Enterprise Linux 2.1 Oracle 10g 经认证可以在 Red Hat Enterprise Linux 2.1(Advanced Server 和 Enterprise Server)(Update 3) 或更高版本上运行。Red Hat Network (RHN) 提供更新,这些更新可以作为用于创建 CD 的 ISO 文件或作为单个程序包更新下载。 要对全新 Linux 安装应用更新,最简单、最快速的方法是使用更新 CD 执行安装。假如 Linux 已经安装或 CD 上没有更新,则可以通过 RHN 应用这些更新。由于本指南针对的是全新 Linux 安装,因此您将使用更新 CD。
使用更新 CD 集中的第一张 CD 启动服务器。
您可能需要更改 BIOS 设置,以答应从 CD 启动。
启动屏幕上出现时在底部显示 boot:。
选择 Enter,从控制台上执行图形安装。(对于其他安装方法和选项,请参阅 Red Hat 安装指南。)
假如看到此屏幕,只需选择 Install packages to satisfy dependencies(默认值)并继续操作。
配置图形界面 (X)
接受默认值,除非安装程序无法识别您的视频卡。假如您的视频卡无法被识别,则将无法继续操作。
预备安装
单击 Next
安装程序包
软件将被复制到硬盘并被安装。根据提示更改磁盘,然后在安装完成时单击 Next。
创建启动磁盘
假如需要,创建一张启动磁盘,或选择 Skip boot disk creation。
配置监视器
假如安装程序正确识别了您的监视器,则接受默认值。否则,从列表中选择一个兼容的监视器。
恭喜
从系统中取出安装介质,然后单击 Next。
系统自动重新启动,并显示一个图形登录屏幕。假如您是使用基本产品 CD 而非更新 CD 执行的安装,则在继续操作前必须通过 RHN 应用更新。 验证您的安装 假如完成了以上步骤,您应该具备 Oracle 10g 所需的所有程序包和更新。您可以执行以下步骤验证您的安装。 所需内核版本:2.4.9-e.25(或更高版本) 通过运行以下命令检查内核版本: uname -r例如:# uname -r2.4.9-e.27smp其他所需程序包的版本(或更高版本):
gcc-2.96-124
make-3.79
binutils-2.11
openmotif-2.1.30-11
glibc-2.2.4-31
要查看系统上安装了这些程序包的哪些版本,运行以下命令:rpm -q gcc make binutils openmotif glibc例如: # rpm -q gcc make binutils openmotif glibcgcc-2.96-118.7.2make-3.79.1-8binutils-2.11.90.0.8-12openmotif-2.1.30-11glibc-2.2.4-32.8假如系统上缺少任何程序包版本,或版本比以上指定的版本旧,则可以从 Red Hat Network 下载并安装更新。 Red Hat Enterprise Linux 3 Oracle 10g 经认证可以在不需要更新的情况下运行 Red Hat Enterprise Linux 3(Advanced Server 和 Enterprise Server)的基本版本。假如拥有更新 CD,则可以使用更新版本中的启动 CD 而非基本版本中的启动 CD 在安装过程中自动应用所有更新。Oracle 支持 Red Hat 的所有更新。
使用第一张 CD 启动服务器。
您可能需要更改 BIOS 设置,以答应从 CD 启动。
启动屏幕上出现时在底部显示 boot:。
选择 Enter,从控制台上执行图形安装。(对于其他安装方法和选项,请参阅 Red Hat 安装指南。)
安装过程结束时弹出一个窗口显示配置信息。记下 Enterprise Manager URL,然后单击 OK 关闭该窗口。
弹出一个“Setup Privileges”窗口,提示需要以 root 用户身份运行配置脚本。以 root 用户身份登录,切换到该窗口中指示的目录,然后执行 root.sh 脚本。该脚本提示输入本地 bin 目录的位置。按 Enter 键接受默认值。当脚本完成时,返回到 Setup Privileges 窗口并单击 OK。(如下所示。)
安装结束
记下摘要中显示的 URL,并在预备好时单击 Exit。
恭喜!您的新 Oracle 10g 数据库已经启动并可以使用。
第 4 部分:配置存储 我们在第 3 部分中创建的数据库使用单一文件系统 (/u02/oradata) 进行磁盘存储。但为 Oracle 数据库配置存储的方式有多种。 第 4 部分介绍了为此数据库配置磁盘存储的其他方法。尤其是,它描述了如何创建其他文件系统以及如何使用自动存储治理 (ASM)。如何使用原始设备和 Oracle 集群文件系统 (OCFS) 将在本系列的另一篇文章中介绍,该篇文章介绍了如何使用 Oracle 真正应用集群 (RAC) 创建集群数据库。 文件系统 文件系统是为 Oracle 数据库存储数据文件、重做日志和控制文件最常用的方法。文件系统易于实施,并且无需第三方软件来治理。 大多数情况下,文件系统在 Linux 的初始安装过程中创建。但有时必须在初始安装后(如安装新磁盘驱动器后)创建新文件系统。 本部分介绍了如何构建新文件系统以及如何在 Oracle 数据库中使用它。除非另有说明,否则必须以 root 用户身份运行所有命令。 对磁盘进行分区 必须使用空磁盘分区来创建文件系统。假如已经有一个空的可用磁盘分区,则跳到下一步。 以下是一个为 Linux 文件系统创建新分区的示例。(警告:对磁盘进行错误分区是删除硬盘上所有内容的最可靠、最快捷的方法之一。假如不确定如何分区,请先停下来,找人帮帮您,否则您将冒丢失数据的危险。) 此示例使用 /dev/sdb(一个没有分区的空 SCSI 磁盘)为整个磁盘 (36 GB) 创建单个分区。例如:# fdisk /dev/sdbDevice contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabelBuilding a new DOS disklabel.Changes will remain in memory only,until you decide to write them.After that, of course, the previouscontent 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):pDisk /dev/sdb:255 heads, 63 sectors, 4427 cylindersUnits = cylinders of 16065 * 512 bytesDevice Boot Start End Blocks Id SystemCommand (m for help):nCommand actione extendedp primary partition (1-4)pPartition number (1-4): 1First cylinder (1-4427, default 1):Using default value 1Last cylinder or +size or +sizeM or +sizeK (1-4427, default 4427):Using default value 4427Command (m for help):wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING:If you have created or modified any DOS 6.xpartitions, please see the fdisk manual page for additionalinformation.Syncing disks.现在验证新分区:例如:# fdisk /dev/sdbThe 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):pDisk /dev/sdb:255 heads, 63 sectors, 4427 cylindersUnits = cylinders of 16065 * 512 bytesDevice Boot Start End Blocks Id System/dev/sdb1 1 4427 35559846 83 LinuxCommand (m for help):q创建文件系统 使用 ext3 创建这个新的文件系统。也可以使用其他文件系统,但 ext3 在系统崩溃时可提供最快的恢复。例如:# mke2fs -j /dev/sdb1mke2fs 1.26 (3-Feb-2002)Filesystem label=OS type:LinuxBlock size=4096 (log=2)Fragment size=4096 (log=2)4447744 inodes, 8889961 blocks444498 blocks (5.00%) reserved for the super userFirst data block=0272 block groups32768 blocks per group, 32768 fragments per group16352 inodes per groupSuperblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624Writing inode tables:doneCreating journal (8192 blocks):doneWriting superblocks and filesystem accounting information:doneThis filesystem will be automatically checked every 23 mounts or180 days, whichever comes first.Use tune2fs -c or -i to override. 创建挂载点 文件系统必须有一个挂载点,它只是一个空的目录,新文件系统在这里与系统目录树“相连”。挂载点的命名应遵循 Oracle 灵活结构 (OFA) 标准。有关 OFA 标准的更多信息,请参阅 Oracle 10g 数据库安装指南 的附录 D。 由于您已经在第 1 部分中使用了 /u01 和 /u02 目录名称,因此在本示例中使用 /u03。例如:# mkdir /u03将新文件系统添加到 /etc/fstab 因此新文件系统将在系统启动时自动挂载,您需要向描述新文件系统及其安装位置的 /etc/fstab 文件中添加一行。使用文本编辑器向 /etc/fstab 中添加如下所示的一行。/dev/sdb1 /u03 ext3 defaults 1 1挂载新文件系统 文件系统挂载后就可以使用了。只有挂载了文件系统,才能在其中存储文件。使用以下命令挂载文件系统并验证它是否可用。mount /u03df -h /u03例如:# mount /u03# df -h /u03Filesystem Size Used Avail Use% Mounted on/dev/sdb1 33G 33M 31G 1% /u03创建 Oracle 目录并设置权限 现在,创建一个用于存放 Oracle 文件的目录。该示例中使用的目录名遵循数据库的 OFA 标准命名惯例,即 ORACLE_SID=demo1。mkdir -p /u03/oradata/demo1chown -R oracle:oinstall /u03/oradatachmod -R 775 /u03/oradata在新文件系统中创建一个新表空间 新文件系统已可以使用。接下来,在文件系统中创建一个用于存储数据库对象的新表空间。以 SYSTEM 用户身份连接到数据库,然后执行 CREATE TABLESPACE 语句,并在新文件系统中指定数据文件。例如:$ sqlplusSQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 15:01:08 2004Copyright (c) 1982, 2004, Oracle.All rights reserved.Enter user-name:systemEnter password:Connected to:Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> create tablespace data12 datafile '/u03/oradata/demo1/data1_01.dbf' size 100M3 extent management local4 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))4 tablespace data1; Table created.自动存储治理 (ASM) 我把最重要的内容留在了最后。ASM 是 Oracle 数据库 10g 中一个非常出色的新特性,它以平台无关的方式提供了文件系统、逻辑卷治理器以及软件 RAID 等服务。ASM 可以条带化和镜像磁盘,从而实现了在数据库被加载的情况下添加或移除磁盘以及自动平衡 I/O 以删除“热点”。它还支持直接和异步的 I/O 并使用 Oracle9i 中引入的 Oracle 数据治理器 API(简化的 I/O 系统调用接口)。 ASM 不是一个通用的文件系统,并只能用于 Oracle 数据文件、重做日志以及控制文件。ASM 中的文件既可以由数据库自动创建和命名(通过使用 Oracle 治理文件特性),也可以由 DBA 手动创建和命名。由于操作系统无法访问 ASM 中存储的文件,因此对使用 ASM 文件的数据库执行备份和恢复操作的唯一途径就是通过恢复治理器 (RMAN)。 ASM 作为单独的 Oracle 实例实施,只有它在运行时其他数据库才能访问它。在 Linux 上,只有运行 OCSSD 服务(由 Oracle 通用安装程序默认安装)才能使用 ASM。ASM 需要的内存不多:对大多数系统,只需 64 MB。 安装 ASM 在 Linux 平台上,ASM 可以使用原始设备,或通过 ASMLib 接口治理的设备。出于易于使用和性能方面的原因,Oracle 建议在原始设备上使用 ASMLib。ASMLib 现在可以从 OTN 免费下载。本部分逐步讲解使用 ASMLib 配置一个简单 ASM 实例和构建一个使用 ASM 进行磁盘存储的数据库的全过程。 确定所需的 ASMLib 版本 ASMLib 以三个 Linux 程序包组成的程序包集提供:
配置 ASMLib 使用 ASMLib 之前,必须运行配置脚本以预备驱动程序。以 root 用户身份运行以下命令,并响应如下示例中所显示的提示。# /etc/init.d/oracleasm configureConfiguring the Oracle ASM library driver.This will configure the on-boot properties of the Oracle ASM librarydriver.The following questions will determine whether the driver isloaded on boot and what permissions it will have.The current valueswill be shown in brackets ('[]').Hitting <ENTER> without typing ananswer will keep that current value.Ctrl-C will abort.Default user to own the driver interface []:oracleDefault group to own the driver interface []:dbaStart Oracle ASM library driver on boot (y/n) [n]:yFix permissions of Oracle ASM disks on boot (y/n) [y]:yWriting 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 ]现在,如下所示启用 ASMLib 驱动程序。 # /etc/init.d/oracleasm enableWriting Oracle ASM library driver configuration [ OK ]Scanning system for ASM disks [ OK ]为 ASM 配置磁盘 接下来,告诉 ASM 驱动程序您要使用的磁盘。请注重,这些磁盘是不包含任何内容(甚至不包含分区)的空磁盘。可以将磁盘分区用于 ASM,但建议您不要这样做。 通过以 root 用户身份运行以下命令来标记由 ASMLib 使用的磁盘:/etc/init.d/oracleasm createdisk DISK_NAME device_name(提示:DISK_NAME 应由大写字母组成。当前版本有一个错误,即假如使用小写字母,ASM 实例将无法识别磁盘。)例如:# /etc/init.d/oracleasm createdisk VOL1 /dev/sdbMarking disk "/dev/sdb" as an ASM disk [ OK ]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdcMarking disk "/dev/sdc" as an ASM disk [ OK ]# /etc/init.d/oracleasm createdisk VOL3 /dev/sddMarking disk "/dev/sdd" as an ASM disk [ OK ]# /etc/init.d/oracleasm createdisk VOL4 /dev/sdfMarking disk "/dev/sdf" as an ASM disk [ OK ]# /etc/init.d/oracleasm createdisk VOL5 /dev/sdgMarking disk "/dev/sdg" as an ASM disk [ OK ]# /etc/init.d/oracleasm createdisk VOL6 /dev/sdhMarking disk "/dev/sdh" as an ASM disk [ OK ] 以下示例演示了如何列出标记为由 ASMLib 使用的所有磁盘。# /etc/init.d/oracleasm listdisksVOL1VOL2VOL3VOL4VOL5VOL6既然已经安装了 ASMLib,且已将磁盘标记为可用,下面,您便可以创建一个 ASM 实例,并构建一个使用 ASM 进行磁盘存储的数据库。最轻易的方法就是使用数据库配置助手 (DBCA) 来完成此操作。 以 oracle 身份登录并启动 DBCA:$ dbca
欢迎
单击 Next。
操作
选择 Create a Database。
数据库模板
选择 General Purpose。
数据库标识
输入全局数据库名称。
治理选项
选择 Configure the Database with Enterprise Manager。
选择 Use Database Control for Database Management。
数据库证书
选择 Use Same Password for All Accounts。
输入口令并确认。
存储选项
选择 Automatic Storage Management (ASM)。
创建 ASM 实例
输入 ASM 实例的口令并确认。
弹出一个窗口,提示 DBCA 将立即创建并启动 ASM 实例。
单击 OK。
创建 ASM 实例时弹出一个带齿轮箱窗口。
ASM 磁盘组
由于这是新 ASM 实例且您尚未创建任何 ASM 实例,因此该窗口未显示可用磁盘组。
单击 Create New。
创建磁盘组
磁盘组名称 - 输入磁盘组名称,如 DATA1。
冗余 - High 镜像数据两次。 - Normal 镜像数据一次。 - External 不镜像 ASM 中的数据。假如外部 RAID 阵列提供冗余,则通常使用此选项。
选择成员磁盘 - 您必须手动指示 ASM 到什么地方查找 ASMLib 磁盘,因此,单击 Change Disk Discovery Path - 弹出一个窗口,提示输入磁盘发现路径。如下所示将磁盘发现路径更改为“ORCL:*”。 - 单击 OK 继续。
您将返回到 Select Member Disks 窗口。您的所有 ASMLib 磁盘现在应显示在此窗口中。 单击该行开头的框,选择加入磁盘组的磁盘。完成后单击 OK。
ASM 磁盘组
您将返回到 ASM Disk Groups 窗口。此时,出现在上一步中创建的磁盘组。
单击该行开头的框选择此磁盘组。(在此实例中使用单个磁盘组。)
单击 Next。
数据库文件位置
选择 Use Oracle-Managed Files。
确保已将 Database Area 设置为您创建的磁盘组。它包含一个前导加号 — 例如,+DATA1。