Hướng dẫn cài đặt Oracle RAC 2 node trên Oracle Linux 7.9 với VirtualBox

Oracle RAC là viết tắt của “Oracle Real Application Clusters” (RAC), một tính năng trong hệ thống quản lý cơ sở dữ liệu Oracle (Oracle Database). Oracle RAC cho phép nhiều máy chủ (nodes) chia sẻ cùng một cơ sở dữ liệu, tạo thành một cụm máy chủ (cluster) để cung cấp tính sẵn có và khả năng mở rộng.

Cụ thể, Oracle RAC cho phép nhiều máy chủ trong cụm (cluster) thao tác đồng thời trên cùng một cơ sở dữ liệu, tăng khả năng chịu lỗi và hiệu suất của hệ thống. Điều này có ý nghĩa đặc biệt khi cần đảm bảo tính sẵn có caokhả năng mở rộng linh hoạt cho ứng dụng quan trọng và yêu cầu cao về tải.

Oracle RAC được sử dụng rộng rãi trong các doanh nghiệp lớn nơi cần có cơ sở dữ liệu mạnh mẽ, linh hoạt và không ngừng hoạt động. Điều này giúp đảm bảo rằng nếu một máy chủ gặp sự cố, các máy chủ khác vẫn có thể tiếp tục làm việc, giảm thiểu thời gian chết của hệ thống.

Một số khái niệm:

CVU (Cluster Verification Utility)

CRS (Cluster Ready Services)

Công cụ cần chuẩn bị:

  1. virtual box
  2. oracle database software
  3. oracle grid

Download oracle linux 7.9:

https://yum.oracle.com/oracle-linux-isos.html

Download VirtualBox:

https://www.virtualbox.org/wiki/Downloads

Download bộ cài Oracle tương ứng tại:

https://edelivery.oracle.com/

Thông tin cài đặt:

ItemsRAC1RAC2
hostnamerac1rac2
ip_remote192.168.1.11192.168.1.12
db nameoradboradb
instance_nameoradb1oradb2
db_unique_nameoradb1oradb2
version DB19.319.3
DB_HOME/u01/app/oracle/product/19c/dbhome_1/u01/app/oracle/product/19c/dbhome_1
DB_BASE/u01/app/oracle/u01/app/oracle
GRID_BASE/u01/app/grid/u01/app/grid
GRID_HOME/u01/app/19c/grid/u01/app/19c/grid

TRÊN CẢ 02 SERVER:

Chỉnh sửa file /etc/hosts trên cả 02 server, thêm vào cuối file hiện tại:

vi /etc/hosts

# Public
192.168.24.1 rac1.localdomain rac1
192.168.24.2 rac2.localdomain rac2

# Private
192.168.10.1 rac1-priv.localdomain rac1-priv
192.168.10.2 rac2-priv.localdomain rac2-priv

# Virtual
192.168.24.31 rac1-vip.localdomain rac1-vip
192.168.24.32 rac2-vip.localdomain rac2-vip

# SCAN
192.168.24.41 rac-scan.localdomain rac-scan
192.168.24.42 rac-scan.localdomain rac-scan
192.168.24.43 rac-scan.localdomain rac-scan

# DNS
192.168.24.111 dnsss.localdomain dnsss

Sửa card mạng trên 02 host theo thông số sau, tương ứng với 2 node 1, 2:

host-only: for ssh, public network
NODE1: 192.168.24.1
NODE2: 192.168.24.2
255.255.255.0
0.0.0.0

internal: for rac to rac connect, private network
NODE1: 192.168.10.1
NODE2: 192.168.10.2
255.255.255.0
0.0.0.0

internet: dhcp IP auto => for internet update
NODE1: 192.168.1.11/24
NODE2: 192.168.1.12/24
GW: 192.168.1.1
DNS: 8.8.8.8

User đăng nhập hệ thống:

user: root, pass: oracle

Đặt lại hostname cho 2 node:

hostnamectl set-hostname rac1.localdomain

hostnamectl set-hostname rac2.localdomain

Tắt firewall trên 2 node:

systemctl stop firewalld.service

systemctl disable firewalld.service

Bật đồng bộ thời gian cho 2 node:

systemctl enable chronyd.service
systemctl restart chronyd.service
systemctl status chronyd
chronyc tracking
chronyc sources
chronyc -a 'burst 4/4'
chronyc -a makestep

Cập nhật và cài đặt các gói, update hệ thống, preinstall, oracleasm:

yum update -y

yum install -y oracle-database-preinstall-19c.x86_64

yum install -y oracleasm-support

yum install -y oracleasm

yum install -y oracleasmlib

Tạo thêm các nhóm cho oracleasm

groupadd asmdba

groupadd asmoper

groupadd asmadmin

Thêm nhóm bên trên cho user oracle, Ở đây chúng ta tiến hành cài đặt grid bằng user oracle luôn mà ko cần tạo user grid (nếu sử dụng user grid thì add groups cho user grid là xong)

usermod -G asmdba,asmoper,asmadmin oracle

Đặt pass cho user oracle

passwd oracle

Tạo đường dẫn cho grid và oracle database:

mkdir -p /u01/app/19c/grid

mkdir -p /u01/app/grid

mkdir -p /u01/app/oracle/product/19c/dbhome_1

Đổi sang user oracle và tạo biến môi trường bash

su oracle

cd

vi .bash_profile

## thêm đoạn này vào cuối file bash_profile hiện tại:

# Oracle Settings

export TMP=/tmp

export TMPDIR=$TMP

export ORACLE_BASE=/u01/app/oracle

export GRID_HOME=/u01/app/19c/grid

export DB_HOME=$ORACLE_BASE/product/19c/dbhome_1

export ORACLE_HOME=$DB_HOME

export ORACLE_SID=oradb

export ORACLE_TERM=xterm

export BASE_PATH=/usr/sbin:$PATH

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

Tạo biến môi trường cho profile oracle cài grid

vi /home/oracle/grid.env

## thêm đoạn này vào file

export ORACLE_SID=+ASM1

export ORACLE_HOME=$GRID_HOME

export PATH=$ORACLE_HOME/bin:$BASE_PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

Shutdown 2 node:

Thêm đĩa vào máy ảo:

ADD đĩa vào máy ảo, tạo 3 đĩa dùng để lưu trữ dữ liệu đặt ở chế độ sharable => mô phỏng hệ thống SAN, sau đó Add đĩa sharable vào NODE1 và NODE2 => 3 đĩa này thành đĩa dùng chung lưu trữ database: DATA (datafile), FRA(fast recovery area), OCR (oracle cluster register..)

Dung lượng tương ứng là: 50GB, 150GB, 10GB

  • Vtbox/file/tool/Virtual media manager/create disk

Start 2 node:

Kiểm tra kết nối mạng xem thông 2 node chưa

ping -c 2 rac1

ping -c 2 rac2

ping -c 2 rac1-priv

ping -c 2 rac2-priv

Trên RAC1:

Copy bộ cài Grid, Database vào thư mục home (/home/oracle) của user oracle và tiến hành giải nén vào thư mục đường dẫn base, home tương ứng đã tạo ở bên trên:

Login vào user root để có quyền giải nén:

su -

cd /u01/app/19c/grid/

unzip /home/oracle/193000_grid_home.zip

cd /u01/app/oracle/product/19c/dbhome_1

unzip /home/oracle/193000_db_home.zip

Gán chủ sở hữu thư mục u01 cho user Oracle:

chown -R oracle:oinstall /u01

Nâng cấp gói cài đặt U = update CVUdisk

(cvuqdisk là một công cụ dùng trên hệ điều hành Linux để hỗ trợ Oracle Grid Infrastructure. Cụ thể, cvuqdisk có tác dụng giúp Cluster Verification Utility (CVU) – công cụ kiểm tra cụm – phát hiện các ổ đĩa được chia sẻ giữa các máy chủ trong cụm)

cd /u01/app/19c/grid/cv/rpm

rpm -Uvh cvuqdisk*

copy file sang rac2 và cài đặt CVUdisk

scp ./cvuqdisk* root@rac2:/tmp

Nâng cấp gói cài đặt U = update trên RAC2 qua ssh

ssh root@rac2 rpm -Uvh /tmp/cvuqdisk*

Định dạng ổ đĩa dùng cho sharable

fdisk -l

fdisk /dev/sdb

Nhấn các phím theo hướng dẫn để tiến hành định dạng đĩa:

n new
p primary
w write

Tương tự vậy thực hiện với các đĩa SDC, SDD:

fdisk /dev/sdc
fdisk /dev/sdd

Cấu hình ASM: Configure oracleasm utility (bằng user root)

su -
/usr/sbin/oracleasm configure -i
oracle
oinstall
y
y

### verify
/usr/sbin/oracleasm configure

### init
/usr/sbin/oracleasm status
/usr/sbin/oracleasm init
/usr/sbin/oracleasm status

### check
df -ha | grep oracle

Tạo Disk Group ứng với từng đĩa:

oracleasm createdisk OCR /dev/sdb1
oracleasm createdisk DATA /dev/sdc1
oracleasm createdisk FRA /dev/sdd1

## quét và check đĩa DG
oracleasm scandisks
oracleasm listdisks

Configure SSH Setup, cấu hình SSH cho rac1 connect sang rac2 (nhớ test thử bằng lệnh ssh rac1, ssh rac2 xem có login được ko)

su oracle
cd /u01/app/19c/grid/deinstall
./sshUserSetup.sh -user oracle -hosts "rac1 rac2" -noPromptPassphrase -confirm –advanced

Trên RAC2:

Cài đặt oracleasm với quyền root:

su -
/usr/sbin/oracleasm configure -i
oracle
oinstall
y
y

## check
/usr/sbin/oracleasm status
/usr/sbin/oracleasm init
/usr/sbin/oracleasm status
oracleasm scandisks
oracleasm listdisks

Gán quyền thư mục:

chown -R oracle:oinstall /u01

RAC1:

Check các điều kiện chuẩn bị tiến hành cài đặt grid

su oracle
cd
. grid.env
cd /u01/app/19c/grid/
./runcluvfy.sh stage -pre crsinst -n rac1,rac2 -verbose

Bật Xming nếu SSH client không hỗ trợ Xserver, Xuất màn hình ra PC và chuẩn bị cài grid:

export DISPLAY=192.168.1.222:0.0
cd /u01/app/19c/grid/
./gridSetup.sh

word image 759 1

word image 759 2

word image 759 3

word image 759 4

word image 759 5

word image 759 6

word image 759 7

word image 759 8

word image 759 9

Create local SCAN:

rac-cluster

rac-scan

1521

=> next

=> add more

rac2.localdomain

rac2-vip.localdomain

=>SSH connectivity button: Nhập user/pass ssh => sau đó Click Setup rồi Test (oracle/oracle)

enp0s3 = public

enp0s8 = ASM & Private

word image 759 10

Use Oracle Flex ASM for Storage

word image 759 11

word image 759 12

=> Chọn NO và next

word image 759 13

  • Đổi đường dẫn /dev/oracleasm/disks* => hệ thống sẽ liệt kê các Diskgroup ASM chúng ta đã tạo ở bên trên.

word image 759 14

=> chọn redundancy to External

=> Disk group name: OCR va chon link disk OCR

word image 759 15

Nhập Pass quản trị cho sys user: oracle

word image 759 16

word image 759 17

word image 759 18

word image 759 19

=> Chọn tất cả Group là oinstall sau đó nhấn YES

word image 759 20

Đường dẫn: /u01/app/grid

word image 759 21

word image 759 22

word image 759 23

Ghi chú: Các thư mục tiến hành cài đặt bên rac2 phải là thư mục trống và không chứa bất kỳ file hay thư mục nào kể cả file hidden.

Tới đây hệ thống sẽ tiến hành cài đặt tự động đồng bộ Grid trên đồng thời cả 2 node cùng 1 lúc.

word image 759 24

=>Check the Ignore All checkbox

word image 759 25

=> Double check and click the Install button.

word image 759 26

Mở cửa sổ terminal node1 và node2 => chạy với quyền root

word image 759 27

##Node1, Node2 ### Chạy với quyền Root

/u01/app/oraInventory/orainstRoot.sh

##Node 1, node2 ### Chạy với quyền Root và nhấn Enter

/u01/app/19c/grid/root.sh

word image 759 28

  • sau khi script chạy hoàn tất thì click OK trên cửa sổ cài đặt.

ĐẾN ĐÂY LÀ CHÚNG TA ĐÃ TIẾN HÀNH CÀI ĐẶT XONG GRID

KIỂM TRA TRẠNG THÁI GRID NODE1

cd /u01/app/19c/grid/bin

./crsctl check cluster -all

./crsctl status resource -t

CÀI ĐẶT ORACLE DATABASE:

RAC1:

su oracle
cd

. .bash_profifle
cd /u01/app/oracle/product/19c/dbhome_1/
./runInstaller

word image 759 29

  • cài đặt software only

word image 759 30

=> oralce real aplication cluster database installation

word image 759 31

word image 759 32

=> chon bản enterprise

word image 759 33

=> chọn đường dẫn oracle base, home:

/u01/app/oracle
/u01/app/oracle/product/19c/dbhome_1

word image 759 34

=> Chọn tất cả group là oinstall => NEXT

word image 759 35

  • Check the “Ignore All” checkbox and click the “Next” button.

## Node1, Node2, run script with root

/u01/app/oracle/product/19c/dbhome_1/root.sh

word image 759 36

  • hệ thống thông báo cài đặt software database thành công.

NODE1: Tạo disk group để cài database

cd
. grid.env
asmca

word image 759 37

word image 759 38

  • ở đây chúng ta có thể xem các thông số của ASM hiện đang chạy như ASM instance, tên node, status của asm

word image 759 39

=> Trong mục disk groups hiện đang có 1 DG là OCR (để lưu trữ trạng thái cluster, node)

Ở đây chúng ta tạo thêm các DG mới DATA, FRA để lưu trữ dữ liệu của database.

word image 759 40

=> create

name: DATA

redundancy: External (none)

word image 759 41

=> OK button

word image 759 42

=> tương tự vậy tạo cho cả FRA diskgroup và sau đó nhấn EXIT đê thoát ra ngoài.

NODE1: Khởi tạo database

cd
. .bash_profile
dbca

word image 759 43

word image 759 44

=> Chọn Create a database

word image 759 45

=> Chọn Advanced configuration

word image 759 46

=> Database type: RAC

=> Configuration type: admin managed

=> Select the General purpose

word image 759 47

=> Chọn cả 2 rac1, rac2

word image 759 48

Global databasae name: oradb.localdomain

SID prefix: oradb

=> Tại bước này chúng ta có thể chọn kiểu database là CDB hoặc NonCDB, ở đây tôi chọn NOnCDB cho đơn giản.

word image 759 49

  • chọn lưu data vào ASM (DiskGroups +DATA)
  • sử dụng OMF (hệ thống tự động quản lý file và tên file)

word image 759 50

=> chọn +FRA => lưu dữ liệu vùng fast recovery area, dung lượng lưu trữ, bật archive mode

word image 759 51

word image 759 52

word image 759 53

word image 759 54

word image 759 55

word image 759 56

word image 759 57

=> Đặt pass quản trị oracle.

word image 759 58

=> Next

word image 759 59

  • hệ thống check thông tin cài đặt

word image 759 60

  • Ignore All và NEXT

word image 759 61

  • hệ thống tiến hành cài đặt

word image 759 62

  • Finished

TEST DỊCH VỤ:

word image 759 63

word image 759 64

ps -ef | grep pmon
  • rac1, rac2 đã hoạt động

Kiểm tra cụm cluster:

/u01/app/19c/grid/bin/crsctl check cluster -all
/u01/app/19c/grid/bin/crsctl status resource -t

word image 759 65

srvctl (Server Control)

Hiển thị danh sách csdl:

srvctl config database

Check asm status:

srvctl status asm

srvctl status asm -n rac1

srvctl status asm -n rac2

Danh sách instance:

srvctl config database -d oradb

Danh sách listener:

srvctl config listener

Stop và start db:

srvctl stop database -d oradb

srvctl start database -d oradb

Stop, start cụ thể instance:

srvctl stop instance -db DB_NAME -n INSTANCE_NAME

srvctl stop instance -db oradb -n db1

Trạng thái db:

srvctl status database -d oradb

Trạng thai nodeapp:

srvctl status nodeapps -n rac1

srvctl status nodeapps -n rac2

LOGIN VÀO SQLPLUS TRÊN RAC1:

export ORACLE_SID=oradb1
sqlplus / as sysdba

select INST_NUMBER,INST_NAME FROM v$active_instances;
SELECT instance_name, host_name FROM gv$instance;

Hết!

Chúc các bạn thành công!

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận