Chủ Nhật, 28 tháng 2, 2021

Cài đặt Oracle Database 12c Release 2 (12.2) RAC trên Oracle Linux 7 sử dụng VirtualBox

Bài viết này mô tả cài đặt Oracle Database 12c Release 2 (12.2 64-bit) RAC on Linux (Oracle Linux 7 64-bit) using VirtualBox (5.1) mà sử dụng virtual box disk làm đĩa chia sẻ chung (không cần SAN chung)

  • Giới thiệu
  • Tải chương trinh
  • Cài đặt VirtualBox
  • Thiết lập máy ảo
  • Cài đặt hệ điều hành Oracle Linux
  • Điều kiện tiên quyết khi cài đặt Oracle Database
    • Thiết lập tự động
    • Thiết lập thủ công
    • Thiết lập bổ sung
  • Cài đặt bổ sung Oracle Linux
  • Tạo đĩa dùng chung (shared disks)
  • Sao chép (clone) máy ảo
  • Cài đặt Grid Infrastructure
  • Cài đặt Database Software
  • Kiểm tra trạng thái của Oracle RAC

GIỚI THIỆU

Một trong những trở ngại lớn nhất ngăn cản mọi người thiết lập môi trường RAC thử nghiệm là yêu cầu về phân vùng lưu trữ phải được chia sẻ bởi các node trong RAC. Trong môi trường thực tế, lưu trữ chia sẻ thường được cung cấp bởi SAN hoặc thiết bị NAS cao cấp, nhưng cả hai tùy chọn này đều rất tốn kém đôi lúc nó bất khả thi với những người học sinh, sinh viên muốn làm LAB. Một giải pháp thay thế rẻ hơn là sử dụng FireWire để cho phép hai máy truy cập vào (các) đĩa giống nhau, nhưng điều đó vẫn tốn tiền và yêu cầu có hai máy chủ. Tùy chọn thứ ba là sử dụng ảo hóa để giả lập vùng đĩa chia sẻ.

Sử dụng VirtualBox, bạn có thể chạy nhiều Máy ảo (VM) trên một máy chủ duy nhất, cho phép bạn chạy cả hai nút RAC trên một máy duy nhất. Ngoài ra, nó cho phép bạn thiết lập các đĩa ảo dùng chung, vượt qua trở ngại về dung lượng lưu trữ dùng chung đắt tiền.

Mô hình kết nối chuẩn, dự phòng:


TẢI CHƯƠNG TRÌNH

Tải xuống phần mềm sau.

CÀI ĐẶT VIRTUALBOX

Cài đặt VirtualBox trên PC Windows 10

(Nếu cài VirtualBox trên CentOS hoặc RHEL thị dùng # rpm -Uvh VirtualBox*.rpm)

VirtualBox Network Setup

Chúng ta cần đảm bảo rằng mạng chỉ dành cho máy chủ được định cấu hình và kiểm tra / sửa đổi dải IP cho mạng đó. Đây sẽ là mạngpublic cho việc cài đặt RAC

  • Khởi động VirtualBox từ menu.

  • Chọn tùy chọn menu "File > Preferences".

  • Nhấp vào "Network" trong ngăn bên trái và nhấp vào tab "Host-only Networks".

  • Nhấp vào nút "Adds new host-only network" ở kích thước bên phải của màn hình. Tùy thuộc vào hệ điều hành chủ, mạng có tên "vboxnet0" hoặc "VirtualBox Host-Only Ethernet Adapter" sẽ được tạo.

    Mạng chỉ dành cho máy chủ lưu trữ

    Nhấp vào "Edits selected host-only network". trên kích thước bên phải của màn hình.

  • Nếu bạn muốn sử dụng một mạng con (subnet) khác cho các địa chỉ public của mình, bạn có thể thay đổi chi tiết mạng tại đây. Chỉ cần đảm bảo rằng mạng con bạn chọn không khớp với bất kỳ mạng con thực sự nào trên mạng của bạn. Tôi đã quyết định gắn bó với mặc định, đối với tôi là "192.168.56.X".

    Chi tiết Mạng Chỉ Máy chủ

  • Sử dụng các nút "OK" để thoát ra khỏi màn hình này.
  • Nhấp vào tab "NAT Networks". Nếu bạn chưa xác định mạng NAT, hãy nhấp vào nút "+". Bạn không cần phải cấu hình điều này.
  • Nhấp vào nút "OK" để đóng hộp thoại tùy chọn.

THIẾT LẬP MÁY ẢO

Bây giờ chúng ta cần hai nút RAC ảo. Để tiết kiệm thời gian cài đặt 1 máy ảo sau đó clone ra.

Khởi động VirtualBox và nhấp vào nút "New" trên thanh công cụ. Nhập tên "ol7-133-rac1", Hệ điều hành "Linux" và Phiên bản "Oracle (64 bit)", sau đó nhấp vào nút "Next". 



Nhập "4096" làm kích thước bộ nhớ, sau đó nhấp vào nút "Next".



Chấp nhận tùy chọn mặc định để tạo đĩa cứng ảo mới bằng cách nhấp vào nút "Create".



Chấp nhận loại tệp ổ cứng mặc định bằng cách nhấp vào nút "Next".



Chấp nhận tùy chọn "Dynamically Allocated" bằng cách nhấp vào nút "Next".



Chấp nhận vị trí mặc định và đặt kích thước thành "50G", sau đó nhấp vào nút "Create". Nếu có thể bạn trải đều trên các đĩa ảo lên các đĩa vật lý khác nhau, điều đó sẽ cải thiện hiệu suất.



Máy ảo "ol6-112-rac1" sẽ xuất hiện trên phía bên trái. Cuộn xuống tab "Setting" ở bên phải và nhấp vào liên kết "Network".


Đảm bảo rằng "Adapter 1" được bật, đặt thành "NAT", sau đó nhấp vào tab "Adapter 2".



Đảm bảo rằng "Adapter 2" được bật, đặt thành "Host-only Adapter", sau đó nhấp vào tab"Adapter 3".


Đảm bảo rằng "Adapter 3" được bật, đặt thành "Internal Network", sau đó nhấp vào "System"



Di chuyển "Hard Disk" lên đầu thứ tự khởi động và bỏ chọn tùy chọn "Floppy", sau đó nhấp vào nút "OK".



Máy ảo hiện đã được cấu hình để chúng ta có thể bắt đầu cài đặt hệ điều hành .

CÀI ĐẶT HỆ ĐIỀU HÀNH

Với máy ảo mới được đánh dấu, hãy nhấp vào nút "Bắt đầu" trên thanh công cụ. Trên màn hình "Select start-updisk", chọn hình ảnh ISO của Oracle Linux có liên quan và nhấp vào nút "Start".


Nếu màn hình "Select start-up disk" không xuất hiện, dùng menu "Devices > Optical Drives > Choose disk image..." để lựa chọn  ISO image, sau đó restart lại VM dùng menu "Machine > Reset".

Cửa sổ giao diện điều khiển kết quả sẽ chứa màn hình khởi động Oracle Linux.


Tiếp tục cài đặt Oracle Linux 7 như bạn làm đối với máy chủ cơ bản. Có thể tìm thấy hướng dẫn bằng hình ảnh chung về cài đặt tại đây . Cụ thể hơn, đó phải là cài đặt máy chủ có tối thiểu 4G + swap, tắt tường lửa, SELinux được đặt thành permissive  và các nhóm gói sau được cài đặt:

  • Server with GUI
  • Hardware Monitoring Utilities
  • Large Systems Performance
  • Network file system client
  • Performance Tools
  • Compatibility Libraries
  • Development Tools

Để phù hợp với phần còn lại của bài viết, thông tin sau nên được đặt trong quá trình cài đặt:

  • hostname: ol7-122-rac1.localdomain
  • enp0s3 (eth0): DHCP (Connect Automatically)
  • enp0s8 (eth1): IP=192.168.56.101, Subnet=255.255.255.0, Gateway=192.168.56.1, DNS=192.168.56.1, Search=localdomain (Connect Automatically)
  • enp0s9 (eth2): IP=192.168.1.101, Subnet=255.255.255.0, Gateway=<blank>, DNS=<blank>, Search=<blank> (Connect Automatically)

ĐIỀU KIỆN TIÊN QUYẾT KHI CÀI ĐẶT ORACLE

Thực hiện Thiết lập Tự động hoặc Thiết lập Thủ công để hoàn thành các điều kiện tiên quyết cơ bản. Cài đặt bổ sung là bắt buộc cho tất cả các cài đặt.

Thiết lập tự động

Nếu bạn định sử dụng gói "oracle-database-server-12cR2-preinstall" để thực hiện tất cả thiết lập điều kiện tiên quyết của mình, hãy làm theo hướng dẫn tại http://public-yum.oracle.com để thiết lập kho lưu trữ yum cho OL, sau đó thực hiện lệnh sau.

# yum install oracle-database-server-12cR2-preinstall -y

Tất cả các điều kiện tiên quyết cần thiết sẽ được thực hiện tự động.

Nó có lẽ cũng đáng để thực hiện một bản cập nhật đầy đủ, nhưng điều này là không cần thiết.

# yum update -y

Thiết lập thủ công

Nếu bạn chưa sử dụng gói "oracle-database-server-12cR2-preinstall" để thực hiện tất cả các điều kiện tiên quyết, bạn sẽ cần thực hiện thủ công các tác vụ thiết lập sau.

Thêm hoặc sửa đổi các dòng sau vào tệp "/etc/sysctl.conf" hay trong file "/etc/sysctl.d/98-oracle.conf".

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

Chạy lệnh sau để thay đổi các tham số hạt nhân hiện tại.

/sbin/sysctl -p
# hoặc
/sbin/sysctl -p /etc/sysctl.d/98-oracle.conf

Thêm các dòng sau vào tệp "/etc/security/limits.d/oracle-database-server-12cR2-preinstall.conf" 

oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768
oracle   hard   memlock    134217728
oracle   soft   memlock    134217728

Ngoài cài đặt hệ điều hành cơ bản, các gói sau phải được cài đặt khi đăng nhập với tư cách người dùng root. Điều này bao gồm các phiên bản 64-bit và 32-bit của một số gói.

# Từ Public Yum hoặc ULN
yum install binutils -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libXext -y
yum install libXext.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y
yum install zlib-devel -y
yum install zlib-devel.i686 -y

Tạo nhóm và người dùng mới.

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin
#groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba,oper oracle

Bạn có thể xác định các nhóm bổ sung và chỉ định chúng cho người dùng "oracle". Điều này sẽ cho phép bạn chỉ định các nhóm riêng lẻ trong quá trình cài đặt. Đối với cài đặt này, tôi vừa sử dụng nhóm "dba".

groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 asmdba
groupadd -g 54328 asmoper
groupadd -g 54329 asmadmin
groupadd -g 54330 racdba

useradd -u 54321 -g oinstall -G dba, oper, backupdba, dgdba, kmdba, asmdba, asmoper, asmadmin, racdba oracle

Thiết lập bổ sung

Các bước sau phải được thực hiện, cho dù bạn đã thiết lập thủ công hay tự động.

Thực hiện các bước sau trong khi đăng nhập vào máy ảo "ol7-122-rac1" với tư cách là người dùng root.

Đặt mật khẩu cho người dùng "oracle".

passwd oracle

Nếu bạn không sử dụng DNS, tệp "/etc/hosts" phải chứa thông tin sau.

127.0.0.1       localhost.localdomain   localhost
# Public
192.168.56.101   ol7-122-rac1.localdomain        ol7-122-rac1
192.168.56.102   ol7-122-rac2.localdomain        ol7-122-rac2
# Private
192.168.1.101   ol7-122-rac1-priv.localdomain   ol7-122-rac1-priv
192.168.1.102   ol7-122-rac2-priv.localdomain   ol7-122-rac2-priv
# Virtual
192.168.56.103   ol7-122-rac1-vip.localdomain    ol7-122-rac1-vip
192.168.56.104   ol7-122-rac2-vip.localdomain    ol7-122-rac2-vip
# SCAN
#192.168.56.105   ol7-122-scan.localdomain ol7-122-scan
#192.168.56.106   ol7-122-scan.localdomain ol7-122-scan
#192.168.56.107   ol7-122-scan.localdomain ol7-122-scan

Địa chỉ SCAN được nhận xét ra khỏi tệp máy chủ lưu trữ vì nó phải được phân giải bằng DNS, vì vậy nó có thể thay đổi giữa 3 địa chỉ trên cùng một mạng con với các IP công cộng. DNS có thể được cấu hình trên máy chủ bằng BIND hoặc Dnsmasq , đơn giản hơn nhiều. Nếu bạn đang sử dụng Dnsmasq, hãy đặt các mục nhập dành riêng cho RAC trong tệp "/etc/hosts" của máy chủ, với các mục SCAN không được chú thích và khởi động lại Dnsmasq.

Đảm bảo rằng tệp "/etc/resolv.conf" bao gồm một mục nhập máy chủ định danh trỏ đến máy chủ định danh chính xác. Ngoài ra, nếu cả hai mục "domain" và "search" đều xuất hiện, hãy bình luận một trong số chúng. Đối với cài đặt này, "/etc/resolv.conf" của như thế này.

#domain localdomain

search localdomain

nameserver 192.168.56.1

Các thay đổi đối với "resolv.conf" sẽ bị ghi đè bởi trình quản lý mạng, do sự hiện diện của giao diện NAT. Vì lý do này, giao diện này bây giờ sẽ bị tắt khi khởi động. Bạn có thể kích hoạt nó theo cách thủ công nếu bạn cần truy cập internet từ máy ảo. Chỉnh sửa tệp "/etc/sysconfig/network-scripts/ifcfg-enp0s3" (eth0), thực hiện thay đổi sau. Điều này sẽ có hiệu lực sau lần khởi động lại tiếp theo.

ONBOOT=no

Không cần phải khởi động lại ngay bây giờ. Bạn chỉ có thể chạy lệnh sau. Hãy nhớ sửa đổi tên bộ điều hợp nếu của bạn được đặt tên khác.

# ifdown enp0s3
# #ifdown eth0

Tại thời điểm này, mạng cho nút đầu tiên sẽ trông giống như sau. Lưu ý rằng enp0s3 (eth0) không có địa chỉ IP liên quan vì nó đã bị vô hiệu hóa.

# ifconfig
enp0s3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 08:00:27:f6:88:78  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.56.101  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::cf8d:317d:534:17d9  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:82:06:32  txqueuelen 1000  (Ethernet)
        RX packets 574  bytes 54444 (53.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 547  bytes 71219 (69.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.101  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::9a9a:f249:61d1:5447  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:2e:2c:cf  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29  bytes 4250 (4.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 68  bytes 5780 (5.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 68  bytes 5780 (5.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:4a:12:2f  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

# 

Với điều này tại chỗ và DNS được cấu hình, địa chỉ SCAN đang được phân giải thành cả ba địa chỉ IP.

# nslookup ol7-122-scan
Server:		192.168.56.1
Address:	192.168.56.1#53

Name:	ol7-122-scan.localdomain
Address: 192.168.56.105
Name:	ol7-122-scan.localdomain
Address: 192.168.56.106
Name:	ol7-122-scan.localdomain
Address: 192.168.56.107

#

Thay đổi cài đặt của SELinux thành cho phép bằng cách chỉnh sửa tệp "/etc/selinux/config", đảm bảo SELINUX được đặt như sau.

SELINUX=permissive

Nếu bạn đã bật tường lửa Linux, bạn cần phải tắt hoặc cấu hình nóSau đây là một ví dụ về vô hiệu hóa tường lửa.

# systemctl stop firewalld
# systemctl disable firewalld

Đảm bảo rằng NTP (Chrony trên OL7 / RHEL7) được bật.

# systemctl enable chronyd
# systemctl restart chronyd
# chronyc -a 'burst 4/4'
# chronyc -a makestep

Tạo các thư mục mà phần mềm Oracle sẽ được cài đặt.

ORA-09210
OSD-04002
O/S-Error: (OS 5) Access is denied.

Đăng nhập với tư cách người dùng "oracle" và thêm các dòng sau vào cuối tệp "/home/oracle/.bash_profile".

# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=ol7-122-rac1.localdomain
export ORACLE_UNQNAME=CDBRAC
export ORACLE_BASE=/u01/app/oracle
export GRID_HOME=/u01/app/12.2.0.1/grid
export DB_HOME=$ORACLE_BASE/product/12.2.0.1/db_1
export ORACLE_HOME=$DB_HOME
export ORACLE_SID=cdbrac1
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

alias grid_env='. /home/oracle/grid_env'
alias db_env='. /home/oracle/db_env'

Tạo một tệp có tên "/home/oracle/grid_env" với nội dung sau.

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

Tạo một tệp có tên "/home/oracle/db_env" với nội dung sau.

export ORACLE_SID=cdbrac1
export ORACLE_HOME=$DB_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

Khi "/home/oracle/.bash_profile" đã được chạy, bạn sẽ có thể chuyển đổi giữa các môi trường như sau.

$ grid_env
$ echo $ORACLE_HOME
/u01/app/12.2.0.1/grid
$ db_env
$ echo $ORACLE_HOME
/u01/app/oracle/product/12.2.0.1/db_1
$

Chúng tôi đã thực hiện rất nhiều thay đổi, vì vậy đáng để khởi động lại máy ảo tại thời điểm này để đảm bảo rằng tất cả các thay đổi đã có hiệu lực.

# shutdown -r now

CÀI ĐẶT BỔ SUNG

Nhấp vào tùy chọn  "Devices > Install Guest Additions" ở đầu màn hình VM. Nếu bạn có tùy chọn tự động chạy, hãy lấy nó. Nếu không, hãy chạy các lệnh sau.

cd /media/VBOXADDITIONS*
sh ./VBoxLinuxAdditions.run

Thêm người dùng "oracle" vào nhóm "vboxsf" để nó có quyền truy cập vào bộ nhớ dùng chung.

# usermod -G oinstall,dba,vboxsf oracle
# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54322(dba),54323(vboxsf)
#

Giải nén phần mềm cơ sở dữ liệu (nhưng không phải phần mềm lưới) trên máy chủ.

unzip linuxx64_12201_database.zip

Tạo một thư mục chia sẻ (Devices > Shared Folders) trên máy ảo, trỏ đến thư mục trên máy chủ lưu trữ nơi phần mềm Oracle đã được giải nén. Kiểm tra các tùy chọn "Auto-mount" và "Make Permanent" trước khi nhấp vào nút "OK".


Máy ảo sẽ cần được khởi động lại để các bổ sung trên VM được sử dụng đúng cách. Phần tiếp theo yêu cầu tắt máy nên không cần khởi động lại thêm vào lúc này. Sau khi máy ảo được khởi động lại, người dùng "oracle" sẽ có thể truy cập vào thư mục được chia sẻ có tên "/media/sf_12.2.0.1".

TẠO ĐĨA DÙNG CHUNG

Tắt máy ảo "ol7-122-rac1" bằng lệnh sau.

# shutdown -h now

Trên máy chủ lưu trữ, tạo 4 đĩa ảo có thể chia sẻ và liên kết chúng dưới dạng phương tiện ảo bằng các lệnh sau. Bạn có thể chọn một vị trí khác, nhưng hãy đảm bảo rằng chúng nằm ngoài thư mục VM hiện có.

$ mkdir -p /u04/VirtualBox/ol7-122-rac
$ cd /u04/VirtualBox/ol7-122-rac
$
$ # Create the disks and associate them with VirtualBox as virtual media.
$ VBoxManage createhd --filename asm1.vdi --size 20480 --format VDI --variant Fixed
$ VBoxManage createhd --filename asm2.vdi --size 20480 --format VDI --variant Fixed
$ VBoxManage createhd --filename asm3.vdi --size 20480 --format VDI --variant Fixed
$ VBoxManage createhd --filename asm4.vdi --size 20480 --format VDI --variant Fixed
$
$ # Connect them to the VM.
$ VBoxManage storageattach ol7-122-rac1 --storagectl "SATA" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable
$ VBoxManage storageattach ol7-122-rac1 --storagectl "SATA" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable
$ VBoxManage storageattach ol7-122-rac1 --storagectl "SATA" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable
$ VBoxManage storageattach ol7-122-rac1 --storagectl "SATA" --port 4 --device 0 --type hdd --medium asm4.vdi --mtype shareable
$
$ # Make shareable.
$ VBoxManage modifyhd asm1.vdi --type shareable
$ VBoxManage modifyhd asm2.vdi --type shareable
$ VBoxManage modifyhd asm3.vdi --type shareable
$ VBoxManage modifyhd asm4.vdi --type shareable
Nếu bạn đang sử dụng máy chủ Windows, bạn sẽ phải sửa đổi các đường dẫn, nhưng quá trình này vẫn giống nhau.
C:
mkdir C:\VirtualBox\ol7-122-rac
cd C:\VirtualBox\ol7-122-rac

"c:\Program Files\Oracle\VirtualBox\VBoxManage" createhd --filename asm1.vdi --size 20480 --format VDI --variant Fixed
"c:\Program Files\Oracle\VirtualBox\VBoxManage" createhd --filename asm2.vdi --size 20480 --format VDI --variant Fixed
"c:\Program Files\Oracle\VirtualBox\VBoxManage" createhd --filename asm3.vdi --size 20480 --format VDI --variant Fixed
"c:\Program Files\Oracle\VirtualBox\VBoxManage" createhd --filename asm4.vdi --size 20480 --format VDI --variant Fixed

"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac1 --storagectl "SATA" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac1 --storagectl "SATA" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac1 --storagectl "SATA" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac1 --storagectl "SATA" --port 4 --device 0 --type hdd --medium asm4.vdi --mtype shareable

"c:\Program Files\Oracle\VirtualBox\VBoxManage" modifyhd asm1.vdi --type shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" modifyhd asm2.vdi --type shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" modifyhd asm3.vdi --type shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" modifyhd asm4.vdi --type shareable

Khởi động máy ảo "ol7-122-rac1" bằng cách nhấp vào nút "Start" trên thanh công cụ. Khi máy chủ đã khởi động, hãy đăng nhập với tư cách người dùng root để bạn có thể định cấu hình các đĩa dùng chung. Các đĩa hiện tại có thể được nhìn thấy bằng cách đưa ra các lệnh sau.

# cd /dev

# ls sd*

sda  sda1  sda2  sdb  sdc  sdd  sde

#

Sử dụng lệnh "fdisk" để phân vùng các đĩa sdb thành sde. Đầu ra sau đây hiển thị đầu ra fdisk dự kiến ​​cho đĩa sdb.

# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Device does not contain a recognized partition table
Building a new DOS disklabel with disk identifier 0x14a4629c.

Command (m for help): n
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p
Partition number (1-4, default 1): 
First sector (2048-41943039, default 2048): 
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-41943039, default 41943039): 
Using default value 41943039
Partition 1 of type Linux and of size 20 GiB is set

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.
#

Trong mỗi trường hợp, chuỗi câu trả lời là "n", "p", "1", "Return", "Return" và "w".

Khi tất cả các đĩa được phân vùng, kết quả có thể được nhìn thấy bằng cách lặp lại lệnh "ls" trước đó.

# cd / dev
# ls sd *
sda sda1 sda2 sdb sdb1 sdc sdc1 sdd sdd1 sde sde1
#

Thêm phần sau vào tệp "/etc/scsi_id.config" để định cấu hình thiết bị SCSI là đáng tin cậy. Tạo tệp nếu nó chưa tồn tại.

options=-g

ID SCSI của đĩa của tôi được hiển thị bên dưới.

# /usr/lib/udev/scsi_id -g -u -d /dev/sdb1
1ATA_VBOX_HARDDISK_VB189c7a69-689f61b0
# /usr/lib/udev/scsi_id -g -u -d /dev/sdc1
1ATA_VBOX_HARDDISK_VBc4ae174e-fc756d12
# /usr/lib/udev/scsi_id -g -u -d /dev/sdd1
1ATA_VBOX_HARDDISK_VBa4e03079-ae751cbd
# /usr/lib/udev/scsi_id -g -u -d /dev/sde1
1ATA_VBOX_HARDDISK_VBf00747dc-10252f06
#

Sử dụng các giá trị này, chỉnh sửa tệp "/etc/udev/rules.d/99-oracle-asmdevices.rules" thêm 4 mục nhập sau. Tất cả các tham số cho một mục nhập phải nằm trên cùng một dòng.

KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VB189c7a69-689f61b0", SYMLINK+="oracleasm/asm-disk1", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBc4ae174e-fc756d12", SYMLINK+="oracleasm/asm-disk2", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBa4e03079-ae751cbd", SYMLINK+="oracleasm/asm-disk3", OWNER="oracle", GROUP="dba", MODE="0660"
KERNEL=="sd?1", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d /dev/$parent", RESULT=="1ATA_VBOX_HARDDISK_VBf00747dc-10252f06", SYMLINK+="oracleasm/asm-disk4", OWNER="oracle", GROUP="dba", MODE="0660"

Tải bảng phân vùng thiết bị khối (block) đã cập nhật.

# /sbin/partprobe /dev/sdb1
# /sbin/partprobe /dev/sdc1
# /sbin/partprobe /dev/sdd1
# /sbin/partprobe /dev/sde1

Kiểm tra các quy tắc đang hoạt động như mong đợi.

# /sbin/udevadm test /block/sdb/sdb1

Tải lại các quy tắc UDEV và khởi động UDEV.

# /sbin/udevadm control --reload-rules

Các đĩa bây giờ sẽ hiển thị và có quyền sở hữu chính xác bằng cách sử dụng lệnh sau. Nếu chúng không hiển thị, cấu hình UDEV của bạn không chính xác và phải được sửa trước khi bạn tiếp tục.

# ls -al /dev/oracleasm/*
lrwxrwxrwx. 1 root root 7 Mar  6 17:41 /dev/oracleasm/asm-disk1 -> ../sdb1
lrwxrwxrwx. 1 root root 7 Mar  6 17:41 /dev/oracleasm/asm-disk2 -> ../sdc1
lrwxrwxrwx. 1 root root 7 Mar  6 17:41 /dev/oracleasm/asm-disk3 -> ../sdd1
lrwxrwxrwx. 1 root root 7 Mar  6 17:41 /dev/oracleasm/asm-disk4 -> ../sde1
#

Các symbolic links được sở hữu bởi root, nhưng các thiết bị mà chúng trỏ đến hiện có quyền sở hữu chính xác.

# ls -al /dev/sd*1
brw-rw----. 1 root   disk 8,  1 Apr 25 14:11 /dev/sda1
brw-rw----. 1 oracle dba  8, 17 Apr 25 14:11 /dev/sdb1
brw-rw----. 1 oracle dba  8, 33 Apr 25 14:11 /dev/sdc1
brw-rw----. 1 oracle dba  8, 49 Apr 25 14:11 /dev/sdd1
brw-rw----. 1 oracle dba  8, 65 Apr 25 14:11 /dev/sde1
#

Các đĩa dùng chung hiện đã được định cấu hình cho grid infrastructure.

SAO CHÉP (CLONE) MÁY ẢO

Không sử dụng VirtualBox để sao chép máy ảo, vì nó cũng sẽ cố gắng sao chép các đĩa dùng chung, đây không phải là điều chúng ta muốn. Thay vào đó, chúng ta phải sao chép thủ công VM.

Tắt máy ảo "ol7-122-rac1" bằng lệnh sau.

# shutdown -h now

"Bạn có thể gặp lỗi nếu tạo đĩa ảo ở vị trí mặc định mà VirtualBox sẽ sử dụng để tạo máy ảo. Nếu điều đó xảy ra, hãy đổi tên thư mục chứa đĩa ảo mới và thực hiện lại quá trình tạo VM mới"

Sao chép thủ công đĩa "ol7-122-rac1.vdi" bằng các lệnh sau trên máy chủ lưu trữ.

$ # Linux
$ mkdir -p /u03/VirtualBox/ol7-122-rac2
$ VBoxManage clonehd /u01/VirtualBox/ol7-122-rac1/ol7-122-rac1.vdi /u03/VirtualBox/ol7-122-rac2/ol7-122-rac2.vdi

Rem Windows
mkdir "C:\VirtualBox\ol7-122-rac2"
"c:\Program Files\Oracle\VirtualBox\VBoxManage" clonehd "C:\VirtualBox\ol7-122-rac1\ol7-122-rac1.vdi" "C:\VirtualBox\ol7-122-rac2\ol7-122-rac2.vdi"

Tạo máy ảo "ol7-122--rac2" trong VirtualBox theo cách giống như cách bạn đã làm với "ol7-122--rac1", ngoại trừ việc sử dụng ổ cứng ảo "ol7-122--rac2.vdi" hiện có.


Hãy nhớ thêm bộ điều hợp mạng thứ hai như bạn đã làm trên máy ảo "ol7-122-rac1". Khi máy ảo được tạo, hãy gắn các đĩa dùng chung vào máy ảo này.

$ # Linux : Switch to the shared storage location and attach them.
$ cd /u04/VirtualBox/ol7-122-rac
$
$ VBoxManage storageattach ol7-122-rac2 --storagectl "SATA" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable
$ VBoxManage storageattach ol7-122-rac2 --storagectl "SATA" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable
$ VBoxManage storageattach ol7-122-rac2 --storagectl "SATA" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable
$ VBoxManage storageattach ol7-122-rac2 --storagectl "SATA" --port 4 --device 0 --type hdd --medium asm4.vdi --mtype shareable


Rem Windows : Switch to the shared storage location and attach them.
C:
cd C:\VirtualBox\ol7-122-rac

"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac2 --storagectl "SATA" --port 1 --device 0 --type hdd --medium asm1.vdi --mtype shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac2 --storagectl "SATA" --port 2 --device 0 --type hdd --medium asm2.vdi --mtype shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac2 --storagectl "SATA" --port 3 --device 0 --type hdd --medium asm3.vdi --mtype shareable
"c:\Program Files\Oracle\VirtualBox\VBoxManage" storageattach ol7-122-rac2 --storagectl "SATA" --port 4 --device 0 --type hdd --medium asm4.vdi --mtype shareable

Khởi động máy ảo "ol7-122-rac2" bằng cách nhấp vào nút "Start" trên thanh công cụ. Bỏ qua mọi lỗi mạng trong quá trình khởi động.

Đăng nhập vào máy ảo "ol7-122-rac2" với tư cách là người dùng "root" để chúng tôi có thể cấu hình lại cài đặt mạng cho phù hợp với những điều sau.

  • hostname: ol7-122-rac2.localdomain
  • enp0s3 (eth0): DHCP (*Not* Connect Automatically)
  • enp0s8 (eth1): IP=192.168.56.102, Subnet=255.255.255.0, Gateway=192.168.56.1, DNS=192.168.56.1, Search=localdomain (Connect Automatically)
  • enp0s9 (eth2): IP=192.168.1.102, Subnet=255.255.255.0, Gateway=<blank>, DNS=<blank>, Search=<blank> (Connect Automatically)

Sửa đổi tên máy chủ trong tệp "/ etc / hostname".

ol7-122-rac2.localdomain

Không giống như các phiên bản Linux trước, chúng ta không cần phải chỉnh sửa địa chỉ MAC được liên kết với bộ điều hợp mạng, nhưng chúng ta sẽ phải thay đổi địa chỉ IP của chúng.

Chỉnh sửa "/etc/sysconfig/network-scripts/ifcfg-enp0s8" (eth1), chỉ sửa đổi cài đặt IPADDR như sau và xóa mục nhập UUID.

IPADDR=192.168.56.102

Chỉnh sửa "/etc/sysconfig/network-scripts/ifcfg-enp0s9" (eth2), chỉ sửa đổi cài đặt IPADDR như sau và xóa mục nhập UUID.

IPADDR=192.168.1.102

Khởi động lại máy ảo.

# shutdown -r now

Tại thời điểm này, mạng cho nút thứ hai sẽ giống như sau. Lưu ý rằng enp0s3 (eth0) không có địa chỉ IP liên quan vì nó đã bị vô hiệu hóa.

# ifconfig
enp0s3 : flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        ether 08:00:27:dc:7c:74  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.56.102  netmask 255.255.255.0  broadcast 192.168.56.255
        inet6 fe80::a00:27ff:fed9:c89a  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:d9:c8:9a  txqueuelen 1000  (Ethernet)
        RX packets 197  bytes 19460 (19.0 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 178  bytes 27171 (26.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp0s9: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.102  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::a00:27ff:feb4:6bf  prefixlen 64  scopeid 0x20<link>
        ether 08:00:27:b4:06:bf  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 30  bytes 4112 (4.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 0  (Local Loopback)
        RX packets 4  bytes 420 (420.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 420 (420.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

#


Chỉnh sửa tệp "/home/oracle/.bash_profile" trên nút "ol7-122-rac2" để sửa các giá trị ORACLE_SID và ORACLE_HOSTNAME.

export ORACLE_SID=cdbrac2
export ORACLE_HOSTNAME=ol7-122-rac2.localdomain

Ngoài ra, hãy sửa đổi cài đặt ORACLE_SID trong các tệp "/home/oracle/db_env" và "/home/oracle/grid_env".

Khởi động lại máy ảo "ol7-122-rac2" và khởi động máy ảo "ol7-122-rac1". Khi cả hai nút đã khởi động, hãy kiểm tra xem chúng có thể ping tất cả các địa chỉ IP Public và Private không bằng cách sử dụng các lệnh sau.

ping -c 3 ol7-122-rac1
ping -c 3 ol7-122-rac1-priv
ping -c 3 ol7-122-rac2
ping -c 3 ol7-122-rac2-priv

Kiểm tra địa chỉ SCAN vẫn đang được giải quyết đúng cách trên cả hai node.

# nslookup ol7-122-scan
Server:		192.168.56.1
Address:	192.168.56.1#53

Name:	ol7-122-scan.localdomain
Address: 192.168.56.105
Name:	ol7-122-scan.localdomain
Address: 192.168.56.106
Name:	ol7-122-scan.localdomain
Address: 192.168.56.107

#

Tại thời điểm này, các địa chỉ IP ảo được xác định trong tệp "/etc/hosts" sẽ không hoạt động, vì vậy đừng bận tâm kiểm tra chúng.

Kiểm tra các quy tắc UDEV đang hoạt động trên cả hai máy.

# ls -al /dev/oracleasm/*
lrwxrwxrwx. 1 root root 7 Sep 18 08:19 /dev/oracleasm/asm-disk1 -> ../sdb1
lrwxrwxrwx. 1 root root 7 Sep 18 08:19 /dev/oracleasm/asm-disk2 -> ../sdc1
lrwxrwxrwx. 1 root root 7 Sep 18 08:19 /dev/oracleasm/asm-disk3 -> ../sdd1
lrwxrwxrwx. 1 root root 7 Sep 18 08:19 /dev/oracleasm/asm-disk4 -> ../sde1
#

Trước 11gR2, chúng tôi có thể sẽ sử dụng tiện ích "runcluvfy.sh" trong thư mục gốc của phần mềm cụm để kiểm tra các điều kiện tiên quyết đã được đáp ứng. Nếu bạn đang định cấu hình kết nối SSH bằng trình cài đặt, kiểm tra này nên được bỏ qua vì nó sẽ luôn không thành công. Nếu bạn muốn thiết lập kết nối SSH theo cách thủ công thì sau khi hoàn tất, bạn có thể chạy "runcluvfy.sh" bằng lệnh sau.

/mountpoint/clusterware/runcluvfy.sh stage -pre crsinst -n ol7-122-rac1,ol7-122-rac2 -verbose

Nếu bạn gặp bất kỳ lỗi nào, hãy chắc chắn sửa chúng trước khi tiếp tục.

Quá trình thiết lập máy ảo đã hoàn tất.

Trước khi tiếp tục, bạn có thể nên tắt các máy ảo của mình và chụp nhanh chúng. Nếu có bất kỳ lỗi nào xảy ra ngoài thời điểm này, tốt hơn là nên chuyển về các ảnh chụp nhanh đó, dọn dẹp các ổ đĩa được chia sẻ và bắt đầu lại cài đặt lưới. Một giải pháp thay thế để dọn dẹp các đĩa dùng chung là sao lưu chúng ngay bây giờ bằng cách sử dụng zip và chỉ cần thay thế chúng trong trường hợp bị lỗi.

$ # Linux
$ cd /u04/VirtualBox/ol7-122-rac
$ zip PreGrid.zip *.vdi

Rem Windows
C:
cd C:\VirtualBox\ol7-122-rac
zip PreGrid.zip *.vdi

CÀI ĐẶT GRID INFRASTRUCTURE

Đảm bảo rằng cả hai máy ảo đều được khởi động. GI bây giờ là một cài đặt hình ảnh, vì vậy hãy thực hiện như sau trên nút đầu tiên với tư cách là người dùng "oracle".

export SOFTWARE_LOCATION=/media/sf_12.2.0.1/
cd /u01/app/12.2.0.1/grid
unzip -q $SOFTWARE_LOCATION/linuxx64_12201_grid_home.zip

Cài đặt gói sau từ nhà lưới với tư cách là người dùng "gốc" trên tất cả các nút.

su -
# Local node.
cd /u01/app/12.2.0.1/grid/cv/rpm
rpm -Uvh cvuqdisk*

# Remote node.
scp ./cvuqdisk* root@ol7-122-rac2:/tmp
ssh root@ol7-122-rac2 rpm -Uvh /tmp/cvuqdisk*
exit

Nếu bạn định sử dụng Trình điều khiển AFD (ASMLib mới), bạn sẽ định cấu hình các đĩa dùng chung bằng lệnh asmcmd như hình dưới đây. Chúng tôi đang sử dụng UDEV, vì vậy điều này là không cần thiết.

# !!!! Tôi không dùng cách này! !!!!
su -

# Set environment.
export ORACLE_HOME=/u01/app/12.2.0.1/grid
export ORACLE_BASE=/tmp

# Mark disks.
$ORACLE_HOME/bin/asmcmd afd_label DISK1 /dev/oracleasm/asm-disk1 --init
$ORACLE_HOME/bin/asmcmd afd_label DISK2 /dev/oracleasm/asm-disk2 --init
$ORACLE_HOME/bin/asmcmd afd_label DISK3 /dev/oracleasm/asm-disk3 --init
$ORACLE_HOME/bin/asmcmd afd_label DISK4 /dev/oracleasm/asm-disk4 --init

# Test Disks.
$ORACLE_HOME//bin/asmcmd afd_lslbl /dev/oracleasm/asm-disk1
$ORACLE_HOME//bin/asmcmd afd_lslbl /dev/oracleasm/asm-disk2
$ORACLE_HOME//bin/asmcmd afd_lslbl /dev/oracleasm/asm-disk3
$ORACLE_HOME//bin/asmcmd afd_lslbl /dev/oracleasm/asm-disk4

# unset environment.
unset ORACLE_BASE

exit

Cấu hình Grid Infrastructure bằng cách chạy phần sau với tư cách là người dùng "oracle".

Tôi có thể đã chạy cấu hình ở chế độ silent bằng cách sử dụng tệp phản hồi đã chỉnh sửa này ( grid_config.rsp ) bằng lệnh sau 

cd /u01/app/12.2.0.1/grid
./gridSetup.sh -silent -responseFile /tmp/grid_config.rsp

Thay vào đó, đây là cấu hình tương tác.

cd /u01/app/12.2.0.1/grid
./gridSetup.sh

Chọn tùy chọn "Configure Oracle Grid Infrastructure for a New Cluster", sau đó nhấp vào nút "Next".


Chấp nhận tùy chọn "Configure an Oracle Standalone Cluster" bằng cách nhấp vào nút "Next".


Nhập tên cụm "ol7-122-cluster",  SCAN name "ol7-122-scan" và SCAN port "1521", sau đó nhấp vào nút "Next".



Trên màn hình "Cluster Node Information", nhấp vào nút "Add".


Nhập chi tiết của node thứ hai trong cụm, sau đó nhấp vào nút "OK".


Nhấp vào nút "SSH connectivity..." và nhập mật khẩu cho người dùng "oracle". Nhấp vào nút "Setup" để định cấu hình kết nối SSH và nút "Kiểm tra" để kiểm tra sau khi hoàn tất. Khi quá trình kiểm tra hoàn tất, hãy nhấp vào nút "Next".



Kiểm tra các mạng public và private được chỉ định một cách chính xác. Nếu giao diện NAT được hiển thị, hãy nhớ đánh dấu nó là "Do Not Use". Nhấp vào nút "Next".



Chấp nhận tùy chọn "Configure ASM using block devices" bằng cách nhấp vào nút "Next".



Chọn tùy chọn "No", vì chúng tôi không muốn tạo một nhóm đĩa riêng biệt cho GIMR trong trường hợp này. Nhấp vào nút "Next".


Đặt phần dư thừa thành "External", nhấp vào nút "Change Discovery Path" và đặt đường dẫn thành "/dev/oracleasm/*". Quay lại màn hình chính và chọn tất cả 4 đĩa. Bỏ chọn tùy chọn "Configure Oracle ASM Filter Driver", sau đó nhấp vào nút "Next".



Nhập thông tin đăng nhập pass và nhấp vào nút "Next".

Chấp nhận tùy chọn IPMI mặc định bằng cách nhấp vào nút "Next".

Đừng đăng ký với EM. Nhấp vào nút "Next".


Chúng tôi đang sử dụng một người dùng và nhóm quản lý cả ASM thêm cơ sở dữ liệu, vì vậy hãy đặt các nhóm thành "dba" và nhấp vào nút "Next". Chấp nhận các cảnh báo trên hộp thoại tiếp theo bằng cách nhấp vào nút "Yes".


Nhập vị trí Cơ sở Oracle "/u01/app/oracle" và nhấp vào nút "Next". Chúng tôi đã tạo trước các thư mục để cài đặt cơ sở dữ liệu sau này, vì vậy hãy bỏ qua cảnh báo tiếp theo về việc Cơ sở Oracle không bị trống bằng cách nhấp vào nút "Yes".


Chấp nhận thư mục Inventory  mặc định bằng cách nhấp vào nút "Next".


Nếu bạn muốn các tập lệnh root chạy tự động, hãy nhập thông tin đăng nhập có liên quan. Tôi thích chạy chúng theo cách thủ công. Nhấp vào nút "Next".


Chờ trong khi kiểm tra điều kiện tiên quyết hoàn tất. Nếu bạn gặp bất kỳ sự cố nào, hãy sử dụng nút "Fix & Check Again". Sau khi các bản sửa lỗi có thể hoàn tất, hãy chọn hộp kiểm "Ignore All" và nhấp vào nút "Next". Có khả năng các bài kiểm tra "Physical Memory" và "Network Time Protocol (NTP)" sẽ không thành công đối với kiểu cài đặt này. Điều này là OK.


Nếu bạn hài lòng với thông tin tóm tắt, hãy nhấp vào nút "Install".


Chờ trong khi quá trình cài đặt diễn ra.


Khi được nhắc, hãy chạy các tập lệnh cấu hình trên mỗi nút.


Đầu ra từ tệp "orainstRoot.sh" sẽ trông giống như được liệt kê bên dưới.

# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
#

Đầu ra của "root.sh" sẽ thay đổi một chút tùy thuộc vào nút mà nó được chạy. Đầu ra ví dụ có thể được nhìn thấy ở đây ( Node1 , Node2 ).

Khi các tập lệnh đã hoàn tất, quay lại màn hình "Thực thi Tập lệnh Cấu hình" trên "ol7-122-rac1" và nhấp vào nút "OK".


Chờ cho các trợ lý cấu hình hoàn tất.


Nếu bất kỳ bước cấu hình nào không thành công, bạn nên kiểm tra nhật ký được chỉ định để xem lỗi có phải là trình dừng hay không. Lỗi duy nhất tôi nhận được là đối với đồng bộ hóa thời gian (PRVG-13606...

PRVG-13606 : chrony daemon is not synchronized with any external time source on node ...

Với điều kiện bạn không có bất kỳ nút chặn trình chiếu nào, bạn có thể yên tâm bỏ qua lỗi bằng cách nhấp vào nút "Next".

Nhấp vào nút "Close" để thoát khỏi trình cài đặt.


Việc cài đăẹt grid infrastructure  hiện đã hoàn tất. Chúng ta có thể kiểm tra trạng thái cài đặt bằng các lệnh sau.


$ grid_env
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name           Target  State        Server                   State details       
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.ASMNET1LSNR_ASM.lsnr
               ONLINE  ONLINE       ol7-122-rac1             STABLE
               ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.DATA.dg
               ONLINE  ONLINE       ol7-122-rac1             STABLE
               ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.LISTENER.lsnr
               ONLINE  ONLINE       ol7-122-rac1             STABLE
               ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.chad
               ONLINE  ONLINE       ol7-122-rac1             STABLE
               ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.net1.network
               ONLINE  ONLINE       ol7-122-rac1             STABLE
               ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.ons
               ONLINE  ONLINE       ol7-122-rac1             STABLE
               ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.proxy_advm
               OFFLINE OFFLINE      ol7-122-rac1             STABLE
               OFFLINE OFFLINE      ol7-122-rac2             STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.LISTENER_SCAN1.lsnr
      1        ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.LISTENER_SCAN2.lsnr
      1        ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.LISTENER_SCAN3.lsnr
      1        ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.MGMTLSNR
      1        ONLINE  ONLINE       ol7-122-rac2             169.254.137.110 192.
                                                             168.1.102,STABLE
ora.asm
      1        ONLINE  ONLINE       ol7-122-rac1             Started,STABLE
      2        ONLINE  ONLINE       ol7-122-rac2             Started,STABLE
      3        OFFLINE OFFLINE                               STABLE
ora.cvu
      1        ONLINE  ONLINE       ol7-122-rac1             STABLE
ora.mgmtdb
      1        ONLINE  ONLINE       ol7-122-rac2             Open,STABLE
ora.ol7-122-rac1.vip
      1        ONLINE  ONLINE       ol7-122-rac1             STABLE
ora.ol7-122-rac2.vip
      1        ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.qosmserver
      1        ONLINE  ONLINE       ol7-122-rac1             STABLE
ora.scan1.vip
      1        ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.scan2.vip
      1        ONLINE  ONLINE       ol7-122-rac2             STABLE
ora.scan3.vip
      1        ONLINE  ONLINE       ol7-122-rac2             STABLE
--------------------------------------------------------------------------------
$

Tại thời điểm này, có lẽ nên tắt cả hai máy ảo và chụp ảnh nhanh (snapshot). Hãy nhớ tạo một tệp zip mới của các đĩa ASM trên máy chủ, bạn sẽ cần khôi phục tệp này nếu bạn hoàn nguyên về ảnh chụp nhanh sau grid.

$ cd /u04/VirtualBox/ol7-122-rac
$ zip PostGrid.zip *.vdi

CÀI ĐẶT Database Software

Đảm bảo rằng máy ảo "ol7-122-rac1" và "ol7-122-rac2" được khởi động, sau đó đăng nhập vào "ol7-122-rac1" với tư cách người dùng oracle và khởi động trình cài đặt Oracle. Kiểm tra xem tất cả các dịch vụ đã hoạt động chưa bằng cách sử dụng "crsctl stat res -t", như đã mô tả trước đây.

Tôi có thể đã chạy OUI ở chế độ im lặng bằng cách sử dụng tệp phản hồi đã chỉnh sửa này ( db_install.rsp ) bằng lệnh sau.

$ db_env
$ cd /media/sf_12.2.0.1/database
$ ./runInstaller -silent -ignoreSysPrereqs -showProgress -responseFile /tmp/db_install.rsp

Thay vào đó, đây là chế độ xem tương tác.

$ db_env
$ cd /media/sf_12.2.0.1/database
$ ./runInstaller

Bỏ chọn hộp kiểm cập nhật bảo mật và nhấp vào nút "Next" và "Yes" trên hộp thoại cảnh báo tiếp theo.


Chọn tùy chọn "Install database software only", sau đó nhấp vào nút "Next".


Chấp nhận tùy chọn "Oracle Real Application Clusters database installation" bằng cách nhấp vào nút "Next".


Đảm bảo rằng cả hai node đều được chọn, sau đó nhấp vào nút "Next".


Chọn tùy chọn "Enterprise Edition", sau đó nhấp vào nút "Next".


Nhập"/u01/app/oracle" làm Oracle base và "/u01/app/oracle/product/12.2.0.1/db_1" làm oracle software, sau đó nhấp vào nút "Next".


Chọn nhóm hệ điều hành mong muốn, sau đó nhấp vào nút "Next". Trong trường hợp này, chúng tôi chỉ sử dụng nhóm "dba".


Chờ cho quá trình kiểm tra điều kiện tiên quyết hoàn tất. Nếu có bất kỳ sự cố nào, hãy nhấp vào nút "Fix & Check Again" hoặc chọn hộp kiểm "Ignore All" và nhấp vào nút "Next".


Nếu bạn hài lòng với thông tin tóm tắt, hãy nhấp vào nút "Install".


Chờ trong khi quá trình cài đặt diễn ra.


Khi được nhắc, hãy chạy tập lệnh cấu hình trên mỗi nút. Khi các tập lệnh đã được chạy trên mỗi nút, hãy nhấp vào nút "OK".


Nhấp vào nút "Close" để thoát khỏi trình cài đặt.


Tắt cả hai máy ảo và chụp ảnh nhanh (snapshot). Hãy nhớ tạo một tệp zip mới của các đĩa ASM trên máy chủ, bạn sẽ cần khôi phục tệp này nếu bạn hoàn nguyên về ảnh chụp nhanh sau db.

$ cd /u04/VirtualBox/ol7-122-rac
$ zip PostDB.zip *.vdi

Tạo cơ sở dữ liệu

Đảm bảo rằng máy ảo "ol7-122-rac1" và "ol7-122-rac2" được khởi động, sau đó đăng nhập vào "ol7-122-rac1" với tư cách người dùng oracle và khởi động Database Creation Asistant (DBCA).

Tôi có thể đã chạy DBCA ở chế độ silent bằng cách sử dụng tệp phản hồi đã chỉnh sửa này ( dbca.rsp ) bằng lệnh sau.

db_env
dbca -silent -responseFile /tmp/dbca.rsp

Thay vào đó, đây là chế độ xem tương tác.

$ db_env
$ dbca

Chọn tùy chọn "Create Database" và nhấp vào nút "Next".


Chọn tùy chọn "Typical configuration". Nhập tên container database (cdbrac), tên  pluggable database (pdb1) và mật khẩu quản trị viên. Nhấp vào nút "Next".


Chờ cho quá trình kiểm tra điều kiện tiên quyết hoàn tất. Nếu có bất kỳ sự cố nào, hãy khắc phục chúng hoặc chọn hộp kiểm "Ignore All" và nhấp vào nút "Next". Nếu không có vấn đề gì, bạn sẽ chuyển thẳng đến màn hình tóm tắt.

Nếu bạn hài lòng với thông tin tóm tắt, hãy nhấp vào nút "Finish".


Chờ trong khi quá trình tạo cơ sở dữ liệu diễn ra.


Nếu bạn muốn sửa đổi mật khẩu, hãy nhấp vào nút "Password Management". Khi hoàn tất, hãy nhấp vào nút "Close".


Việc tạo cơ sở dữ liệu RAC hiện đã hoàn tất.

KIỂM TRA TRẠNG THÁI CỦA RAC

Có một số cách để kiểm tra trạng thái của RAC. Các tiện ích srvctl cho thấy cấu hình hiện tại và trạng thái của cơ sở dữ liệu RAC.

$ srvctl config database -d cdbrac
Database unique name: cdbrac
Database name: cdbrac
Oracle home: /u01/app/oracle/product/12.2.0.1/db_1
Oracle user: oracle
Spfile: +DATA/CDBRAC/PARAMETERFILE/spfile.306.938083453
Password file: +DATA/CDBRAC/PASSWORD/pwdcdbrac.285.938081999
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: 
Disk Groups: DATA
Mount point paths: 
Services: 
Type: RAC
Start concurrency: 
Stop concurrency: 
OSDBA group: dba
OSOPER group: 
Database instances: cdbrac1,cdbrac2
Configured nodes: ol7-122-rac1,ol7-122-rac2
CSS critical: no
CPU count: 0
Memory target: 0
Maximum memory: 0
Default network number for database services: 
Database is administrator managed
$

$ srvctl status database -d cdbrac
Instance cdbrac1 is running on node ol7-122-rac1
Instance cdbrac2 is running on node ol7-122-rac2
$

Các V$ACTIVE_INSTANCES cũng có thể hiển thị trạng thái hiện tại của instance.

$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Wed Mar 8 11:04:42 2017

Copyright (c) 1982, 2016, Oracle.  All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> SELECT inst_name FROM v$active_instances;


INST_NAME
--------------------------------------------------------------------------------
ol7-122-rac1.localdomain:cdbrac1
ol7-122-rac2.localdomain:cdbrac2

SQL>

Hy vọng hữu ích được cho bạn.

=============================
* KHOÁ HỌC ORACLE DATABASE A-Z ENTERPRISE trực tiếp từ tôi giúp bạn bước đầu trở thành những chuyên gia DBA, đủ kinh nghiệm đi thi chứng chỉ OA/OCP, đặc biệt là rất nhiều kinh nghiệm, bí kíp thực chiến trên các hệ thống Core tại VN chỉ sau 1 khoá học.
* CÁCH ĐĂNG KÝ: Gõ (.) hoặc để lại số điện thoại hoặc inbox https://m.me/tranvanbinh.vn hoặc Hotline/Zalo 090.29.12.888
* Chi tiết tham khảo:
https://bit.ly/oaz_w
hoặc
https://bit.ly/oaz_fp
=============================
KẾT NỐI VỚI CHUYÊN GIA TRẦN VĂN BÌNH:
📧 Mail: binhoracle@gmail.com
☎️ Mobile: 0902912888
⚡️ Skype: tranbinh48ca
👨 Facebook: https://www.facebook.com/BinhOracleMaster
👨 Inbox Messenger: https://m.me/101036604657441 (profile)
👨 Fanpage: https://www.facebook.com/tranvanbinh.vn
👨 Inbox Fanpage: https://m.me/tranvanbinh.vn
👨👩 Group FB: https://www.facebook.com/groups/DBAVietNam
👨 Website: https://www.tranvanbinh.vn
👨 Blogger: https://tranvanbinhmaster.blogspot.com
🎬 Youtube: http://bit.ly/ytb_binhoraclemaster
👨 Tiktok: https://www.tiktok.com/@binhoraclemaster?lang=vi
👨 Linkin: https://www.linkedin.com/in/binhoracle
👨 Twitter: https://twitter.com/binhoracle
👨 Địa chỉ: Tòa nhà Sun Square - 21 Lê Đức Thọ - Phường Mỹ Đình 1 - Quận Nam Từ Liêm - TP.Hà Nội

=============================
học oracle database
Các tìm kiếm liên quan đến học oracle
database
Tự học Oracle
Tài liệu Oracle 12c tiếng Việt
Hướng dẫn sử dụng Oracle Database
Oracle SQL cơ bản
Oracle SQL là gì
Khóa học Oracle Hà Nội
Học chứng chỉ Oracle ở đầu
Khóa học Oracle online
khóa học pl/sql
học dba
học dba ở việt nam
khóa học dba
khóa học dba sql
tài liệu học dba oracle
Khóa học Oracle online
học oracle sql
học oracle ở đâu tphcm
học oracle bắt đầu từ đâu
học oracle ở hà nội
oracle database tutorial
oracle database 12c
oracle database là gì
oracle database 11g
oracle download
oracle database 19c
oracle dba tutorial
oracle tunning
sql tunning
oracle 12c
oracle dataguard
oracle goldengate
oracle weblogic
oracle exadata
hoc solaris
hoc linux
hoc aix

ĐỌC NHIỀU

Trần Văn Bình - Oracle Database Master