oracle+prko+2006,在虛擬機下安裝配置Linux和Oracle

請在此處下載這一過程的支持文件。

Swingbench 是一個非正式的 GUI 負載生成工具,您可以

從 http://www.dominicgiles.com/swingbench.php 下載它。

為符合我們的路徑/實例名稱,此處的版本經過了稍加修改。

請查看以上網站以獲取 Swingbench 常見問題解答或更新。

通過版本 21g 的新增功能,您可以使用 GUI 負載驅動程序動態更改用戶負載

。 Swingbench GUI(而非 charbench)要求在高於分辨率

800x600 的條件下運行,才能正常查看所有 widget。

1. Oracle 10g 包含 Java 1.4.2,因此不必安裝它(跳到第 2 步),

但如果您沒有 Oracle 10g,則可以按如下所示安裝 Java:

安裝在 Sun 的網站上找到的 Java(軟件開發人員軟件包)或(Java 運行時環境)

: http://java.sun.com/j2se/1.4.2/download.html

# rpm -Uhv j2sdk-1_4_2_08-linux-i586.rpm 或 j2re-1_4_2_08-linux-i586.rpm

如果安裝有 Java(即未使用 10g 附帶的 Java),那您

需要編輯 ~oracle/swingbench21g/swingbench.env 以確保

JAVAHOME 正確。

2. 以 oracle 用戶身份安裝 swingbench:

a. 獲取 swingbench21g.zip

$ cd $HOME

$ unzip swingbench21g.zip

b. 確認正確設置了 swingbench 環境,查看

swingbench21g/swingbench.env

如果您按照簡明手冊中的說明執行操作,則將安裝所有內容,否則您需要修復

JAVAHOME、ORACLE_HOME 和 CLASSPATH

c. 運行 Order Entry 向導以將 Sales Order 模式加載到數據庫中

$ cd swingbench21g/bin

$ ./oewizard

i. 屏幕: “Welcome to the Order Entry Install Wizard”

單擊“Next”

ii. 屏幕: “Select Task”

選擇: “Create the Order Entry...”

單擊“Next”

iii. 屏幕: “Database Details”

使用瘦 JDBC 驅動程序(較慢):

連接字符串: raclinux1:1521:O10G1

連接類型: thin

使用 oci JDBC 驅動程序(較快):

連接字符串: O10G-TAF (負載平衡,TAF)

連接類型: oci

單擊“Next”

注意: 可以將兩個文件 oewizard-thin.xml 或 oewizard-oci.xml

復制到 oewizard.xml 以實現與通過 GUI 進行選擇相同的效果。

iv. 屏幕: “Schema Details”

檢查值

單擊“Next”

v. 屏幕: “All Details Entered”

單擊“Finish”

正在運行... (大約 6 分鍾)

vi. PopUP: “Order Entry Schema Created”

單擊“OK”

向導將關閉

vii. 為使 SOE 用戶能夠更簡單地執行操作,請授予它 dba 角色:

$ sqlplus "/ as sysdba"

SQL> grant dba to soe;

SQL> exit;

3. 測試 Swingbench 負載生成工具

a. 運行字符模式驅動程序或 Java GUI 控制面板

$ cd $HOME/swingbench21g/bin

$ ./charbench (字符模式驅動程序)

$ ./swingbench (Java GUI)

如果運行 GUI,請通過按窗口右上角的中間按鈕

兩次,以調整該窗口的大小。 現在,您可以在屏幕底部看到每分鍾

的事務總數。

該目錄中有多個 swingconfig*.xml 文件,

可以將這些文件復制到 swingconfig.xml 以測試不同的實例。

b. 要查看連接分配,請在此處獲取 count.sql 和 verify.sql

並將其放在主目錄中。

$ cd

$ sqlplus system/oracle@O10G-TAF @count

c. 驗證您連接到哪個實例:

$ cd

$ sqlplus system/oracle@O10G-TAF @verify1

注意,“FAILED_OVER”列將在故障切換之后更改為 YES。

4. 要模擬 TAF 故障切換,您可以終止一個實例

通過 O10G-TAF 生成的所有連接將重新建立,以恢復

實例,任何其他會話(不使用 TAF)將使用 ORA-3113 終止。

您將發現,在 10g 中,如果您終止 -9 dbwr 或 pmon,

該實例將崩潰;但過后不久,CRS 將重新啟動它!

這是在 swingbench 運行期間很有用的特性。

如果執行故障切換,則可能注意到 swingbench 窗口中的 ORA-25408 錯誤

這是正常的,原因是 TAF 只適用於 SELECTS 而不適用於 DML。

最初在筆記本電腦上運行 10 或 15 名用戶。 如果有大量內存

(1GB 或更多),則可以嘗試更多用戶。

可能的連接字符串(在 $ORACLE_HOME/network/admin/tnsnames.ora 中定義)

O10G1 連接到 O10G1 實例

O10G2 連接到 O10G2 實例

O10G-TAF 連接到啟用了 TAF 的 O10G1 或 O10G2

O10G-NOTAF 連接到禁用了 TAF 的 O10G1 或 O10G2

-- 完成

第 7 階段: 將 Oracle ASM 添加到現有數據庫此處下載該過程的支持文件。

通常在首次創建數據庫的過程中安裝/選擇 Oracle 自動存儲管理 (ASM),將它作為主

存儲

選件。 這種情況下,將在該時刻創建 ASM 實例,並且

隨后將由 ASM 管理所有的空間分配(包括 init.ora)

。 在本文的示例中,我們演示了一個更困難的情況,即將 ASM

功能實際添加到現有的非 ASM 數據庫中。 學習該方法的過程中,您將輕松了解

上述的更常用的主流方法。

首先,我們將准備將由 ASM 管理的空間。 為簡單起見,我們將 4 個磁盤划分為

等大的分區來模擬 4 個磁盤。

1. 使用 fdisk 將 /dev/sde 划分為 4 個分區:

以 root 的身份運行:

# fdisk /dev/sde

i. 命令: 鍵入“n”並按 ENTER。

ii.命令動作: 鍵入“p”並按 ENTER。

iii. 分區號: 鍵入“1”並按 ENTER。

iv. 起始柱面: 按 ENTER。

v. 結束柱面: +2000M。

重復以上步驟 3 次以上,每次分區號

遞增 1。

vi. 要寫分區表然后退出,請鍵入“write”

在實際的 RAC 配置中,其他所有節點將必須重新讀取

分區表更改。 最簡單的方法是重新啟動這些節點;請詢問

OS/供應商是否有破壞程度低一些的方法,通常情況下

rmmod 后跟 insmod 可以達到目的。

卸載並重新加載 I/O 設備驅動程序。

2. 在 Linux 上,ASM 可以直接使用 ASMLib 管理原始設備或塊設備

。 選擇以下某個方法:

a. 無 ASMLib: 配置原始設備(這是由於不使用 ASMLib)

i. 以 root 的身份運行 vi 或 nedit:

REDHAT: /etc/sysconfig/rawdevicesdevices

SUSE: /etc/raw

按如下所示添加每個原始設備的條目:

Red Hat 語法:

/dev/raw/raw11 /dev/sde1

/dev/raw/raw12 /dev/sde2

/dev/raw/raw13 /dev/sde3

/dev/raw/raw14 /dev/sde4

SUSE 語法:

raw11:sde1

raw12:sde2

raw13:sde3

raw14:sde4

ii. 以 root 身份啟動原始設備(確保它們在下次重新啟動時啟動)

RedHat:

# /etc/init.d/rawdevices restart

原始設備設置為在 Red Hat 上啟動時自動啟動。

驗證:

# chkconfig --list rawdevices

SUSE:

# /etc/init.d/raw start

# chkconfig -s raw 35 (重新啟動時自動啟動)

如果 CRS 已經啟動了兩個原始設備,則“rawdevices restart”

這兩個原始設備將顯示錯誤,但這屬於正常現象。 這只意味着 CRS

已經打開了這兩個原始設備,因此無法更改它們。

iii. 以 root 的身份修復所有節點的權限:

# chown oracle:dba /dev/raw/raw1[1-4]

特意使用了技巧性的命令,要學習一些 Linux 方面的知識...

檢查 raw11 到 raw14 的權限。

b. ASMLib: 配置以使用 ASMLib 訪問設備

i. 從以下位置下載 ASMLib rpm 文件:

http://www.oracle.com/technology/tech/linux/asmlib/index.html

獲取“用戶空間庫”、“驅動程序支持文件”、“內核的驅動程序”

ii. 以 root 的身份安裝 ASMLib:

# rpm -Uhv oracleasmlib-1.0.0-1.i386.rpm /

oracleasm-2.4.21-EL-1.0.3-1.i686.rpm /

oracleasm-support-1.0.3-1.i386.rpm

使用適合您的內核和版本的 rpms。 以上

是雙處理器 RHEL3 內核上的 Red Hat 的名稱。

iii. 以 root 的身份配置 ASM 一次:

# /etc/init.d/oracleasm configure

回答提示,答案為 oracle、dba、y、y

iv. 定義在第 1 步中創建的 4 個磁盤,以 root 的身份運行:

# /etc/init.d/oracleasm createdisk DISK1 /dev/sde1

# /etc/init.d/oracleasm createdisk DISK2 /dev/sde2

# /etc/init.d/oracleasm createdisk DISK3 /dev/sde3

# /etc/init.d/oracleasm createdisk DISK4 /dev/sde4

3. 運行“dbca”以創建 ASM 實例。 通常情況下,該步驟將在

創建主數據庫期間完成,方法是選擇 ASM 作為主要

存儲選項:

如果使用 RHEL-U1: 再次檢查您是否擁有 LD_ASSUME_KERNEL=2.4.19

RHAS2.1,RHEL3-U2 與 SLES8/9 不需要此環境設置。

$ env | grep LD_ASSUME

i. 選擇 RAC、Create Database、on raclinux1、Next、任何假數據庫名,

單擊“next”直到轉到第 7 步(共 16 步)。

ii. 選擇 Automatic Storage Management (ASM)、Next、oracle 作為

密碼、Next、OK

iii. 讓 DBCA 創建 ASM 實例

iv. 按“Create New”,輸入磁盤組名稱: MY_DG

如果使用 ASMLib: 將 Disk Discovery Path(右下方)更改為 ORCL:*

v. 無 ASMLib: 選擇要添加的設備 /dev/raw/raw11 與 12

ASMLib: 選擇要添加到使用正常冗余的 MY_DG 的 DISK1 和 DISK2

單擊“OK”。 (創建 ASM 磁盤組......)

vi. 退出 DBCA! 確認取消。

4. 注意,ASM 實例已經關閉,要啟動實例,請輸入以下命令:

$ srvctl start asm -n raclinux1

$ srvctl status asm -n raclinux1

5. (可選)為了完全模擬 RAC,可以該節點上再創建並啟動

ASM 實例。 通常,第二個 ASM 實例

將和第二個實例 O10G2 在在第二個節點運行。

要創建第二個 ASM 實例(不支持在一個節點上運行),請執行以下操作:

a. 編輯 /opt/oracle/DB10g/dbs/init+ASM1.ora 並添加以下兩行:

+ASM2.instance_number=2

+ASM2.local_listener=LISTENER_+ASM2

b. 為第二個 ASM 實例創建到該文件的符號鏈接:

$ ln -s init+ASM1.ora init+ASM2.ora

c. 為第二個 ASM 實例創建口令文件:

$ orapwd file=orapw+ASM2 password=oracle

d. 修復 /opt/oracle/DB10g/network/admin/tnsnames.ora:

i. 在 LISTENER_+ASM1 中只包含一個監聽器(端口 1521)

ii. 創建一個新的 LISTENER_+ASM2,包含第二個監聽器 (1522)

e. 將第二個 ASM 實例添加到 CRS 並啟動實例:

$ srvctl add asm -n raclinux1 -i +ASM2 -o /opt/oracle/DB10g/

$ srvctl start asm -n raclinux1 -i +ASM2

6. 由於我們並未創建一個位於 ASM 以外的新數據庫,因此我們

必須執行以下配置步驟:

a. 將現有實例修改為依賴於新創建的 ASM 實例,

這樣一來,如果 ASM 實例已關閉

而我們要嘗試啟動依賴於它的實例,CRS

將在嘗試啟動實例時自動啟動 ASM

$ srvctl modify instance -d O10G -i O10G1 -s +ASM1

$ srvctl modify instance -d O10G -i O10G2 -s +ASM2

注意: 如果只創建了一個 ASM 實例,請將兩個數據庫實例

同時設置為依賴於 +ASM1。

b. 由於出現錯誤,EM 將不會發現新的 ASM 目標。

以下演示了如何將它手動添加到 targets.xml(摘自版本說明):

$ emctl stop dbconsole

$ cd $ORACLE_HOME/raclinux1.us.oracle.com_O10G1/sysman/emd/

$ cp -p targets.xml targets.xml_before_ASM

$ emctl config agent addtarget `pwd`/targets-add-asm.xml

$ emctl start dbconsole

c.(可選)通過訪問以下網站進行測試: http://raclinux1.us.oracle.com:5500/em

登錄: sys/oracle as sysdba

單擊主頁面(左側)中的“crs”目標(集群)鏈接,

然后點擊頂部欄上的“Targets”,其中列出了所有目標,單擊 ASM

目標。

將數據文件添加到 ASM(下面)后,ASM 鏈接也將顯示:

單擊任何實例 O10G1 或 O10G2(主頁底部)

ASM 鏈接將位於左側。

7. 使數據庫可以偵測到 ASM 存儲器上的可用磁盤組

$ ORACLE_SID=O10G1 sqlplus "/ as sysdba"

SQL> ALTER SYSTEM SET DB_CREATE_FILE_DEST='+MY_DG' scope=both;

如果不使用 spfile 文件,只需刪除范圍,然后將該參數

添加到 initO10G1.ora 文件(initO10G2.ora 應使用符號鏈接鏈接它)。

使更改在第二個節點上生效,重新連接並輸入“ALTER

SYSTEM SET”命令或在更新 init.ora 后回彈 O10G2。

8. (可選)要使用 ASM 管理的存儲器內部的空間:

只需輸入(注意,未指定數據文件):

SQL> CREATE TABLESPACE ASM_TBS datafile size 10M;

9. (可選,推薦)在命令行模式下進行 ASM 再平衡演示,

(使用企業管理器的輸出將更好),

不使用 ASMLib 情況下的輸出:

i. 從 swingbench 中使用 oewizard,使用新添加的 ASM 存儲器創建一個新模式

$ swingbench21g/bin/oewizard

將用戶名、密碼和表空間設置為“SOE_ASM”

數據文件名稱為“+MY_DG”,它將使用 ASM 進行存儲。

ii. 啟動 Swingbench 並在 SOE_ASM 模式上運行 10 個用戶。

這將加載/更新 MY_DG 磁盤組(SOE_ASM 表空間)中的數據

在此過程中監視 Swingbench 的事務/分鍾。

iii. 監視 ASM 實例並操作磁盤組:

$ ORACLE_SID=+ASM1 sqlplus "/ as sysdba"

初始條件:

SQL> select state,header_status,substr(name,1,12) Name,free_mb,

substr(path,1,16) PATH from v$asm_disk;

STATE HEADER_STATU NAME FREE_MB PATH

-------- ------------ ------------ ---------- ----------------

NORMAL CANDIDATE 0 /dev/raw/raw14

NORMAL CANDIDATE 0 /dev/raw/raw13

NORMAL MEMBER MY_DG_0001 1812 /dev/raw/raw12

NORMAL MEMBER MY_DG_0000 1812 /dev/raw/raw11

SQL> select * from v$asm_operation; (no rows)

iv. 將兩個新磁盤添加到現有磁盤組中:

沒有 ASMLib:

SQL> alter diskgroup MY_DG add disk '/dev/raw/raw13'

SQL> alter diskgroup MY_DG add disk '/dev/raw/raw14'

ASMLib:

SQL> alter diskgroup MY_DG add disk 'ORCL:DISK3'

SQL> alter diskgroup MY_DG add disk 'ORCL:DISK4'

SQL> select state,header_status,substr(name,1,12) Name,free_mb,

substr(path,1,16) PATH from v$asm_disk;

STATE HEADER_STATU NAME FREE_MB PATH

-------- ------------ ------------ ---------- ----------------

NORMAL MEMBER MY_DG_0003 2445 /dev/raw/raw14

NORMAL MEMBER MY_DG_0002 1911 /dev/raw/raw13

NORMAL MEMBER MY_DG_0001 1812 /dev/raw/raw12

NORMAL MEMBER MY_DG_0000 1812 /dev/raw/raw11

SQL> select operation,state,power,actual,sofar,est_work,

est_minutes from v$asm_operation;

OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_MINUTES

----- ---- ---------- ---------- ---------- ---------- -----------

REBAL RUN 1 1 3 62 1

ASM 在添加新磁盤時重新平衡磁盤組。

v. 現在丟棄保存所有用戶數據的初始磁盤;觀察

ASM 將所有數據傳輸到新磁盤,從而使您可以

移除不需要的磁盤。 撤消操作立即完成,

傳輸數據操作在后台發生。

沒有 ASMLib:

SQL> alter diskgroup MY_DG drop disk my_dg_0000;

SQL> alter diskgroup MY_DG drop disk my_dg_0001;

ASMLib:

SQL> alter diskgroup MY_DG drop disk DISK1;

SQL> alter diskgroup MY_DG drop disk DISK2;

SQL> select state,header_status,substr(name,1,12) Name,free_mb,

substr(path,1,16) PATH from v$asm_disk;

STATE HEADER_STATU NAME FREE_MB PATH

-------- ------------ ------------ ---------- ----------------

NORMAL MEMBER MY_DG_0003 2335 /dev/raw/raw14

NORMAL MEMBER MY_DG_0002 1827 /dev/raw/raw13

DROPPING MEMBER MY_DG_0001 1860 /dev/raw/raw12

DROPPING MEMBER MY_DG_0000 1867 /dev/raw/raw11

注意,raw11 和 raw12 標記為 DROPPING..

SQL> select operation,state,power,actual,sofar,est_work,

est_minutes from v$asm_operation;

OPERA STAT POWER ACTUAL SOFAR EST_WORK EST_MINUTES

----- ---- ---------- ---------- ---------- ---------- -----------

REBAL RUN 1 1 7 233 0

以上是重新平衡操作,用於卸載已丟棄的磁盤中的數據

操作完成時,磁盤標記為 FORMER

成員,這意味着可以移除它們或重新用於空間。

SQL> select state,header_status,substr(name,1,12) Name,free_mb,

substr(path,1,16) PATH from v$asm_disk;

STATE HEADER_STATU NAME FREE_MB PATH

-------- ------------ ------------ ---------- ----------------

NORMAL FORMER 0 /dev/raw/raw11

NORMAL FORMER 0 /dev/raw/raw12

NORMAL MEMBER MY_DG_0003 2303 /dev/raw/raw14

NORMAL MEMBER MY_DG_0002 1769 /dev/raw/raw13

在本演示中,性能根本不受影響;

每分鍾的事務數應保持不變。

-- 完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值