Oracle11gR2RAC+ASM For Vm9 RHEL5.8X64

【讓學習oracle前進一步】


一、實驗環境

1.1、IP地址規劃

網卡名

節點名

IP地址 

網卡類型

別名

Eth0

ctpdb1

172.17.80.11

private

ctpdb1-priv

vm2

Eth1

ctpdb1

192.168.1.11

public

ctpdb1

Host-only

ctpdb1

192.168.1.111

virtual

ctpdb1-vip

ctpdb1

192.168.1.10

rac-cluster

Eth0

ctpdb2

172.17.80.12

private

ctpdb2-priv

vm2

Eth1

ctpdb2

192.168.1.12

public

ctpdb2

Host-only

ctpdb2

192.168.1.112

virtual

ctpdb2-vip

#------------------------------------------------

1.2、主機信息

節點1:/etc/hosts

192.168.1.11ctpdb1

192.168.1.111      ctpdb1-vip

172.17.80.11       ctpdb1-priv

192.168.1.12ctpdb2

192.168.1.112      ctpdb2-vip

172.17.80.12       ctpdb2-priv

192.168.1.10      ctpdb-cluster

#------------------------------------------------

節點2:/etc/hosts

192.168.1.11ctpdb1

192.168.1.111      ctpdb1-vip

172.17.80.11       ctpdb1-priv

192.168.1.12ctpdb2

192.168.1.112     ctpdb2-vip

172.17.80.12       ctpdb2-priv

192.168.1.10      ctpdb-cluster

#------------------------------------------------

1.3、基礎信息

systemOS:rhel 5.8x64kernel:2.6.18-308

media: p10404530_112030_Linux-x86-64_1of7.zip(oracle)

       p10404530_112030_Linux-x86-64_2of7.zip(oracle)

       p10404530_112030_Linux-x86-64_3of7.zip(grid)

version:Oracle 11.2.0.3

asm:oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm

   oracleasmlib-2.0.4-1.el5.x86_64.rpm

   oracleasm-support-2.1.7-1.el5.x86_64.rpm

VM:VMware Workstation9.0

1.4、分區規劃

1.4.1 節點1複製到節點2,來實現操作系統一致性。

1.4.2 共享磁盤:通過手動修改ctpdb1.vmx來實現。

1.4.3 磁盤信息

RAC1  hostname  ctpdb1 共40G,mem 2G,SWAP4G, boot 100M ,/剩餘

RAC2  hostname  ctpdb2 共40G,mem 2G,SWAP4G ,boot 100M, /剩餘

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

二、安裝虛擬機操作系統、創建共享磁盤

2.1 使用wmwareworkstation 9

2.2選擇安裝linux

節點1、節點2分別存放F盤下vm_ctpdb1/vm_ctpdb2

2.3磁盤格式,選擇SCSI

2.4添加虛擬機共享硬盤,分區如下

2.4.1添加1/3OCR磁盤,大小爲:1G

2.4.2修改磁盤節點名稱爲:ocr1.vmdk,節點爲:SCSI1:0


2.5注:以上述方式分別添加和修改如下磁盤:

2.5.1添加2/3OCRGROUP,大小爲:1G,名稱爲:ocr2.vmdk, 節點爲:SCSI1:1;

2.5.2添加3/3 OCRGROUP,大小爲:1G,名稱爲:ocr3.vmdk, 節點爲:SCSI1:2;

2.5.3添加1/3DATAGROUP,大小爲:10G, 名稱爲:data1.vmdk, 節點爲:SCSI1:3;

2.5.4添加2/3DATAGROUP,大小爲:10G, 名稱爲:data2.vmdk,節點爲:SCSI1:4;

2.5.4添加3/3DATAGROUP,大小爲:10G, 名稱爲:data3.vmdk,節點爲:SCSI1:5;

2.5.5添加1/2ARCHGROUP,大小爲:5G, 名稱爲:arch1.vmdk,節點爲:SCSI1:6;

2.5.6添加2/2ARCHGROUP,大小爲:5G, 名稱爲:arch2.vmdk,節點爲:SCSI1:8;

注:SCSI1:7已經被佔用;

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

2.6RMAN和DUMP備份數據存於/u02下EXT3文件系統下。

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

2.7磁盤組介紹

CRSGROUP (集羣軟件)

VOTE1 1G   scsi1:0

VOTE2 1G   scsi1:1

VOTE3 1G   scsi1:2

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

DATAGROUP (數據文件)

DATA1 10G  scsi1:3

DATA2 10G  scsi1:4

DATA3 10G  scsi1:5

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

ARCHGROUP (歸檔日誌)

ARCH1 5G   scsi1:6 

ARCH2 5G   scsi1:8 //1:7被佔用

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

三、修改虛擬機操作系統基本參數

3.1在節點1安裝linux 操作系統,安裝完成後複製成節點2即可。

注:3.1.1操作系統怎麼裝,不在介紹。

    3.1.2iptables和selinux 設置爲關閉狀態。

3.2在節點1刷掉不用的服務和無效的賬號,從而提高系統的性能和安全。

以root用戶執行以下命令:

chkconfig anacron off

chkconfig atd off

chkconfig autofs off

chkconfig cups off

chkconfig cups-config-daemon off

chkconfig firstboot off

chkconfig haldaemon off

chkconfig isdn off

chkconfig kudzu off

chkconfig netfs off

chkconfig nfslock off

chkconfig pcmcia off

chkconfig portmap off

chkconfig rpcgssd off

chkconfig rpcidmapd off

chkconfig sendmail off

chkconfig smartd off

chkconfig snmpd off

chkconfig avahi-daemon off

#--------------------------------------

userdel adm

userdel lp

userdel sync

userdel shutdown

userdel halt

userdel news

userdel uucp

userdel operator

userdel gopher

#--------------------------------------

3.3關閉NTP服務,使用oracle的ctssd服務器進行時間同步。

service ntpd stop

chkconfig ntpd off

mv /etc/ntp.conf /etc/ntp.conf.org

rm /var/run/ntpd.pid

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

3.4開始在ctpdb1節點配置環境,以root用戶

3.4.1修改hosts文件

192.168.1.11ctpdb1

192.168.1.111      ctpdb1-vip

172.17.80.11       ctpdb1-priv

192.168.1.12ctpdb2

192.168.1.112      ctpdb2-vip

172.17.80.12       ctpdb2-priv

192.168.1.10      ctpdb-cluster

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

3.4.2 vi /etc/security/limits.conf 

grid               soft    nproc  2047

grid               hard    nproc  16384

grid               soft   nofile  1024

grid               hard    nofile 65536

oracle             soft    nproc  2047

oracle             hard    nproc  16384

oracle             soft    nofile 1024

oracle             hard    nofile 65536

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

3.4.5 vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

sysctl -p 使其立即生效

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

3.4.6 vi/etc/pam.d/login 

session         required        /lib/security/pam_limits.so

5.5 vi /etc/profile

if [ $USER = "oracle"  ]||[ $USER = "grid" ];then

       if [ $SHELL = "/bin/ksh" ];then

                ulimit -p 16384

                ulimit -n 65536

       else

                ulimit -u 16384 -n 65536

       fi

fi

###################

---------------------------------------------------------------------四、創建用戶和用戶環境變量

4.1創建用戶

groupadd oinstall

groupadd dba

groupadd oper

groupadd asmadmin

groupadd asmdba

groupadd asmoper

useradd -g oinstall -G dba,asmdba,oper -d/home/oracle oracle

useradd -g oinstall -Gdba,asmadmin,asmdba,asmoper -d /home/grid grid

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

4.2創建oracle使用到的目錄結構,並賦予相應的屬性。

mkdir -p /u01/app/11.2.0/grid

mkdir -p /u01/app/grid

mkdir -p/u01/app/oracle/product/11.2.0/db_1

mkdir -p /u02/rman

chown -R grid:oinstall /u01

chown -R oracle:oinstall /u01/app/oracle

chown -R oracle:oinstall /u02

chmod -R 775 /u01

chmod -R 775 /u02

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

4.3創建oracle用戶和grid用的環境變量,等節點2複製完後,需要做相應更改。

注:SID環境

oracle RAC SID

ctpdb1

ctpdb2

集羣實例名:

ctpdb

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

4.4 root用戶執行

su - oracle

vi .bash_profile

export ORACLE_HOSTNAME= ctpdb1

ORACLE_SID= ctpdb1;export ORACLE_SID

ORACLE_BASE=/u01/app/oracle;exportORACLE_BASE

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1;exportORACLE_HOME

ORACLE_TERM=xterm;export ORACLE_TERM

NLS_DATA_FORMAT="DD-MON-YYYYHH24:MI:SS";export NLS_DATA_FORMAT

TNS_ADMIN=$ORACLE_HOME/network/admin;exportTNS_ADMIN

ORA_NLS11=$ORACLE_HOME/nls/data;exportORA_NLS11

PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin

PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:usr/local/bin

PATH=${PATH}:/u01/app/common/oracle/bin

export PATH


LD_LIBRARY_PATH=$ORACLE_HOME/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH


CLASSPATH=$ORACLE_HOME/JRE

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib

CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib

export CLASSPATH

THREADS_FLAG=native;export THREADS_FLAG

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

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

4.5 root用戶登錄

su - grid

vi .bash_profile

export ORACLE_HOSTNAME= ctpdb1

ORACLE_SID=+ASM1;export ORACLE_SID

ORACLE_BASE=/u01/app/grid;exportORACLE_BASE

ORACLE_HOME=/u01/app/11.2.0/grid;exportORACLE_HOME

ORACLE_TERM=xterm;export ORACLE_TERM

NLS_DATA_FORMAT="DD-MON-YYYYHH24:MI:SS";export NLS_DATA_FORMAT

PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin

PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:usr/local/bin

PATH=${PATH}:/u01/app/common/oracle/bin

export PATH


LD_LIBRARY_PATH=$ORACLE_HOME/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib

LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib

export LD_LIBRARY_PATH

export CLASSPATH

THREADS_FLAG=native;export THREADS_FLAG

export TEMP=/tmp

export TMPDIR=/tmp

umask 022

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

4.6root用戶檢查rpm包是否符合要求(可通過get_rpm.sh腳本掃描,見附件)。

注:若不符合,則由系統安裝iso文件,找到該rpm包,

執行:rpm -ivh  安裝即可。如:

mkdir /cdrom

mount /dev/cdrom /cdrom

cd /cdrom/Server

rpm -ivh libaio-devel-0.3.106-5.*

rpm -ivh libstdc++-devel-4.1.2-52.el5.*

rpm -ivh sysstat-7.0.2-11.el5.x86_64.rpm

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

五、複製虛擬機,通過修改虛擬機文件是共享磁盤生效

注:【重點】如果此項修改失敗或有問題,將導致整個環境無法完成。

5.1複製節點1到新的節點2。

注:複製後,將節點1臨時重命名,避免複製的節點2會讀取節點1數據。

5.2文本編輯節點1下的ctpdb1.vmx文件改共享磁盤組

shutdown -h now 關掉節點1

新增:

注:修改前備份ctpdb1.vmx文件。

disk.locking = "false"

diskLib.dataCacheMaxSize = "0"

diskLib.dataCacheMaxReadAheadSize ="0"

diskLib.DataCacheMinReadAheadSize ="0"

diskLib.dataCachePageSize ="4096"

diskLib.maxUnsyncedWrites = "0"

scsi1.sharedBus = "virtual"

scsi2.sharedBus = "virtual"

scsi0:0.mode ="independent-persistent"

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

5.3在複製後的 ctpdb2目錄內,將所有ctpdb1的文件名改爲 ctpdb2,並將目錄改爲vm_ctpdb2,

注:否則ctpdb 2會找ctpdb 1的文件運行虛擬機。

5.4修改節點2的ctpdb2.vmx虛擬機配置文件。

5.4.1將ctpdb2.vmx內,所有ctpdb1字符串改爲ctpdb2。

5.5編輯網卡參數。(具體參考附件)

5.5.1將:ethernet0.generatedAddress= "00:0c:29:32:7b:c9"

改爲:ethernet0.generatedAddress= "00:0c:29:32:b7:c9"

5.5.2將:ethernet1.generatedAddress= "00:0C:29:32:7B:D3"

改爲:ethernet1.generatedAddress= "00:0c:29:32:b7:d3"

5.5.3將:uuid.location= "56 4d f0 6c 1a 13 d8 90-9c dd ca 11 59 32 7b c9"

改爲:uuid.location ="56 4d 81 1b 7f cb f2 b1-0c 00 23 1f f2 bd b7 ff"

5.5.4將:uuid.bios= "56 4d f0 6c 1a 13 d8 90-9c dd ca 11 59 32 7b c9"

改爲:uuid.bios = "56 4df0 6c 1a 13 d8 90-9c dd ca 11 59 32 b7 c9"

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

5.6啓動節點2,並修改虛擬機網卡配置文件的MAC地址

以root用戶執行

vi/etc/sysconfig/network-scripts/ifcfg-eth0/eth1

5.6.1將:HWADDR=00:0C:29:32:7B:C9

改爲:HWADDR=00:0C:29:32:B7:C9

5.6.2將:HWADDR=00:0C:29:32:7B:D3

改爲:HWADDR=00:0C:29:32:B7:D3

5.7在節點2修改虛擬機網卡的IP地址

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

5.7.1以root用戶執行

vi /etc/sysconfig/network-scripts/ifcfg-eth0/eth1

將:172.17.80.11 

改爲:172.17.80.12

將:192.168.1.11

改爲:192.168.1.12

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

5.8在節點2修改主機名

以root用戶執行

5.8.1vi /etc/sysconfig/network

HOSTNAME=ctpdb2

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

六、設置ssh信任關係

6.1分別給節點1、2的oracle和grid創建密碼。

passwd oracle 

passwd grid

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

6.2調通節點1、節點2的通信關係。

[root@ctpdb1 ~]# ping ctpdb1

64 bytes from ctpdb1 (192.168.1.11):icmp_seq=1 ttl=64 time=0.027 ms

[root@ctpdb1 ~]# ping ctpdb2

64 bytes from ctpdb2 (192.168.1.12):icmp_seq=1 ttl=64 time=1.73 ms

[root@ctpdb2 ~]# ping ctpdb1

64 bytes from ctpdb1 (192.168.1.11):icmp_seq=1 ttl=64 time=0.305 ms

[root@ctpdb2 ~]# ping ctpdb2

64 bytes from ctpdb2 (192.168.1.12):icmp_seq=1 ttl=64 time=0.026 ms

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

6.3建SSH信任關係,oracle和grid用戶

6.3.1節點1、2的oracle和grid用戶都要執行

ssh-keygen -t rsa

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

6.3.2節點1

cp  id_rsa.pub authorized_keys

scp authorized_keys oracle@ctpdb2:~/.ssh

rm authorized_keys

6.3.3節點2

cat id_rsa.pub >> authorized_keys

scp authorized_keys oracle@ctpdb1:~/.ssh

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

6.3.4在節點1、2分別在oracle和grid用戶都要執行

ssh ctpdb1 date

ssh ctpdb1-priv date

ssh ctpdb2 date

ssh ctpdb2-priv date

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

七、建立分區

注:對物理磁盤進行分區,但不做格式化

7.1以root用戶,節點1

[root@ctpdb1 ~]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes

255 heads, 63 sectors/track, 5221 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System

/dev/sda1  *           1          13      104391  83  Linux

/dev/sda2              14         535    4192965   82  Linux swap / Solaris

/dev/sda3             536        5221   37640295   83  Linux


Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System


Disk /dev/sdc: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System


Disk /dev/sdd: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System


Disk /dev/sde: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System


Disk /dev/sdf: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System


Disk /dev/sdg: 10.7 GB, 10737418240 bytes

255 heads, 63 sectors/track, 1305 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System


Disk /dev/sdh: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System


Disk /dev/sdi: 5368 MB, 5368709120 bytes

255 heads, 63 sectors/track, 652 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System   

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

7.2root用戶執行,只需要在節點1上執行。

fdisk -l|grep dev

Disk /dev/sdb: 1073 MB, 1073741824 bytes

Disk /dev/sdc: 1073 MB, 1073741824 bytes

Disk /dev/sdd: 1073 MB, 1073741824 bytes

Disk /dev/sde: 10.7 GB, 10737418240 bytes

Disk /dev/sdf: 10.7 GB, 10737418240 bytes

Disk /dev/sdg: 10.7 GB, 10737418240 bytes

Disk /dev/sdh: 5368 MB, 5368709120 bytes

Disk /dev/sdi: 5368 MB, 5368709120 bytes

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

7.3root用戶分別對以上磁盤執行:

[root@ctpdb1 ~]# fdisk /dev/sdb 


Command (m for help): p


Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System


Command (m for help): n

Command action

  e   extended

  p   primary partition (1-4)

p

Partition number (1-4): 1

First cylinder (1-130, default 1): 

Using default value 1

Last cylinder or +size or +sizeM or +sizeK(1-130, default 130): 

Using default value 130


Command (m for help): p


Disk /dev/sdb: 1073 MB, 1073741824 bytes

255 heads, 63 sectors/track, 130 cylinders

Units = cylinders of 16065 * 512 = 8225280bytes


  Device Boot      Start         End      Blocks  Id  System

/dev/sdb1               1         130    1044193+  83  Linux


Command (m for help): w

The partition table has been altered!


Calling ioctl() to re-read partition table.


WARNING: Re-reading the partition tablefailed with error 16: Device or resource busy.

The kernel still uses the old table.

The new table will be used at the nextreboot.

Syncing disks. 

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

7.4root用戶分別在節點1、節點2執行分區檢查。 

[root@ctpdb1 ~]# fdisk -l >fdisk1.log

[root@ctpdb2 ~]# fdisk -l >fdisk2.log

[root@ctpdb1 ~]#scp fdisk1.log  root@ctpdb2:~/

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

7.5root用戶在節點2上對比,確保無差異,

[root@ctpdb2 ~]# diff fdisk1.log fdisk2.log

即:虛擬機環境下的RAC環境基礎已經完成大半。

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

八、配置ASMLib和創建ASM磁盤 

8.1 root用戶分別在節點1、節點2執行安裝oracleasm

[root@ctpdb1 oracleasm]# uname -rm

2.6.18-308.el5 x86_64

[root@ ctpdb1 oracleasm]# ls

oracleasm-2.6.18-308.el5-2.0.5-1.el5.x86_64.rpm  

注:版本務必與kernel版本一致。

oracleasm-support-2.1.7-1.el5.x86_64.rpm

oracleasmlib-2.0.4-1.el5.x86_64.rpm

[root@ ctpdb1 oracleasm]# rpm -ivh *.rpm

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

8.2 root用戶分別在節點1、節點2執行

/etc/init.d/oracleasm configure

Configuring the Oracle ASM library driver.

This will configure the on-boot propertiesof the Oracle ASM library

driver. The following questions will determine whether the driver is

loaded on boot and what permissions it willhave.  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[grid]: grid

Default group to own the driver interface[asmadmin]:asmadmin

Start Oracle ASM library driver on boot(y/n) [y]: y

Scan for Oracle ASM disks on boot (y/n)[y]:y

Writing Oracle ASM library driverconfiguration: done

Initializing the Oracle ASMLib driver:[  OK ]

Scanning the system for Oracle ASMLibdisks: [  OK  ]

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

8.3建立ASM磁盤

8.3.1檢查系統磁盤

[root@ctpdb1 ~]# fdisk -l |grep dev |grepLinux |grep -v sda

/dev/sdb1               1         130    1044193+  83  Linux

/dev/sdc1               1         130    1044193+  83  Linux

/dev/sdd1               1         130    1044193+  83  Linux

/dev/sde1               1        1305   10482381   83  Linux

/dev/sdf1               1        1305   10482381   83  Linux

/dev/sdg1               1        1305   10482381   83  Linux

/dev/sdh1               1         652    5237158+  83  Linux

/dev/sdi1               1         652    5237158+  83  Linux

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

8.3.2只需在節點1執行

[root@ctpdb1 ~]# oracleasm createdisk VOTE1/dev/sdb1

Writing disk header: done

Instantiating disk: done

[root@ctpdb1 ~]# oracleasm createdisk VOTE2/dev/sdc1

Writing disk header: done

Instantiating disk: done

[root@ctpdb1 ~]# oracleasm createdisk VOTE3/dev/sdd1

Writing disk header: done

Instantiating disk: done

[root@ctpdb1 ~]# oracleasm createdisk DATA1/dev/sde1

Writing disk header: done

Instantiating disk: done

[root@ctpdb1 ~]# oracleasm createdisk DATA2/dev/sdf1

Writing disk header: done

Instantiating disk: done

[root@ctpdb1 ~]# oracleasm createdisk DATA3/dev/sdg1

Writing disk header: done

Instantiating disk: done

[root@ctpdb1 ~]# oracleasm createdisk ARCH1/dev/sdh1

Writing disk header: done

Instantiating disk: done

[root@ctpdb1 ~]# oracleasm createdisk ARCH2/dev/sdi1

Writing disk header: done

Instantiating disk: done

[root@ctpdb1 ~]#

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

8.3.3root用戶分別在節點1、節點2查看和掃描磁盤

oracleasm listdisks

oracleasm scandisks 

注:節點2會在磁盤掃描後顯示和節點1相同的磁盤信息,務必確保正確、一致。

[root@ctpdb2 oracleasm]# oracleasmlistdisks

[root@ctpdb2 oracleasm]# oracleasmscandisks

Reloading disk partitions: done

Cleaning any stale ASM disks...

Scanning system for ASM disks...

Instantiating disk "VOTE1"

Instantiating disk "VOTE2"

Instantiating disk "VOTE3"

Instantiating disk "DATA1"

Instantiating disk "DATA2"

Instantiating disk "DATA3"

Instantiating disk "ARCH1"

Instantiating disk "ARCH2"

[root@ctpdb2 oracleasm]# oracleasmlistdisks

ARCH1

ARCH2

DATA1

DATA2

DATA3

VOTE1

VOTE2

VOTE3

[root@ctpdb2 oracleasm]#

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

九、在節點1上執行安裝grid

注、只需要節點1,節點2有oracle通過ssh自動同步。

9.1使用oracle用戶上傳以下介質到/u02下。

p10404530_112030_Linux-x86-64_1of7.zip

p10404530_112030_Linux-x86-64_2of7.zip

p10404530_112030_Linux-x86-64_3of7.zip

9.2配置Xmanager 圖形界面連接ctpdb1的oracle用戶和grid用戶

關於:配置Xmanager 圖形界面參考:

http://linuxxx.blog.51cto.com/1824808/1040165

9.3以grid用戶登錄節點1,cd /u02,執行

unzip  p10404530_112030_Linux-x86-64_3of7.zip

cd grid

執行:./runInstaller啓動圖形化安裝嚮導界面

9.4選擇Skipsoftware updates

9.5選擇for aCluster

9.6選擇TypicalInstallation 典型安裝

9.7點擊add添加節點2的配置信息(圖片有個cptdb2-vip錯誤,正確爲ctpdb2-vip)

9.8擊Identifynetwork interfaces 指定網絡接口

注:配置Private 和Public地址,其他地址可設置爲Do Not Use.

9.9點擊SSHConnectivity 測試節點1到節點2的SSH功能。

輸入grid的密碼,點擊test即可。

9.10選擇ClusterRegistry Storage Type 類型爲:Oracle Automatic StorageManagement,並設置sysasm password爲:grid

注:無視此問題,點擊yes(因爲密碼太簡單的原因)

9.11設置Disk groupname爲:CRSGROUP,Redundancy 爲:Extrnal模式。

9.12選擇InventoryDirectory爲:/u01/app/oraInventory(一般默認即可)

9.13節點1安裝環境信息檢查。

9.13.1cvuqdisk-1.0.9-1,此rpm包在/u02/grid/rpm,使用root 用戶 

rpm -ivh cvuqdisk-1.0.9-1.rpm

9.13.2scp rpm -ivh cvuqdisk-1.0.9-1.rpm  root@ctpdb2:~/ 

9.13.3root用戶在節點2上,執行cvuqdisk-1.0.9-1.rpm即可。

注:忽略resolv.conf文件問題。選擇Ignore all,點擊Next, 點擊yes跳過,點擊install安裝。

9.14以root用戶在節點1、2分別執行

root@ctpdb1~]# /u01/app/oraInventory/orainstRoot.sh

Changing permissions of/u01/app/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions forworld.


Changing groupname of /u01/app/oraInventoryto oinstall.

The execution of the script is complete.

[root@ctpdb1 ~]#/u01/app/11.2.0/grid/root.sh

Performing root user operation for Oracle11g 


The following environment variables are setas:

   ORACLE_OWNER= grid

   ORACLE_HOME=  /u01/app/11.2.0/grid


Enter the full pathname of the local bindirectory: [/usr/local/bin]: 

  Copying dbhome to /usr/local/bin ...

  Copying oraenv to /usr/local/bin ...

  Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...

Entries will be added to the /etc/oratabfile as needed by

Database Configuration Assistant when adatabase is created

Finished running generic part of rootscript.

Now product-specific root actions will beperformed.

Using configuration parameter file:/u01/app/11.2.0/grid/crs/install/crsconfig_params

Creating trace directory

User ignored Prerequisites duringinstallation

OLR initialization - successful

 root wallet

 root wallet cert

 root cert export

 peer wallet

 profile reader wallet

  pawallet

 peer wallet keys

  pawallet keys

 peer cert request

  pacert request

 peer cert

  pacert

 peer root cert TP

 profile reader root cert TP

  paroot cert TP

 peer pa cert TP

  pa peercert TP

 profile reader pa cert TP

 profile reader peer cert TP

 peer user cert

  pauser cert

Adding Clusterware entries to inittab

CRS-2672: Attempting to start 'ora.mdnsd'on 'ctpdb1'

CRS-2676: Start of 'ora.mdnsd' on 'ctpdb1'succeeded

CRS-2672: Attempting to start 'ora.gpnpd'on 'ctpdb1'

CRS-2676: Start of 'ora.gpnpd' on 'ctpdb1'succeeded

CRS-2672: Attempting to start'ora.cssdmonitor' on 'ctpdb1'

CRS-2672: Attempting to start 'ora.gipcd'on 'ctpdb1'

CRS-2676: Start of 'ora.gipcd' on 'ctpdb1' succeeded

CRS-2676: Start of 'ora.cssdmonitor' on'ctpdb1' succeeded

CRS-2672: Attempting to start 'ora.cssd' on'ctpdb1'

CRS-2672: Attempting to start 'ora.diskmon'on 'ctpdb1'

CRS-2676: Start of 'ora.diskmon' on'ctpdb1' succeeded

CRS-2676: Start of 'ora.cssd' on 'ctpdb1'succeeded


ASM created and started successfully.


Disk Group CRSGROUP created successfully.


clscfg: -install mode specified

Successfully accumulated necessary OCRkeys.

Creating OCR keys for user 'root', privgrp'root'..

Operation successful.

CRS-4256: Updating the profile

Successful addition of voting disk0b0cea08e4f14fc7bf5c53d50eba4303.

Successfully replaced voting disk groupwith +CRSGROUP.

CRS-4256: Updating the profile

CRS-4266: Voting file(s) successfullyreplaced

## STATE    File Universal Id                File Name Disk group

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

 1.ONLINE   0b0cea08e4f14fc7bf5c53d50eba4303(ORCL:VOTE1) [CRSGROUP]

Located 1 voting disk(s).

CRS-2672: Attempting to start 'ora.asm' on'ctpdb1'

CRS-2676: Start of 'ora.asm' on 'ctpdb1'succeeded

CRS-2672: Attempting to start'ora.CRSGROUP.dg' on 'ctpdb1'

CRS-2676: Start of 'ora.CRSGROUP.dg' on'ctpdb1' succeeded

CRS-2672: Attempting to start'ora.registry.acfs' on 'ctpdb1'

CRS-2676: Start of 'ora.registry.acfs' on'ctpdb1' succeeded

Configure Oracle Grid Infrastructure for a Cluster ... succeeded

[root@ctpdb1 ~]#

務必確保節點1、2都能出現

Configure Oracle Grid Infrastructure for a Cluster ... succeeded

9.15在節點1和節點2分別進行ping通ctpdb-cluster,如果可以ping通,則此錯誤可以忽略。點擊ok,再點擊close,至此grid安裝完成。

[root@ctpdb1 ~]#  ping ctpdb-cluster

PING ctpdb-cluster (192.168.1.10) 56(84)bytes of data.

64 bytes from ctpdb-cluster (192.168.1.10):icmp_seq=1 ttl=64 time=0.027 ms

[root@ctpdb2 ~]# ping ctpdb-cluster

PING ctpdb-cluster (192.168.1.10) 56(84)bytes of data.

64 bytes from ctpdb-cluster (192.168.1.10):icmp_seq=1 ttl=64 time=1.16 ms

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

9.16圖形界面

使用grid用戶在節點1,執行asmca,創建DATAGROUP和ARCHGROUP磁盤組

9.17.1在Disk Groups下點擊 Create,

Disk Groups Name 爲:DATAGROUP,External(none)模式,並勾選DATA1/DATA2/DATA3,點擊ok繼續,再點擊ok確定完成。

9.17.2在Disk Groups下點擊 Create,

Disk Groups Name 爲:ARCHGROUP,External(none)模式,並勾選ARCH1/ARCH2,點擊ok繼續,再點擊ok確定完成。

最後點擊Exit退出即可。

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

十、圖形界面以oracle用戶登錄,進入/u02/ 目錄

10.1 unzip p10404530_112030_Linux-x86-64_1of7.zip

unzip p10404530_112030_Linux-x86-64_2of7.zip

10.2 cd database

執行./ ./runInstaller 啓動圖形化安裝嚮導界面,取消選擇

I wish to receive security updates via MyOracle Support.

next 繼續

10.3 選擇Skipsoftware updates  ,next繼續

10.4 選擇Installdatabase software only,next 繼續

10.5 選擇OracleReal Application Cluster database installation,一定勾選所有nodename,爲了順利期間,點擊SSH Connectivity ,輸入oracle密碼,點擊test,做SSH信任連接測試。next繼續

10.6選擇oracle運行語言爲English,next 繼續。

10.7選擇EnterpriceEdition (4.5G)企業版,next繼續

10.8查看oracle安裝路徑,Oracle Baes爲 /u01/app/oracle;

Software Location爲/u01/app/oracle/product/11.2.0/db_1;next繼續

10.9OSDBA爲dba,OSOPER爲oper;next繼續

10.10各項檢查通過後,next繼續

此時爲報:resolv.conf失敗和SCAN警告,忽略即可。(可點擊如下:more details查看更多信息),選擇Ignore All,next繼續,點擊yes。

10.11點擊install

10.12開始安裝oracle軟件,此過程時間較長,因爲oracle本身需要將節點1數據信息通過ssh同步至節點2。

使用root用戶,在連個節點1、節點2分別執行:

/u01/app/oracle/product/11.2.0/db_1/root.sh

點擊ok, Close 關閉即可。

十一、DBCA 建庫

11.1在節點1上,使用oracle用戶,執行dbca

選擇Oracle Real ApplicationCluster(RAC)database,next繼續;

11.2選擇Create aDatabase 創建一個數據庫, next繼續。

11.3選擇CustomDatabase 自定義安裝, next繼續。

11.4Global Database Name ctpdb,SID Prefixctpdb,Select All 所有節點。next繼續。

11.5在EnterpriseManager取消Configure Enterprise Manger 和AutomaticMaintenance Tasks 取消Enable sutomatic maintenance tasks。next繼續。

11.6設置統一密碼,點擊yes,next繼續。

11.7選擇StorageType 爲:ASM方式,Database Area爲:+DATAGROUP,next繼續。

11.8 取消flashrecovery area和Enable Archiving,next繼續。

11.9全部取消,next繼續。

11.10Memory使用默認大小,40%。Sizing BlockSize爲8192,Process爲300。

Character Sets爲:如圖所示。Connection Mode爲Dedicated Server Mode獨享模式。next繼續,再次 next繼續。

11.11點擊Flinish,點擊ok。開始創建數據庫。

十一、數據庫測試

11.1使用grid 用戶檢查數據庫運行狀態。

[grid@ctpdb1 ~]$ crs_stat -t

11.2使用grid 用戶停止oracle,啓動oracle。

[grid@ctpdb1 ~]$ srvctl status database -dctpdb 

Instance ctpdb1 is running on node ctpdb1

Instance ctpdb2 is running on node ctpdb2

[grid@ctpdb1 ~]$

[grid@ctpdb1 ~]$ srvctl stop database -dctpdb 

[grid@ctpdb1 ~]$ 

[grid@ctpdb1 ~]$ srvctl status database -dctpdb 

Instance ctpdb1 is not running on nodectpdb1

Instance ctpdb2 is not running on nodectpdb2

[grid@ctpdb1 ~]$

[grid@ctpdb1 ~]$ srvctl start database -dctpdb 

[grid@ctpdb1 ~]$ srvctl status database -dctpdb 

Instance ctpdb1 is running on node ctpdb1

Instance ctpdb2 is running on node ctpdb2

[grid@ctpdb1 ~]$

srvctl命令:

[grid@ctpdb1 ~]$ srvctl 

Usage: srvctl <command> <object>[<options>]

   commands:enable|disable|start|stop|relocate|status|add|remove|modify|getenv|setenv|unsetenv|config|convert|upgrade

   objects:database|instance|service|nodeapps|vip|network|asm|diskgroup|listener|srvpool|server|scan|scan_listener|oc4j|home|filesystem|gns|cvu


11.3使用grid 用戶啓動監聽,做客戶端連接測試。

[grid@ctpdb1 ~]$ lsnrctl status 檢查監聽狀態

[grid@ctpdb1 ~]$ lsnrctl stop 停掉監聽,

[grid@ctpdb1 ~]$ lsnrctl start 啓動監聽,OK 監聽正常啓動。

11.4

RAC版tnsnames.ora配置,含

# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora

# Generated by Oracle configuration tools.


CTPDB1=

 (DESCRIPTION=

   (ADDRESS=

     (PROTOCOL=TCP)

     (HOST=192.168.1.111)

     (PORT=1521)

    )

   (CONNECT_DATA=

     (FAILOVER_MODE=

        (BACKUP=ctpdb2)

       (TYPE=select)

       (METHOD=preconnect)

     )

     (INSTANCE_NAME=ctpdb1)

     (SERVICE_NAME=ctpdb)

    )

  )


CTPDB2=

 (DESCRIPTION=

   (ADDRESS=

     (PROTOCOL=TCP)

     (HOST=192.168.1.112)

     (PORT=1521)

    )

   (CONNECT_DATA=

     (FAILOVER_MODE=

       (BACKUP=ctpdb1)

       (TYPE=select)

       (METHOD=preconnect)

     )

     (INSTANCE_NAME=ctpdb2)

     (SERVICE_NAME=ctpdb)

    )

  ) 

11.5停止數據庫節點1,查看數據庫運行狀態,做節點冗餘切換測試。

[oracle@ctpdb1 ~]$ sqlplus sys/oracle assysdba

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL>

根據圖片能看到oracle已經無縫的從節點1切換到節點2。

SQL> startup; 啓動節點1,客戶端仍然正常的接到節點2上。

11.6停止數據庫節點1/2,重啓數據庫服務器。//以下不再做演練操作

11.7啓動數據庫節點1/2做正常操作。

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

最近寒楓不是一般的忙,隨着系統逐漸擴大,公司安排核心系統最近上線,不過切換前後的平穩的過度,能在閒時也整理整理文檔,也是一種愜意的享受。畢竟要上夜班了~

只是無論學習Oracle還是Linux等其他技術也好,均要徐徐漸進;十年磨一劍,此劍必須要能拿的出,用得上,打的贏 ;如果半途而非,最終將竹籃打水一場空,除非你的竹籃密密麻麻。

接下來的時間,等系統也穩定了,沒有這麼多瑣事了,還需定心學習Oracle、Linux,同時也喜歡在業餘時間和大家討論技術,包括Oracle、Linux以及其他關於系統交易、程序化交易、金融市場,寒楓均有很大興趣。

本文也沒有統一的編寫格式還需文學者指導。

本文主題爲:【讓學習oracle前進一步】

如果你對上文不感興趣,那麼請點擊http://umiwi.diandian.com看看這個也到消遣以下。

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

轉載請註明出處:http://linuxxx.blog.51cto.com/1824808/1274890#576555

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

參考文檔:

1、CTP交易系統官方安裝文檔oracle 11.2.0.0 +rhel 5.5版

2、http://wangchunhai.blog.51cto.com/225186/42184/

3、http://www.itpub.net/thread-1009235-1-1.html

4、http://linuxxx.blog.51cto.com/1824808/1040165

附件:

1、get_rpm.sh 和get_rpm 用來獲取rpm是否安裝。

2、RAC版的tnsnames.ora

3、虛擬機修改的文件

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章