單機安裝Oracle RAC (zt)

tolywang發表於2005-01-26

本文的試驗環境:

硬體 hp 伺服器,1G 記憶體,120G 硬碟

OSWindows2000 advance server

Vmware: 800M 記憶體,10G 硬碟,        red hat advance server 3.0

Oracle: Oracle 9i Realease 2    9.2.0.4 


安裝wmware上的rhel 3.0這裡不詳細的說明

把下載了的oracle 9204 的三個檔案ftp redhat上面去。

 

按照Oracle的安裝指南,設定好oracle的環境,目錄,oracle使用者,環境變數等等。

注意,我選的是比較高版本的linux oracle,否則又是要打這個補丁,那個補丁,很麻煩。

但是,在安裝oracle之前,需要以root登入,打上 3006854號補丁。

檔名稱是p3006854_9204_linux.zip。這個是我安裝過程中唯一打過的補丁。

 

su – root

unzip p3006854_9204_linux.zip

 

cd 3006854

./rhel3_pre_install.sh

 

如果安裝報告以下錯誤:

-bash: ./rhel3_pre_install.sh Permission denied

修改下許可權

chmod +x *.sh

 

下面開始進行RAC的安裝

 

一.           安裝 OCM( Oracle Cluster Manager)

 

首先需要生成一個Quorum Disk File,因為我們是單機,所以需要用命令來生成一個

dd if=/dev/zero of=/u02/rac/Racfile bs=1024 count=1024

這個檔案至少需要4+(4*number_of_node)KB,我們給它1M,足夠了。

 

 

oracle安裝的原檔案解壓縮,這個時候,就可以執行安裝ocm

./runInstaller

在產品選擇畫面,選擇 Oracle Cluster Manager,

出現Public Node Information 的時候,填好本機的hostname,也就是hostname 命令返回的值。因為是單機,只要填寫第一個,同樣,在Private Node Information中,也填寫hostname

在出現Quorum Disk Information選項的時候,填寫剛才生成的檔案/u02/rac/RacFile

 

二配置RAC,並且啟動

 

我們需要啟動oracm服務

首先我們要啟動hangcheck_timer

載入hangcheck-timer

insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

 

確認模組已經載入:

lsmod | grep hang

為了在系統啟動自動載入,我們在/etc/rc.local檔案加入

/sbin/insmod hangcheck-timer hangcheck_tick=30 hangcheck_margin=180

 

下面準備啟動ocm的指令碼

ORACLE_HOME目錄下面的oracm目錄下面有admin目錄

下面有個檔案cmcfg.ora.tmp

cp cmcfg.ora.tmp cmcfg.ora

並且修改成

 

HeartBeat=15000

ClusterName=Oracle Cluster Manager, version 9i

PollInterval=1000

MissCount=210

PrivateNodeNames=hp-linux

PublicNodeNames=hp-linux

ServicePort=9888

CmDiskFile=/u02/rac/RacFile

KernelModuleName=hangcheck-timer

下面要以root來執行指令碼

su

cd $ORACLE_HOME/oracm/bin

./ocmstart.sh

 

 

現在就已經完成ocm的啟動了

 

.安裝oracle 軟體

 

這個沒有什麼好說的,oracle 安裝好,我選擇了不建立資料庫.

 

 

四準備建立資料庫

 

在建立資料庫之前,要啟動公共服務程式.

oracle使用者身份執行

gsdctl start

我選擇了dbca來建立資料庫,它能找到節點.如果找不到節點,說明ocm安裝失敗,或者啟動失敗

 

五配置監聽和服務名

 

我是使用netca 建立了兩個監聽,一個是rac1,一個是rac2

listerer.ora的內容

 

# LISTENER.ORA.HP-LINUX Network Configuration File: /opt/oracle/product/9.2.0/network/admin/listener.ora.hp-linux

# Generated by Oracle configuration tools.

 

SID_LIST_RAC2 =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /opt/oracle/product/9.2.0)

      (PROGRAM = extproc)

    )

  )

 

SID_LIST_RAC1 =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /opt/oracle/product/9.2.0)

      (PROGRAM = extproc)

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

      )

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

      )

    )

  )

 

RAC2 =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1523))

      )

    )

  )

 

RAC1 =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS_LIST =

        (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1522))

      )

    )

  )

 

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (SID_NAME = PLSExtProc)

      (ORACLE_HOME = /opt/oracle/product/9.2.0)

      (PROGRAM = extproc)

    )

    (SID_DESC =

      (ORACLE_HOME = /opt/oracle/product/9.2.0)

      (SID_NAME = rac1)

    )

  )

 

tnsnames.ora的內容

# TNSNAMES.ORA Network Configuration File: /opt/oracle/product/9.2.0/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

 

LISTENERS_RAC =

  (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

  )

 

LISTENER_RAC1 =

  (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

 

 

RAC1 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

    (CONNECT_DATA =

      (SERVICE_NAME = rac)

      (INSTANCE_NAME = rac1)

    )

  )

 

INST1_HTTP =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = SHARED)

      (SERVICE_NAME = MODOSE)

      (PRESENTATION = )

    )

  )

 

RAC =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = rac)

    )

  )

 

RAC2 =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = hp-linux)(PORT = 1521))

    (CONNECT_DATA =

      (SERVICE_NAME = rac)

      (INSTANCE_NAME = rac2)

    )

  )

 

 

EXTPROC_CONNECTION_DATA =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))

    )

    (CONNECT_DATA =

      (SID = PLSExtProc)

      (PRESENTATION = RO)

    )

  )

 

 

 

,啟動資料庫

安裝完成後,應該就可以啟動第一個例項了.

我的初試化引數檔案的內容是這樣的

 

*.aq_tm_processes=1

*.background_dump_dest='/opt/oracle/admin/rac/bdump'

*.cluster_database_instances=2

*.cluster_database=true

*.compatible='9.2.0.0.0'

*.REMOTE_LOGIN_PASSWORDFILE = NONE

*.control_files='/opt/oracle/oradata/rac/control01.ctl','/opt/oracle/oradata/rac/control02.ctl','/opt/oracle/oradata/rac/control03.ctl'

*.core_dump_dest='/opt/oracle/admin/rac/cdump'

*.db_block_size=8192

*.db_cache_size=33554432

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='rac'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=racXDB)'

*.fast_start_mttr_target=300

*.hash_join_enabled=TRUE

rac1.instance_name='rac1'

rac2.instance_name='rac2'

rac1.instance_number=1

rac2.instance_number=2

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84269/,如需轉載,請註明出處,否則將追究法律責任。

相關文章