Oracle Install the RAC Database 10g for Window with ASM Disk

** Myself
Each machines
D:\oracle\product\10.2\crs (software oracle cluster ready service)
D:\oracle\product\10.2\db_1 (software oracle database )
All machines shared storage path
J:\archive\PRDDB

clip_image002



Host Rac Information
host01 information :
- hostname= host01
- virtual ip(for rac) host01-vip=155.5.44.127
- public ip(for remote) host01-pub=155.5.44.X
- private ip (for heartbeat) host01-priv=10.X.X.X (teaming 2 interface)
- oracle sid = PRDDB1
host02 information :
- hostname= host02
- virtual ip(for rac) host02-vip=155.5.44.129
- public ip(for remote) host02-pub=155.5.44.Y
- private ip (for heartbeat) host02-priv=10.Y.Y.Y (teaming 2 interface)
- oracle sid = PRDDB2

Database Rac Information
PRDDB Database
- Instance=PRDDB1,PRDDB2
- DB storageàRaw device=+ASM
- +ASM instance=+ASM1,+ASM2
- +ASM storage files= control01.ctl, control02.ctl,control03.ctl,system01.dbf, sysaux01.dbf, temp01.dbf, undotbs01.dbf,undotbs02.dbf, redo_t1_01.log,redo_t1_02.log,redo_t1_03.log,redo_t1_04.log, redo_t2_01.log,redo_t2_02.log,redo_t2_03.log,redo_t2_04.log
- Ocr à cluster filesystem= I:\cdata\orc.dbf
- Votting à cluster filesystem= I:\cdata\voting.dbf
- Archivelogàcluster filesystem=J:\archive\PRDDB
- Spfilleàcluster filesystem= I:\oracle\PRDDB\spfilePRDDB.ora
PRDDB1 :Instance 1 or Thread 1
- hostname=host01
- oracle sid=PRDDB1
- oracle cluster sw=D:\oracle\product\10.2\crs
- oracle databse sw=D:\oracle\product\10.2\db_1
- redolog for instance1 on shared storage +ASM1= redo_t1_01.log,redo_t1_02.log,redo_t1_03.log,redo_t1_04.log
- undo for instance1 on shared storage +ASM1 = undotbs01.dbf
PRDDB2 :Instance 2 or Thread 2
- hostname=host02
- oracle sid=PRDDB2
- oracle cluster sw=D:\oracle\product\10.2\crs
- oracle databse sw=D:\oracle\product\10.2\db_1
- redolog for instance2 on shared storage +ASM2 = redo_t2_01.log,redo_t2_02.log,redo_t2_03.log,redo_t2_04.log
- undo for instance2 on shared storage +ASM2 = undotbs02.dbf
การ Create Rac database PRDDB มีขั้นตอนดังนี้
  1. Configure network interface and resolve hostname(DNS or hostfile)
  2. Create shared disks raw& shared disk filesystem.
  3. Install oracle clusterware software.
  4. Install the Database Software and Create an ASM Instance.
  5. Create a Database using DBCA
  6. TNS and Listener configuration
1. Configure network interface and resolve hostname
มีขั้นตอนดังนี้
1. ทำการ Config ip ทั้งสองเครื่อง ทั้ง public และ private network รวมถึงการทำ teaming interface ( ทำ ทั้ง 2 node )clip_image004
2. ถ้าไม่ได้ใช้ DNS แต่ใช้ hostfile ให้เพิ่ม record ในไฟล์ C:\WINDOWS\system32\drivers\etc\hosts ( ทำ ทั้ง 2 node )#Add record in file C:\WINDOWS\system32\drivers\etc\hosts
155.5.44.127 host01-pub host01-vip.aerothai.local
155.5.44.X host01-pub host01-pub.aerothai.local
10.X.X.X host01-priv host01-priv.aerothai.local
155.5.44.129 host02-pub host02-vip.aerothai.local
155.5.44.Y host02-pub host02-pub.aerothai.local
10.Y.Y.Y host02-priv host02-priv.aerothai.local
3. ทดสอบ Test ping ( ทำ ทั้ง 2 node )ping host01-vip
ping host01-pub
ping host01-priv
ping host02-vip
ping host02-pub
ping host02-priv

2. Create shared disks raw & shared disk filesystem
2.1 shared disks raw มีไว้สำหรับ
- ASM disk (All db files)
+DATA/PRDDB/
control01.ctl, control02.ctl,control03.ctl(controlfiles)
system01.dbf, sysaux01.dbf, temp01.dbf
undotbs01.dbf,undotbs02.dbf
redo_t1_01.log,redo_t1_02.log,redo_t1_03.log,redo_t1_04.log
redo_t2_01.log,redo_t2_02.log,redo_t2_03.log,redo_t2_04.log
2.2 shared disk filesystem มีไว้สำหรับ
- votting disk I:\cdata\voting.dbf
- ocr disk I:\cdata\orc.dbf
- spfile I:\oracle\PRDDB\spfilePRDDB.ora
- archive log files J:\archive\PRDDB
มีขั้นตอนดังนี้
1. หลังจากAssign LUN จาก storage ให้ทำการ scandisk จาก computer management ( ทำทั้ง 2 node )
# LUN จาก storage จะต้อง shared ให้ all host เห็นและ san จะต้อง zone ให้เห็น all host เห็น storage
clip_image006
- right click mycomàmanage
2. ทำการเลือก initial disk( ทำทั้ง 2 node )clip_image008
3. ไม่ทำการ convert disk( ทำทั้ง 2 node )clip_image010
4. ทำการสร้าง patition ( ทำ 1 node )clip_image012
5. สร้างแบบ extended partition เลือกขนาดตามต้องการ( ทำ 1 node )clip_image013
6. จากdisk เดิมสร้างlogical partition ( ทำ 1 node )clip_image015
7. สร้างแบบ logical drive เลือกขนาดตามต้องการ( ทำ 1 node )clip_image016
8. ไม่ทำการ assign drive ( ทำ 1 node )clip_image017
9. จะได้ผลดังรูปให้ทำแค่ driveสำหรับ +ASM
ส่วนอีก 2 disks ไม่ต้อง create partition เพื่อใช้กับ ocr,vottingมarchive log และ spfiles ในแบบ oracle cluster file systems( ทำ 1 node )
clip_image019
3. Install oracle clusterware software
มีขั้นตอนดังนี้
1. จากแผ่น run setup.exe ( ทำ 1 node )clip_image021
2.เลือก crs path เป็น local drive(D:\oracle\product\10.2\crs ) ( ทำ 1 node )clip_image023
3.ใช้ชื่อ default crs name และ ชื่อเครื่อง( ทำ 1 node )clip_image025
4.ถ้าipถูกก็ให้next ( ทำ 1 node )clip_image027
5.ทำการ config storage ( ทำ 1 node )clip_image029
6.ทำการ format ocr และ votting disk เป็นแบบ oracle cluster file system โดยเก็บไว้ที่ drive I: ( ทำ 1 node )clip_image031
7.install crs แล้ว sw จะทำการ deploy ไปinstallอีกเครื่องให้เอง จน finish ( ทำ 1 node )clip_image033
8.หลังinstall crs แล้ว sw จะทำการ launch configuration assistans ซึ่งจะ failed ในการ config vipca แต่ให้กด ok เพื่อผ่านไปก่อน มาทำทีหลัง
( ทำ 1 node )
clip_image035
clip_image037
9.จบการ installation( ทำ 1 node )clip_image039
10.ทำการ run vipca หลังจบการ
Installation โดยเข้าไปที่
c:\oracle\product\10.2\crs\bin
ทำการ run
vipca.bat
( ทำ 1 node )
clip_image041
11.ใส่ ข้อมูลของ virtual ip ที่จะใช้อ้างอิงใน tnsnames และ listener ของแต่ละ
( ทำ 1 node )
clip_image043
12.รอการ process vip,gsd,onsทั้ง 2 nodes จนจบ
( ทำ 1 node )
clip_image045

4. Install the Database Software and Create an ASM Instance
มีขั้นตอนดังนี้
1. จากแผ่น run setup.exe ( ทำ 1 node )clip_image047
2. เลือก Edition license ( ทำ 1 node )clip_image049
3. เลือก DB software path เป็น local drive(D:\oracle\product\10.2\db_1 ) ( ทำ 1 node )clip_image051
4. click เลือก node2 ( ทำ 1 node )clip_image053
5. Config ASM instanceพร้อมทั้งใส่ password for user sys on ASM instance ( ทำ 1 node )clip_image055
6. ใช้ชื่อ Disk group name เป็น DATA และเลือก external (คือ ใช้storage)แล้วกด stamp disks ( ทำ 1 node )clip_image057
7. ทำการ stamp Disk ที่เตรียมไว้จากข้อ 2. ที่จะสร้างที่เก็บ datafiles ซึ่งเป็น partition ว่างบน os แล้วจะทำการ Stamp disk เป็น ASM (คือ ใช้storage) ( ทำ 1 node )clip_image059
clip_image061
clip_image063
clip_image065
8. จะเห็น Disk group name เป็น DATA พร้อมทั้ง disk ที่เตรียมจะใช้เก็บ db ( ทำ 1 node )clip_image067
9. ทำการ install แล้ว sw จะทำการ deploy ไปinstallอีกเครื่องให้เอง จน finish ( ทำ 1 node ) ( ทำ 1 node )clip_image069
5. Create a Database using the DBCA
มีขั้นตอนดังนี้
1.ทำการ launch DBCA
Start > All Programs > Oracle - db_1 > Configuration and Migration Tools > Database Configuration Assistant
แล้ว เลือก สร้างแบบ oracle real application clusters database
( ทำ 1 node )
clip_image071
2.เลือก create database
( ทำ 1 node )
clip_image073
3.เลือก select all nodes
( ทำ 1 node )
clip_image075
4.เลือก custom database
( ทำ 1 node )
clip_image077
5.ใส่ชื่อ database
( ทำ 1 node )
clip_image079
6.ใช้ค่า default
( ทำ 1 node )
clip_image081
7.ใส่ password สำหรับทุก account บน database
( ทำ 1 node )
clip_image083
8.เลือกสร้าง db บน ASM
( ทำ 1 node )
clip_image085
9.ใช้ disk group DATA ที่สร้างจากข้อ 4.
( ทำ 1 node )
clip_image087
10.เลือก OMF โดย Area คือ +DATA
( ทำ 1 node )
clip_image089
11.ยกเลิก option ที่ไม่ต้องการให้เลือกแต่ enterprise manager repository
( ทำ 1 node )
clip_image091
12.click next ผ่านไป
( ทำ 1 node )
clip_image093
13.Adjust memory allocation ตามต้องการ
( ทำ 1 node )
clip_image095
14.ทำการสร้าง redo เพิ่ม หรือ ลบ tablespace ที่ใช้ตามต้องการ
( ทำ 1 node )
clip_image097
15.เริ่มสร้าง db
( ทำ 1 node )
clip_image098
6. TNS and Listener Configuration
Configure tnsnames.ora
ใน D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora ของทั้ง 2 เครื่องจะเหมือนกัน
# tnsnames.ora Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
PRDDB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = host01-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = host02-vip)(PORT = 1521))
(LOAD_BALANCE = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PRDDB)
)
)
PRDDB2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = host02-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PRDDB)
(INSTANCE_NAME = PRDDB2)
)
)
PRDDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = host01-vip)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PRDDB)
(INSTANCE_NAME = PRDDB1)
)
)
LISTENERS_PRDDB =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host01-vip)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = host02-vip)(PORT = 1521))
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
Configure listener.ora
ใน listener.ora ของทั้ง 2 เครื่องจะไม่เหมือนกัน
Host01
ใน D:\oracle\product\10.2.0\db_1\network\admin\ listener.ora.host01
# listener.ora.host01 Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora.host01
# Generated by Oracle configuration tools.
LISTENER_HOST01 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host01-vip)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 155.5.44.127)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
SID_LIST_LISTENER_HOST01 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
Host02
ใน D:\oracle\product\10.2.0\db_1\network\admin\listener.ora.host02
# listener.ora.host02 Network Configuration File: D:\oracle\product\10.2.0\db_1\network\admin\listener.ora.host02
# Generated by Oracle configuration tools.
LISTENER_HOST02 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = host02-vip)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 155.5.44.129)(PORT = 1521)(IP = FIRST))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
)
)
SID_LIST_LISTENER_HOST02 =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\product\10.2.0\db_1)
(PROGRAM = extproc)
)
)
ทำการ test connection ว่าใช้ได้ผ่าน tnsnames and listener
C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Apr 20 16:58:37 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> CONN sys/password@PRDDB1 AS SYSDBA
Connected.
SQL> SELECT instance_name, host_name FROM v$instance;
INSTANCE_NAME HOST_NAME
---------------- ----------------------------------------------------------------
PRDDB1 PRDDB1
SQL> CONN sys/password@PRDDB2 AS SYSDBA
Connected.
SQL> SELECT instance_name, host_name FROM v$instance;
INSTANCE_NAME HOST_NAME
---------------- ----------------------------------------------------------------
PRDDB2 PRDDB2
SQL> CONN sys/password@PRDDB AS SYSDBA
Connected.
SQL> SELECT instance_name, host_name FROM v$instance;
INSTANCE_NAME HOST_NAME
---------------- ----------------------------------------------------------------
PRDDB2 PRDDB2
SQL>

Check the Status of the RAC
There are several ways to check the status of the RAC. The srvctl utility shows the current configuration and status of the RAC database.
C:\>srvctl config database -d RAC
Host01 PRDDB1 C:\oracle\product\10.2.0\db_1
Host02 PRDDB2 C:\oracle\product\10.2.0\db_1
C:\>srvctl status database -d RAC
Instance PRDDB1 is running on node host01
Instance PRDDB2 is running on node host02
The V$ACTIVE_INSTANCES view can also display the current status of the instances.
C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on Thu Apr 20 16:58:37 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, Real Application Clusters, OLAP and Data Mining options
SQL> SELECT * FROM v$active_instances;
INST_NUMBER INST_NAME
----------- ------------------------------------------------------------
1 HOST01:PRDDB1
2 HOST02:PRDDB2
SQL>
Finally, the GV$ allow you to display global information for the whole RAC.
-------------------------------------------------------------------------------------------------

0 comments:

Loading