天天看點

在 Linux x86 上安裝 Oracle 資料庫 10g_4

 自動存儲管理 (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

确定所需的 ASMLib 版本

ASMLib 以三個 Linux 程式包組成的程式包集提供:

oracleasmlib - ASM 庫

oracleasm-support - 用于管理 ASMLib 的實用程式

oracleasm - ASM 庫的核心子產品

每個 Linux 發行套件都有其自己的 ASMLib 程式包集。在每個發行套件中,每個核心版本都有一個相應的 oracleasm 程式包。以下部分介紹如何确定所需的程式包集。

首先,以 root 使用者身份登入并運作以下指令來确定所使用的核心:

uname -rm

例如:

# uname -rm

2.4.9-e.27smp i686

該示例表明,這是一個使用 Intel i686 CPU 的 SMP(多處理器)系統的 2.4.9核心。

使用此資訊在 OTN 上查找相應的 ASMLib 程式包:

2.      選擇适用于您的 Linux 版本的連結。

3.      下載下傳适用于您的 Linux 版本的 oracleasmlib 和 oracleasm-support 程式包

4.      下載下傳與您的核心相對應的 oracleasm 程式包。對于以上示例,下載下傳 oracleasm-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%]

配置 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 <ENTER> 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 ]

現在,如下所示啟用 ASMLib 驅動程式。

# /etc/init.d/oracleasm enable

Writing Oracle ASM library driver configuration            [ 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/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 ]

以下示例示範了如何列出标記為由 ASMLib 使用的所有磁盤。

# /etc/init.d/oracleasm listdisks

VOL1

VOL2

VOL3

VOL4

VOL5

VOL6

既然已經安裝了 ASMLib,且已将磁盤标記為可用,下面,您便可以建立一個 ASM 執行個體,并建構一個使用 ASM 進行磁盤存儲的資料庫。最容易的方法就是使用資料庫配置助手 (DBCA) 來完成此操作。

以 oracle 身份登入并啟動 DBCA:

$ dbca

1.      歡迎

o        單擊 Next。

2.      操作

o        選擇 Create a Database。

3.      資料庫模闆

o        選擇 General Purpose。

4.      資料庫辨別

o        輸入全局資料庫名稱。

5.      管理選項

o        選擇 Configure the Database with Enterprise Manager。

o        選擇 Use Database Control for Database Management。

6.      資料庫證書

o        選擇 Use Same Password for All Accounts。

o        輸入密碼并确認。

7.      存儲選項

o        選擇 Automatic Storage Management (ASM)。

8.      建立 ASM 執行個體

o        輸入 ASM 執行個體的密碼并确認。

9.      彈出一個視窗,提示 DBCA 将立即建立并啟動 ASM 執行個體。

o        單擊 OK。

10.   建立 ASM 執行個體時彈出一個帶齒輪箱視窗。

11.   ASM 磁盤組

o        由于這是新 ASM 執行個體且您尚未建立任何 ASM 執行個體,是以該視窗未顯示可用磁盤組。

o        單擊 Create New。

12.   建立磁盤組

o        磁盤組名稱

- 輸入磁盤組名稱,如 DATA1。

o        備援

- High 鏡像資料兩次。

- Normal 鏡像資料一次。

- External 不鏡像 ASM 中的資料。如果外部 RAID 陣列提供備援,則通常使用此選項。

o        選擇成員磁盤

- 您必須手動訓示 ASM 到什麼地方查找 ASMLib 磁盤,是以,單擊 Change Disk Discovery Path

- 彈出一個視窗,提示輸入磁盤發現路徑。如下所示将磁盤發現路徑更改為“ORCL:*”。

- 單擊 OK 繼續。

o        您将傳回到 Select Member Disks 視窗。您的所有 ASMLib 磁盤現在應顯示在此視窗中。

單擊該行開頭的框,選擇加入磁盤組的磁盤。完成後單擊 OK。

13.   ASM 磁盤組

o        您将傳回到 ASM Disk Groups 視窗。此時,出現在上一步中建立的磁盤組。

o        單擊該行開頭的框選擇此磁盤組。(在此執行個體中使用單個磁盤組。)

14.   資料庫檔案位置

o        選擇 Use Oracle-Managed Files。

o        確定已将 Database Area 設定為您建立的磁盤組。它包含一個前導加号 — 例如,+DATA1。

15.   恢複配置

o        選擇 Specify Flash Recovery Area。

- 快速恢複區 — 輸入要用于快速恢複的 ASM 磁盤組。

- 快速恢複區大小 — 接受預設值 2048。

o        如果要使用歸檔日志模式,則選中 Enable Archiving。對于評估資料庫,可以不選該項。

16.   資料庫内容

o        選擇 Sample Schemas。

o        我們不使用定制腳本,是以單擊 Next。

17.   初始化參數

o        接受預設值,然後單擊 Next。

18.   資料庫存儲

19.   建立選項

o        選擇 Create Database(預設值)并單擊 Finish。

20.   确認

o        檢查完資料庫詳細資訊後單擊 OK。

21.   DBCA 顯示一個操作清單和一個進度條。根據硬體的不同,資料庫建立可能需要幾分鐘到幾小時的時間。

22.   當資料庫建立完成時,将顯示一個顯示摘要視窗。記下 Enterprise Manager URL,然後單擊 Exit。