Menginstal Oracle RAC pada Solusi Bare Metal

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

Deployment

Dalam panduan ini, kami membuat deployment yang mencakup Oracle RAC 19c yang diinstal di server Solusi Bare Metal. Kita membangun RAC dua node dengan sebuah {i>database<i}.

Sebelum memulai

  • Pastikan Anda menyediakan infrastruktur yang diperlukan untuk RAC. Ini mencakup dua node, penyimpanan bersama, dan volume khusus untuk menghosting direktori home Oracle.
  • Dalam panduan ini, kami 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 Anda.
  • Buat direktori pemasangan lokal /apps untuk menghosting direktori beranda dan Grid Oracle.

Instal RAC

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

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

Menyiapkan node untuk penginstalan RAC

Lakukan langkah-langkah berikut pada 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
    • PINDAI alamat IP virtual

    Berikut adalah contoh file /etc/hosts yang dimodifikasi:

    
     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 PINDAI alamat IP virtual.

    Kami menggunakan Cloud DNS untuk menyelesaikan alamat IP virtual dan PINDAI alamat IP virtual. Untuk petunjuknya, lihat Mengonfigurasi PINDAI dengan Cloud DNS.

  3. Update 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. Menerapkan 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 prainstal 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. Konfigurasikan 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 bastion host, yaitu 10.x.x.x. Server itu juga bisa menjadi 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 memulai sinkronisasi.

       ntpdate -qu SERVER_NAME
      
  13. Jika avahi-daemon sedang 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. Membuat direktori home dan Grid home Oracle.

    
     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. Pada 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 utama 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 kedua node, identifikasi semua LUNS 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 output-nya 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 agar 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 Solusi Bare Metal menggunakan perangkat multijalur.

     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 salah satu node, buat disk Oracle ASM pada perangkat yang dipartisi multijalur.

     oracleasm createdisk OCR /dev/mapper/DISK_WWID
    

    Ganti kode berikut:

    • DISK_WWID: WWID disk.

    Contoh output-nya adalah sebagai berikut:

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

     oracleasm listdisks
    

    Contoh output-nya adalah sebagai berikut:

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

     oracleasm scandisks
    

    Contoh output-nya 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. Pada node kedua, cantumkan nama disk.

     oracleasm listdisks
    

    Contoh output-nya 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 agar partisi terlihat.

Melakukan pemeriksaan pra-penginstalan

Periksa apakah semua prasyarat untuk penginstalan Infrastruktur Oracle Grid terpenuhi. Pada 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

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

  1. Hubungkan ke server Solusi Bare Metal Anda melalui VNC Viewer.
  2. Jalankan skrip gridSetup.sh.
  3. Di halaman Select configuration options, 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 Grid plug and play information, lakukan hal berikut:

    1. Pilih Buat PINDAI lokal.
    2. Masukkan nama cluster. Pastikan nama kolom kurang dari 15 karakter.
    3. Masukkan nama PINDAI.
    4. Masukkan port PINDAI.
    5. Klik Next.
  6. Untuk menambahkan node kedua, klik Add, lalu lakukan langkah berikut:

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

    1. Untuk setiap antarmuka, di kolom Use for, pilih jenis penggunaan. Untuk antarmuka pribadi, pilih ASM & Private.
    2. Klik Next.
  8. Di halaman Storage options 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 Grid Infrastructure Management Repository (GIMR).

  10. Di halaman Grid Infrastructure Management Repository, pilih No 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 Change discovery path dan masukkan jalur penemuan yang benar ke disk Oracle ASM.

      Pastikan perangkat dipetakan ke multijalur, sehingga disk Oracle ASM akan tetap aktif bahkan setelah satu jalur turun.

  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 Next.
  13. Di halaman Gagal isolasi support, pilih Do not use Intelligent Platform Management Interface (IPMI), lalu klik Next.

  14. Di halaman Define 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 tindakan berikut:

    1. Untuk semua hak istimewa Oracle ASM, pilih oinstall. Anda juga dapat menggunakan asmdba dan asmoper.
    2. Klik Next.
  16. Di halaman Tentukan lokasi penginstalan, 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, kami menjalankan skrip secara manual. Oleh karena itu, di halaman Eksekusi skrip root, klik Berikutnya.

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

    1. Perbaiki semua 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 akan mendapatkan penginstalan bersih.

    2. Setelah memperbaiki kegagalan, klik Check again untuk memperbarui status kegagalan sebagai Succeeded.

    3. Klik Next.

  19. Tinjau ringkasan, lalu klik Install.

  20. Dialog penginstalan akan meminta Anda menjalankan skrip root di kedua node. Pertama, jalankan skrip pada node pertama, lalu pada node kedua.

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

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 cara menginstal software database Oracle, lihat Blog: Langkah demi langkah menginstal dan mengonfigurasi Oracle 19c Binaries untuk database RAC.

  2. Membuat grup disk Oracle ASM.

    1. Buat entri untuk instance Oracle ASM di 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, lalu 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 Jenis database sebagai Database Cluster Aplikasi Real.

    Untuk mengetahui petunjuknya, lihat dokumentasi Oracle.

Penginstalan database RAC selesai dan siap digunakan.

Langkah selanjutnya