對(duì)磁盤進(jìn)行配置,使每個(gè) SCSI 主機(jī)適配器連接到一個(gè) 9GB 磁盤和三個(gè) 36GB 磁盤。 請(qǐng)注重,盡管這根本算不上是一個(gè)“強(qiáng)大”的設(shè)置,但即便是使用再低的設(shè)置也可以完成本指南介紹的大部分任務(wù)。基本數(shù)據(jù)庫(kù)安裝只需要一個(gè) CPU、512MB 內(nèi)存和一個(gè)可用空間至少為 6.5GB 的磁盤驅(qū)動(dòng)器(IDE、SCSI 或 FireWire)。 現(xiàn)在,我們將逐步演示在服務(wù)器上安裝 Linux 操作系統(tǒng)的過(guò)程。本文假設(shè)進(jìn)行 Linux 系統(tǒng)全新安裝(有別于升級(jí)),并假設(shè)服務(wù)器為 Oracle 所專用,且服務(wù)器上沒有其他操作系統(tǒng)或數(shù)據(jù)。 Red Hat Enterprise Linux 2.1 Oracle 10g 經(jīng)認(rèn)證可以在 Red Hat Enterprise Linux 2.1(Advanced Server 和 Enterprise Server)(Update 3) 或更高版本上運(yùn)行。Red Hat Network (RHN) 提供更新,這些更新可以作為用于創(chuàng)建 CD 的 ISO 文件或作為單個(gè)程序包更新下載。 要對(duì)全新 Linux 安裝應(yīng)用更新,最簡(jiǎn)單、最快速的方法是使用更新 CD 執(zhí)行安裝。假如 Linux 已經(jīng)安裝或 CD 上沒有更新,則可以通過(guò) RHN 應(yīng)用這些更新。由于本指南針對(duì)的是全新 Linux 安裝,因此您將使用更新 CD。
使用更新 CD 集中的第一張 CD 啟動(dòng)服務(wù)器。
您可能需要更改 BIOS 設(shè)置,以答應(yīng)從 CD 啟動(dòng)。
啟動(dòng)屏幕上出現(xiàn)時(shí)在底部顯示 boot:。
選擇 Enter,從控制臺(tái)上執(zhí)行圖形安裝。(對(duì)于其他安裝方法和選項(xiàng),請(qǐng)參閱 Red Hat 安裝指南。)
系統(tǒng)自動(dòng)重新啟動(dòng),并顯示一個(gè)圖形登錄屏幕。假如您是使用基本產(chǎn)品 CD 而非更新 CD 執(zhí)行的安裝,則在繼續(xù)操作前必須通過(guò) RHN 應(yīng)用更新。 驗(yàn)證您的安裝 假如完成了以上步驟,您應(yīng)該具備 Oracle 10g 所需的所有程序包和更新。您可以執(zhí)行以下步驟驗(yàn)證您的安裝。 所需內(nèi)核版本:2.4.9-e.25(或更高版本) 通過(guò)運(yùn)行以下命令檢查內(nèi)核版本: 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
要查看系統(tǒng)上安裝了這些程序包的哪些版本,運(yùn)行以下命令: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假如系統(tǒng)上缺少任何程序包版本,或版本比以上指定的版本舊,則可以從 Red Hat Network 下載并安裝更新。 Red Hat Enterprise Linux 3 Oracle 10g 經(jīng)認(rèn)證可以在不需要更新的情況下運(yùn)行 Red Hat Enterprise Linux 3(Advanced Server 和 Enterprise Server)的基本版本。假如擁有更新 CD,則可以使用更新版本中的啟動(dòng) CD 而非基本版本中的啟動(dòng) CD 在安裝過(guò)程中自動(dòng)應(yīng)用所有更新。Oracle 支持 Red Hat 的所有更新。
使用第一張 CD 啟動(dòng)服務(wù)器。
您可能需要更改 BIOS 設(shè)置,以答應(yīng)從 CD 啟動(dòng)。
啟動(dòng)屏幕上出現(xiàn)時(shí)在底部顯示 boot:。
選擇 Enter,從控制臺(tái)上執(zhí)行圖形安裝。(對(duì)于其他安裝方法和選項(xiàng),請(qǐng)參閱 Red Hat 安裝指南。)
第 4 部分:配置存儲(chǔ) 我們?cè)诘?3 部分中創(chuàng)建的數(shù)據(jù)庫(kù)使用單一文件系統(tǒng) (/u02/oradata) 進(jìn)行磁盤存儲(chǔ)。但為 Oracle 數(shù)據(jù)庫(kù)配置存儲(chǔ)的方式有多種。 第 4 部分介紹了為此數(shù)據(jù)庫(kù)配置磁盤存儲(chǔ)的其他方法。尤其是,它描述了如何創(chuàng)建其他文件系統(tǒng)以及如何使用自動(dòng)存儲(chǔ)治理 (ASM)。如何使用原始設(shè)備和 Oracle 集群文件系統(tǒng) (OCFS) 將在本系列的另一篇文章中介紹,該篇文章介紹了如何使用 Oracle 真正應(yīng)用集群 (RAC) 創(chuàng)建集群數(shù)據(jù)庫(kù)。 文件系統(tǒng) 文件系統(tǒng)是為 Oracle 數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù)文件、重做日志和控制文件最常用的方法。文件系統(tǒng)易于實(shí)施,并且無(wú)需第三方軟件來(lái)治理。 大多數(shù)情況下,文件系統(tǒng)在 Linux 的初始安裝過(guò)程中創(chuàng)建。但有時(shí)必須在初始安裝后(如安裝新磁盤驅(qū)動(dòng)器后)創(chuàng)建新文件系統(tǒng)。 本部分介紹了如何構(gòu)建新文件系統(tǒng)以及如何在 Oracle 數(shù)據(jù)庫(kù)中使用它。除非另有說(shuō)明,否則必須以 root 用戶身份運(yùn)行所有命令。 對(duì)磁盤進(jìn)行分區(qū) 必須使用空磁盤分區(qū)來(lái)創(chuàng)建文件系統(tǒng)。假如已經(jīng)有一個(gè)空的可用磁盤分區(qū),則跳到下一步。 以下是一個(gè)為 Linux 文件系統(tǒng)創(chuàng)建新分區(qū)的示例。(警告:對(duì)磁盤進(jìn)行錯(cuò)誤分區(qū)是刪除硬盤上所有內(nèi)容的最可靠、最快捷的方法之一。假如不確定如何分區(qū),請(qǐng)先停下來(lái),找人幫幫您,否則您將冒丟失數(shù)據(jù)的危險(xiǎn)。) 此示例使用 /dev/sdb(一個(gè)沒有分區(qū)的空 SCSI 磁盤)為整個(gè)磁盤 (36 GB) 創(chuàng)建單個(gè)分區(qū)。例如:# 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.現(xiàn)在驗(yàn)證新分區(qū):例如:# 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創(chuàng)建文件系統(tǒng) 使用 ext3 創(chuàng)建這個(gè)新的文件系統(tǒng)。也可以使用其他文件系統(tǒng),但 ext3 在系統(tǒng)崩潰時(shí)可提供最快的恢復(fù)。例如:# 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. 創(chuàng)建掛載點(diǎn) 文件系統(tǒng)必須有一個(gè)掛載點(diǎn),它只是一個(gè)空的目錄,新文件系統(tǒng)在這里與系統(tǒng)目錄樹“相連”。掛載點(diǎn)的命名應(yīng)遵循 Oracle 靈活結(jié)構(gòu) (OFA) 標(biāo)準(zhǔn)。有關(guān) OFA 標(biāo)準(zhǔn)的更多信息,請(qǐng)參閱 Oracle 10g 數(shù)據(jù)庫(kù)安裝指南 的附錄 D。 由于您已經(jīng)在第 1 部分中使用了 /u01 和 /u02 目錄名稱,因此在本示例中使用 /u03。例如:# mkdir /u03將新文件系統(tǒng)添加到 /etc/fstab 因此新文件系統(tǒng)將在系統(tǒng)啟動(dòng)時(shí)自動(dòng)掛載,您需要向描述新文件系統(tǒng)及其安裝位置的 /etc/fstab 文件中添加一行。使用文本編輯器向 /etc/fstab 中添加如下所示的一行。/dev/sdb1 /u03 ext3 defaults 1 1掛載新文件系統(tǒng) 文件系統(tǒng)掛載后就可以使用了。只有掛載了文件系統(tǒng),才能在其中存儲(chǔ)文件。使用以下命令掛載文件系統(tǒng)并驗(yàn)證它是否可用。mount /u03df -h /u03例如:# mount /u03# df -h /u03Filesystem Size Used Avail Use% Mounted on/dev/sdb1 33G 33M 31G 1% /u03創(chuàng)建 Oracle 目錄并設(shè)置權(quán)限 現(xiàn)在,創(chuàng)建一個(gè)用于存放 Oracle 文件的目錄。該示例中使用的目錄名遵循數(shù)據(jù)庫(kù)的 OFA 標(biāo)準(zhǔn)命名慣例,即 ORACLE_SID=demo1。mkdir -p /u03/oradata/demo1chown -R oracle:oinstall /u03/oradatachmod -R 775 /u03/oradata在新文件系統(tǒng)中創(chuàng)建一個(gè)新表空間 新文件系統(tǒng)已可以使用。接下來(lái),在文件系統(tǒng)中創(chuàng)建一個(gè)用于存儲(chǔ)數(shù)據(jù)庫(kù)對(duì)象的新表空間。以 SYSTEM 用戶身份連接到數(shù)據(jù)庫(kù),然后執(zhí)行 CREATE TABLESPACE 語(yǔ)句,并在新文件系統(tǒng)中指定數(shù)據(jù)文件。例如:$ 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.現(xiàn)在,可以使用此新表空間存儲(chǔ)數(shù)據(jù)庫(kù)對(duì)象,如表和索引。 例如: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.自動(dòng)存儲(chǔ)治理 (ASM) 我把最重要的內(nèi)容留在了最后。ASM 是 Oracle 數(shù)據(jù)庫(kù) 10g 中一個(gè)非常出色的新特性,它以平臺(tái)無(wú)關(guān)的方式提供了文件系統(tǒng)、邏輯卷治理器以及軟件 RAID 等服務(wù)。ASM 可以條帶化和鏡像磁盤,從而實(shí)現(xiàn)了在數(shù)據(jù)庫(kù)被加載的情況下添加或移除磁盤以及自動(dòng)平衡 I/O 以刪除“熱點(diǎn)”。它還支持直接和異步的 I/O 并使用 Oracle9i 中引入的 Oracle 數(shù)據(jù)治理器 API(簡(jiǎn)化的 I/O 系統(tǒng)調(diào)用接口)。 ASM 不是一個(gè)通用的文件系統(tǒng),并只能用于 Oracle 數(shù)據(jù)文件、重做日志以及控制文件。ASM 中的文件既可以由數(shù)據(jù)庫(kù)自動(dòng)創(chuàng)建和命名(通過(guò)使用 Oracle 治理文件特性),也可以由 DBA 手動(dòng)創(chuàng)建和命名。由于操作系統(tǒng)無(wú)法訪問(wèn) ASM 中存儲(chǔ)的文件,因此對(duì)使用 ASM 文件的數(shù)據(jù)庫(kù)執(zhí)行備份和恢復(fù)操作的唯一途徑就是通過(guò)恢復(fù)治理器 (RMAN)。 ASM 作為單獨(dú)的 Oracle 實(shí)例實(shí)施,只有它在運(yùn)行時(shí)其他數(shù)據(jù)庫(kù)才能訪問(wèn)它。在 Linux 上,只有運(yùn)行 OCSSD 服務(wù)(由 Oracle 通用安裝程序默認(rèn)安裝)才能使用 ASM。ASM 需要的內(nèi)存不多:對(duì)大多數(shù)系統(tǒng),只需 64 MB。 安裝 ASM 在 Linux 平臺(tái)上,ASM 可以使用原始設(shè)備,或通過(guò) ASMLib 接口治理的設(shè)備。出于易于使用和性能方面的原因,Oracle 建議在原始設(shè)備上使用 ASMLib。ASMLib 現(xiàn)在可以從 OTN 免費(fèi)下載。本部分逐步講解使用 ASMLib 配置一個(gè)簡(jiǎn)單 ASM 實(shí)例和構(gòu)建一個(gè)使用 ASM 進(jìn)行磁盤存儲(chǔ)的數(shù)據(jù)庫(kù)的全過(guò)程。 確定所需的 ASMLib 版本 ASMLib 以三個(gè) Linux 程序包組成的程序包集提供:
配置 ASMLib 使用 ASMLib 之前,必須運(yùn)行配置腳本以預(yù)備驅(qū)動(dòng)程序。以 root 用戶身份運(yùn)行以下命令,并響應(yīng)如下示例中所顯示的提示。# /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 ]現(xiàn)在,如下所示啟用 ASMLib 驅(qū)動(dòng)程序。 # /etc/init.d/oracleasm enableWriting Oracle ASM library driver configuration [ OK ]Scanning system for ASM disks [ OK ]為 ASM 配置磁盤 接下來(lái),告訴 ASM 驅(qū)動(dòng)程序您要使用的磁盤。請(qǐng)注重,這些磁盤是不包含任何內(nèi)容(甚至不包含分區(qū))的空磁盤。可以將磁盤分區(qū)用于 ASM,但建議您不要這樣做。 通過(guò)以 root 用戶身份運(yùn)行以下命令來(lái)標(biāo)記由 ASMLib 使用的磁盤:/etc/init.d/oracleasm createdisk DISK_NAME device_name(提示:DISK_NAME 應(yīng)由大寫字母組成。當(dāng)前版本有一個(gè)錯(cuò)誤,即假如使用小寫字母,ASM 實(shí)例將無(wú)法識(shí)別磁盤。)例如:# /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 ] 以下示例演示了如何列出標(biāo)記為由 ASMLib 使用的所有磁盤。# /etc/init.d/oracleasm listdisksVOL1VOL2VOL3VOL4VOL5VOL6既然已經(jīng)安裝了 ASMLib,且已將磁盤標(biāo)記為可用,下面,您便可以創(chuàng)建一個(gè) ASM 實(shí)例,并構(gòu)建一個(gè)使用 ASM 進(jìn)行磁盤存儲(chǔ)的數(shù)據(jù)庫(kù)。最輕易的方法就是使用數(shù)據(jù)庫(kù)配置助手 (DBCA) 來(lái)完成此操作。 以 oracle 身份登錄并啟動(dòng) DBCA:$ dbca
歡迎
單擊 Next。
操作
選擇 Create a Database。
數(shù)據(jù)庫(kù)模板
選擇 General Purpose。
數(shù)據(jù)庫(kù)標(biāo)識(shí)
輸入全局?jǐn)?shù)據(jù)庫(kù)名稱。
治理選項(xiàng)
選擇 Configure the Database with Enterprise Manager。