Menginstal Oracle RAC di Solusi Bare Metal

Halaman ini menunjukkan cara menginstal Oracle Real Application Clusters (RAC) di server Solusi Bare Metal Anda.

Deployment

Dalam panduan ini, kita membuat deployment yang menyertakan Oracle RAC 19c yang diinstal di server Solusi Bare Metal. Kita membuat RAC dua node dengan database.

Sebelum memulai

  • Pastikan Anda menyediakan infrastruktur yang diperlukan untuk RAC. Ini mencakup dua node, penyimpanan bersama, dan volume khusus untuk menghosting direktori utama Oracle.
  • Dalam panduan ini, kita menggunakan proses penginstalan GUI. Jika Anda juga ingin menggunakan proses penginstalan GUI, konfigurasikan Virtual Network Computing (VNC) di salah satu node dengan mengikuti panduan penyiapan Oracle VNC.
  • Buat titik pemasangan lokal /apps untuk menghosting direktori rumah Oracle dan rumah Grid.

Menginstal RAC

Menginstal RAC di Solusi Bare Metal melibatkan langkah-langkah berikut:

  1. Siapkan node untuk penginstalan RAC.
  2. Konfigurasi Oracle ASM.
  3. Lakukan pemeriksaan pra-penginstalan.
  4. Instal Oracle RAC.
  5. Lakukan langkah-langkah pasca-penginstalan.

Menyiapkan node untuk penginstalan RAC

Lakukan langkah-langkah berikut di kedua node, kecuali jika ditentukan lain:

  1. Perbarui file /etc/hosts dengan alamat IP berikut untuk RAC:

    • Alamat IP publik
    • Alamat IP pribadi
    • Alamat IP virtual
    • Alamat IP virtual SCAN

    Berikut adalah contoh file /etc/hosts yang diubah:

    
     10.*.*.* bms-jumphost
    
     # public IP addresses for Oracle RAC
     192.*.*.* at-2811641-svr001 at-2811641-svr001.localdomain
     192.*.*.* at-2811641-svr002 at-2811641-svr002.localdomain
    
     # private IP addresses for Oracle RAC
     172.*.*.* at-2811641-svr001-priv at-2811641-svr001-priv.localdomain
     172.*.*.* at-2811641-svr002-priv at-2811641-svr002-priv.localdomain
    
     # virtual IP addresses for Oracle RAC
     192.*.*.* at-2811641-svr001-vip at-2811641-svr001-vip.localdomain
     192.*.*.* at-2811641-svr002-vip at-2811641-svr001-vip.localdomain
    
     # SCAN virtual IP addresses for Oracle RAC
     192.*.*.* psoracle-scan psoracle-scan.localdomain
     192.*.*.* psoracle-scann psoracle-scan.localdomain
     192.*.*.* psoracle-scan psoracle-scan.localdomain
    
    
  2. Buat resolusi DNS untuk alamat IP virtual dan alamat IP virtual SCAN.

    Kita menggunakan Cloud DNS untuk me-resolve alamat IP virtual dan alamat IP virtual SCAN. Untuk petunjuknya, lihat Mengonfigurasi SCAN dengan Cloud DNS.

  3. Perbarui file /etc/sysctl.conf dengan parameter kernel.

    
     vi /etc/sysctl.conf
    
     # Added for Oracle
     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
    
    
  4. Terapkan update parameter kernel.

     /sbin/sysctl -p
    
  5. Di file /etc/security/limits.conf, tambahkan batas resource.

    
     vi /etc/security/limits.conf
    
     ## Added for Oracle
     grid soft nofile 1024
     grid hard nofile 65536
     grid soft nproc 2047
     grid hard nproc 16384
     grid soft stack 10240
     grid hard stack 32768
    
     oracle soft nofile 1024
     oracle hard nofile 65536
     oracle soft nproc 2047
     oracle hard nproc 16384
     oracle soft stack 10240
     oracle hard stack 32768
    
    
  6. Tambahkan pengguna dan grup yang diperlukan.

    
     groupadd -g 54321 oinstall
     groupadd -g 54322 dba
     groupadd -g 54323 oper
     groupadd -g 54327 asmdba
     groupadd -g 54328 asmoper
     groupadd -g 54329 asmadmin
    
     useradd -u 54321 -g oinstall -G dba,oper,asmdba,asmoper,asmadmin,oracle
    
    
  7. Instal paket pra-penginstalan Oracle.

    Panduan ini mengasumsikan bahwa Anda telah menyiapkan repositori Oracle.

    
     yum install oracle-database-preinstall-19c
    
    

    Paket oracle-database-preinstall-19c menginstal paket yang diperlukan dan membuat pengguna oracle serta entri dalam file /etc/sysctl.conf.

  8. Reset sandi untuk pengguna oracle.

    
     passwd oracle
    
    
  9. Instal paket berikut untuk Oracle ASM:

    • oracleasm-support
    • kmod-oracleasm
    
     yum install oracleasm-support
     yum install kmod-oracleasm
    
    
  10. Nonaktifkan SELinux dengan memperbarui file /etc/selinux/config.

    
     vi /etc/selinux/config
    
     # This file controls the state of SELinux on the system.
     # SELINUX= can take one of these three values:
     #     enforcing - SELinux security policy is enforced.
     #     permissive - SELinux prints warnings instead of enforcing.
     #     disabled - No SELinux policy is loaded.
     SELINUX=disabled
     # SELINUXTYPE= can take one of three values:
     #     targeted - Targeted processes are protected,
     #     minimum - Modification of targeted policy. Only selected processes are protected.
     #     mls - Multi Level Security protection.
     SELINUXTYPE=targeted
    
    
  11. Hentikan dan nonaktifkan firewall.

    
     systemctl stop firewalld.service
     systemctl disable firewalld
    
    
  12. Konfigurasi NTP.

    1. Instal paket NTP.

      
       yum install ntp
      
      
    2. Mulai layanan ntpd.

      
       systemctl start ntpd
      
      
    3. Perbarui file /etc/ntp.conf.

      Dalam hal ini, kita menyinkronkan dengan host bastion yang merupakan 10.x.x.x. Server tersebut juga dapat berupa server NTP internal Anda. 192.x.x.x adalah alamat IP server Solusi Bare Metal Anda.

      
      vi /etv/ntp.conf
      
      restrict 192.x.x.x mask 255.255.255.0 nomodify notrap
      server 10.x.x.x prefer
      
      
    4. Perbarui server NTP untuk mulai menyinkronkan.

       ntpdate -qu SERVER_NAME
      
  13. Jika avahi-daemon berjalan, hentikan dan nonaktifkan.

    
     systemctl status avahi-daemon
     ● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
       Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; enabled; vendor preset: enabled)
       Active: active (running) since Mon 2021-08-09 07:51:26 UTC; 23h ago
     Main PID: 2543 (avahi-daemon)
       Status: "avahi-daemon 0.6.31 starting up."
         Tasks: 2
       CGroup: /system.slice/avahi-daemon.service
               ├─2543 avahi-daemon: running [at-2811641-svr001.local]
               └─2546 avahi-daemon: chroot helper
    
     systemctl stop avahi-daemon
     Warning: Stopping avahi-daemon.service, but it can still be activated by:
       avahi-daemon.socket
    
     [root@at-2811641-svr001 ~]# systemctl disable avahi-daemon
     Removed symlink /etc/systemd/system/multi-user.target.wants/avahi-daemon.service.
     Removed symlink /etc/systemd/system/sockets.target.wants/avahi-daemon.socket.
     Removed symlink /etc/systemd/system/dbus-org.freedesktop.Avahi.service.
    
     systemctl status avahi-daemon
     ● avahi-daemon.service - Avahi mDNS/DNS-SD Stack
       Loaded: loaded (/usr/lib/systemd/system/avahi-daemon.service; disabled; vendor preset: enabled)
       Active: inactive (dead) since Tue 2021-08-10 07:16:28 UTC; 36s ago
     Main PID: 2543 (code=exited, status=0/SUCCESS)
    
    
  14. Buat direktori beranda Oracle dan Grid.

    
     mkdir -p /apps/grid/19.3.0/gridhome_1
     mkdir -p /apps/grid/gridbase/
    
     mkdir -p /apps/oracle/product/19.3.0/dbhome_1
    
     chmod -R 775 /apps/
     chown -R oracle:oinstall /apps/
    
    
  15. Di node pertama, lakukan hal berikut:

    1. Download file image Oracle Grid Infrastructure.
    2. Sebagai pengguna Oracle, salin file yang didownload ke direktori utama Grid.
    3. Sebagai pengguna Oracle, ekstrak file image Oracle Grid Infrastructure.
    
     cp LINUX.X64_193000_grid_home.zip /apps/grid/19.3.0/gridhome_1/
     cd /apps/grid/19.3.0/gridhome_1/
     unzip LINUX.X64_193000_grid_home.zip
    
    
  16. Di salah satu node, siapkan SSH tanpa sandi untuk pengguna Oracle.

    
     cd /apps/grid/19.3.0/gridhome_1/deinstall
    
     ./sshUserSetup.sh -user oracle -hosts "at-2811641-svr001 at-2811641-svr002" -noPromptPassphrase -confirm -advanced
    
    
  17. Di salah satu node, sebagai pengguna root, instal paket RPM cvuqdisk dari direktori rumah Grid.

    
     rpm -qa cvuqdisk
    
     cd /apps/grid/19.3.0/gridhome_1/cv/rpm/
    
     rpm -iv cvuqdisk-1.0.10-1.rpm
    
     Preparing packages...
     Using default group oinstall to install package
     cvuqdisk-1.0.10-1.x86_64
    
     rpm -qa cvuqdisk
    
     cvuqdisk-1.0.10-1.x86_64
    
    

Mengonfigurasi Oracle ASM

Untuk mengonfigurasi Oracle ASM, lakukan langkah-langkah berikut sebagai pengguna root:

  1. Di salah satu node, identifikasi semua LUN bersama yang akan Anda gunakan untuk Oracle ASM.

     multipath -ll
    
  2. Di salah satu node, buat partisi di semua perangkat bersama menggunakan fdisk atau gdisk.

     fdisk /dev/mapper/DISK_WWID
    

    Ganti kode berikut:

    • DISK_WWID: WWID disk.

    Contoh outputnya adalah sebagai berikut:

     fdisk /dev/mapper/3600a098038314343753f4f723154594e
    
     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 0xf7f8fd23.
    
     The device presents a logical sector size that is smaller than the physical
     sector size. Aligning to a physical sector (or optimal I/O) size boundary is
     recommended, or performance may be impacted.
    
     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-2147518463, default 2048): Using default value 2048 Last sector,
     +sectors or +size{K,M,G} (2048-2147518463, default 2147518463): Using default
     value 2147518463 Partition 1 of type Linux and of size 1 TiB is set
    
     Command (m for help): w The partition table has been altered!
    
     Calling ioctl() to re-read partition table.
    
     WARNING: Re-reading the partition table failed with error 22: Invalid argument.
     The kernel still uses the old table. The new table will be used at the next
     reboot or after you run partprobe(8) or kpartx(8) Syncing disks.
    
     fdisk -l /dev/mapper/3600a098038314343753f4f723154594e
    
     Disk /dev/mapper/3600a098038314343753f4f723154594e: 1099.5 GB, 1099529453568 bytes,2147518464 sectors
     Units = sectors of 1 * 512 = 512 bytes
     Sector size (logical/physical): 512 bytes / 4096 bytes
     I/O size (minimum/optimal): 4096 bytes / 65536 bytes
     Disk label type: dos
     Disk identifier: 0xf7f8fd23
    
                                             Device Boot      Start         End      Blocks          Id  System
     /dev/mapper/3600a098038314343753f4f723154594e1            2048  2147518463  1073758208          83  Linux
    
  3. Jalankan partprobe untuk membuat semua partisi baru terlihat.

     partprobe
    
  4. Di kedua node, konfigurasikan Oracle ASM.

     oracleasm configure -i
     Configuring the Oracle ASM library driver.
    
     This will configure the on-boot properties of the Oracle ASM library
     driver.  The following questions will determine whether the driver is
     loaded on boot and what permissions it will have.  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 []: oracle
     Default group to own the driver interface []: oinstall
     Start Oracle ASM library driver on boot (y/n) [n]: y
     Scan for Oracle ASM disks on boot (y/n) [y]: y
     Writing Oracle ASM library driver configuration: done
    
  5. Di kedua node, tetapkan nilai parameter ORACLEASM_SCANORDER ke dm dan nilai ORACLEASM_SCANEXCLUDE ke sd karena server Bare Metal Solution menggunakan perangkat multi-jalur.

     vi /etc/sysconfig/oracleasm
    
     ORACLEASM_SCANORDER="dm"
     ORACLEASM_SCANEXCLUDE="sd"
    
  6. Di kedua node, verifikasi konfigurasi Oracle ASM.

    
     oracleasm configure
     ORACLEASM_ENABLED=true
     ORACLEASM_UID=oracle
     ORACLEASM_GID=oinstall
     ORACLEASM_SCANBOOT=true
     ORACLEASM_SCANORDER="dm"
     ORACLEASM_SCANEXCLUDE="sd"
     ORACLEASM_SCAN_DIRECTORIES=""
     ORACLEASM_USE_LOGICAL_BLOCK_SIZE="false"
    
    
  7. Di kedua node, mulai oracleasm.

    
     oracleasm init
    
     Creating /dev/oracleasm mount point: /dev/oracleasm
     Loading module "oracleasm": oracleasm
     Configuring "oracleasm" to use device physical block size
     Mounting ASMlib driver filesystem: /dev/oracleasm
    
    
  8. Di kedua node, periksa status oracleasm.

    
     oracleasm status
    
     Checking if ASM is loaded: yes
     Checking if /dev/oracleasm is mounted: yes
    
    
  9. Di kedua node, buat disk Oracle ASM di perangkat yang dipartisi multi-jalur.

     oracleasm createdisk OCR /dev/mapper/DISK_WWID
    

    Ganti kode berikut:

    • DISK_WWID: WWID disk.

    Contoh outputnya adalah sebagai berikut:

    
     oracleasm createdisk OCR /dev/mapper/3600a098038314343753f4f723154594e1
     Writing disk header: done
     Instantiating disk: done
    
    
  10. Di node pertama, cantumkan nama disk.

     oracleasm listdisks
    

    Contoh outputnya adalah sebagai berikut:

    
    DATA01
    DATA02
    DATA03
    DATA04
    DATA05
    DATA06
    FRA01
    FRA02
    FRA03
    OCR
    
    
  11. Di node kedua, cantumkan disk yang telah ditandai sebagai disk ASMLIB di node pertama.

     oracleasm scandisks
    

    Contoh outputnya adalah sebagai berikut:

    
    Reloading disk partitions: done
    Cleaning any stale ASM disks...
    Scanning system for ASM disks...
    Instantiating disk "DATA01"
    Instantiating disk "DATA06"
    Instantiating disk "DATA04"
    Instantiating disk "OCR"
    Instantiating disk "DATA05"
    Instantiating disk "FRA01"
    Instantiating disk "DATA03"
    Instantiating disk "FRA03"
    Instantiating disk "FRA02"
    Instantiating disk "DATA02"
    
  12. Di node kedua, cantumkan nama disk.

     oracleasm listdisks
    

    Contoh outputnya adalah sebagai berikut:

    oracleasm listdisks
    DATA01
    DATA02
    DATA03
    DATA04
    DATA05
    DATA06
    FRA01
    FRA02
    FRA03
    OCR
    
    

    Jika disk tidak muncul di node kedua setelah pemindaian, jalankan perintah partprobe untuk membuat partisi terlihat.

Melakukan pemeriksaan prapenginstalan

Periksa apakah semua prasyarat untuk penginstalan Oracle Grid Infrastructure telah terpenuhi. Di node pertama, jalankan skrip runcluvfy.sh.

   
   ./runcluvfy.sh stage -pre crsinst -n at-2811641-svr001,at-2811641-svr002 -verbose
   

Jika salah satu prasyarat gagal, perbaiki sebelum melanjutkan penginstalan.

Menginstal Oracle RAC

Di node pertama tempat Anda mendownload dan mengekstrak file image Oracle Grid Infrastructure, lakukan langkah-langkah berikut:

  1. Hubungkan ke server Solusi Bare Metal melalui VNC Viewer.
  2. Jalankan skrip gridSetup.sh.
  3. Di halaman Select configuration option, pilih Oracle Grid Infrastructure for a new cluster, lalu klik Next.
  4. Di halaman Select cluster configuration, pilih Configure an Oracle standalone cluster, lalu klik Next.
  5. Di halaman Informasi plug and play petak, lakukan hal berikut:

    1. Pilih Buat SCAN lokal.
    2. Masukkan nama cluster. Pastikan panjangnya kurang dari 15 karakter.
    3. Masukkan nama SCAN.
    4. Masukkan port SCAN.
    5. Klik Berikutnya.
  6. Untuk menambahkan node kedua, klik Tambahkan, lalu lakukan tindakan berikut:

    1. Masukkan nama host publik node kedua.
    2. Masukkan nama host virtual node kedua.
    3. Klik Oke.
  7. Di halaman Tentukan penggunaan antarmuka jaringan, lakukan hal berikut:

    1. Untuk setiap antarmuka, di kolom Gunakan untuk, pilih jenis penggunaan. Untuk antarmuka pribadi, pilih ASM & Pribadi.
    2. Klik Berikutnya.
  8. Di halaman Storage option information, pilih Oracle Flex ASM for storage untuk menyimpan file OCR dan file disk voting di Oracle ASM, lalu klik Next.

  9. Di Create Grid Infrastructure Management Repository, pilih Yes, lalu klik Next.

    Langkah ini akan membuat Repositori Pengelolaan Infrastruktur Petak (GIMR).

  10. Di halaman Opsi Repositori Pengelolaan Infrastruktur Petak, pilih Tidak karena kita tidak ingin membuat grup disk terpisah untuk GIMR.

  11. Di halaman Create ASM disk group, lakukan hal berikut:

    1. Masukkan nama grup disk.
    2. Klik Ubah jalur penemuan dan masukkan jalur penemuan yang benar ke disk Oracle ASM.

      Pastikan perangkat dipetakan ke multi-jalur, sehingga disk Oracle ASM Anda tetap aktif meskipun satu jalur tidak berfungsi.

  12. Di halaman Tentukan sandi ASM, lakukan hal berikut:

    1. Pilih Gunakan sandi yang sama untuk akun ini.
    2. Masukkan dan konfirmasi sandi.
    3. Klik Berikutnya.
  13. Di halaman Failure isolation support, pilih Do not use Intelligent Platform Management Interface (IPMI), lalu klik Next.

  14. Di halaman Specify management options, klik Next karena kita tidak mengonfigurasi Oracle Grid Infrastructure dengan Oracle Enterprise Manager.

  15. Di halaman Grup sistem operasi dengan hak istimewa, lakukan hal berikut:

    1. Untuk semua hak istimewa Oracle ASM, pilih oinstall. Anda juga dapat menggunakan asmdba dan asmoper.
    2. Klik Berikutnya.
  16. Di halaman Specify installation location, tentukan basis Oracle, lalu klik Next.

  17. Eksekusi skrip root dapat dilakukan secara otomatis jika Anda memiliki sandi root atau jika pengguna oracle memiliki hak istimewa sudo. Namun, dalam panduan ini, kita menjalankan skrip secara manual. Oleh karena itu, di halaman Root script execution, klik Next.

  18. Di halaman Lakukan pemeriksaan prasyarat, lakukan hal berikut:

    1. Perbaiki kegagalan yang ditampilkan.

      Jika Anda telah memperbaiki semua kegagalan yang ditemukan saat menjalankan skrip runcluvfy.sh seperti yang dijelaskan di bagian Melakukan pemeriksaan pra-penginstalan, Anda dapat mengharapkan penginstalan yang bersih.

    2. Setelah Anda memperbaiki kegagalan, klik Periksa lagi untuk memperbarui status kegagalan menjadi Berhasil.

    3. Klik Berikutnya.

  19. Tinjau ringkasan, lalu klik Install.

  20. Perintah penginstalan meminta Anda untuk menjalankan skrip root di kedua node. Pertama, jalankan skrip di node pertama, lalu di node kedua.

    
     /apps/grid/oraInventory/orainstRoot.sh
     /apps/grid/19.3.0/gridhome_11/grid/root.sh
    
    
  21. Setelah jendela Selesai muncul, klik Tutup.

Melakukan langkah-langkah pasca-penginstalan

Setelah penginstalan Oracle Grid Infrastructure selesai, ikuti langkah-langkah berikut:

  1. Menginstal dan mengonfigurasi software database Oracle.

    Untuk penginstalan RAC, pilih opsi penginstalan Software only.

    Untuk mengetahui petunjuk menginstal software database Oracle, lihat Blog: Menginstal dan mengonfigurasi Biner Oracle 19c untuk database RAC secara bertahap.

  2. Membuat grup disk Oracle ASM.

    1. Buat entri untuk instance Oracle ASM dalam file /etc/oratab.

      
      vi /etc/oratab
      
      +ASM1:/apps/grid/19.3.0/gridhome_1:N
      
      
    2. Tetapkan variabel ORACLE_SID dan ORACLE_HOME untuk instance Oracle ASM dan hubungkan ke instance tersebut.

      
      . oraenv
      ORACLE_SID = [oracle] ? +ASM1
      The Oracle base has been set to /apps/grid/gridbase
      
      sqlplus / as sysasm
      
      SQL> select INSTANCE_NAME,STATUS from v$instance;
      
      INSTANCE_NAME    STATUS
      ---------------- ------------
      +ASM1           STARTED
      
      
    3. Pastikan disk yang akan ditambahkan memiliki HEADER_STATUS PROVISIONED.

      
      SQL> select HEADER_STATUS,STATE,TOTAL_MB/1024,path from v$asm_disk;
      
      HEADER_STATUS.      STATE             PATH
      ------------ -------- ------------- -------------------------
      PROVISIONED            NORMAL       /dev/oracleasm/disks/DAT01
      
      PROVISIONED             NORMAL      /dev/oracleasm/disks/DATA02
      
      MEMBER              NORMAL       /dev/oracleasm/disks/OCR
      
      
    4. Buat grup disk dari satu node.

      
      SQL> create diskgroup DATA external redundancy disk '/dev/oracleasm/disks/DATA01','/dev/oracleasm/disks/DATA02';
      Diskgroup created.
      
      SQL> select name, state, type from v$asm_diskgroup;
      
      NAME             STATE      TYPE
      ------------------------------
      OCR           MOUNTED      EXTERN
      DATA            MOUNTED    EXTERN
      
      
    5. Di node lain, login ke instance Oracle ASM dan pasang grup disk.

      
      SQL> select name, state, type from v$asm_diskgroup;
      
      NAME                 STATE       TYPE
      -------------------- ----------- ------
      DATA                 DISMOUNTED
      OCR                  MOUNTED     EXTERN
      
      SQL> alter diskgroup DATA mount;
      
      Diskgroup altered.
      
      SQL> select name, state, type from v$asm_diskgroup;
      
      NAME                           STATE       TYPE
      ------------------------------ ----------- ------
      OCR                            MOUNTED     EXTERN
      DATA                           MOUNTED     EXTERN
      
      
  3. Buat database RAC menggunakan Oracle Database Configuration Assistant (DBCA).

    Pastikan Anda memilih Database type sebagai Real Application Cluster Database.

    Untuk mengetahui petunjuknya, lihat dokumentasi Oracle.

Penginstalan database RAC telah selesai dan siap digunakan.

Langkah selanjutnya