Installa Oracle RAC su Bare Metal Solution

Questa pagina mostra come installare Oracle Real Application Clusters (RAC) sul tuo server Bare Metal Solution.

Deployment

In questa guida viene creato un deployment che include Oracle RAC 19c installato su un server Bare Metal Solution. Creiamo un RAC a due nodi con un database.

Prima di iniziare

  • Assicurati di eseguire il provisioning dell'infrastruttura richiesta per RAC. Sono inclusi due nodi, spazio di archiviazione condiviso e volumi dedicati per ospitare la home directory Oracle.
  • In questa guida viene utilizzata la procedura di installazione della GUI. Se vuoi utilizzare anche il processo di installazione della GUI, configura Virtual Network Computing (VNC) su uno dei nodi seguendo la guida alla configurazione di Oracle VNC.
  • Crea un punto di montaggio locale /apps per ospitare le directory Home di Oracle e di Grid.

Installa RAC

L'installazione di RAC su Bare Metal Solution prevede i seguenti passaggi:

  1. Prepara i nodi per l'installazione RAC.
  2. Configura Oracle ASM.
  3. Esegui i controlli pre-installazione.
  4. Installa Oracle RAC.
  5. Esegui i passaggi post-installazione.

Prepara i nodi per l'installazione RAC

Se non diversamente specificato, esegui i seguenti passaggi su entrambi i nodi:

  1. Aggiorna il file /etc/hosts con i seguenti indirizzi IP per RAC:

    • Indirizzi IP pubblici
    • Indirizzi IP privati
    • Indirizzi IP virtuali
    • SCANSIONA gli indirizzi IP virtuali

    Di seguito è riportato un esempio del file /etc/hosts modificato:

    
     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. Imposta la risoluzione DNS per gli indirizzi IP virtuali e gli indirizzi IP virtuali SCAN.

    Utilizziamo Cloud DNS per risolvere gli indirizzi IP virtuali e SCANSIONE degli indirizzi IP virtuali. Per le istruzioni, consulta Configurare SCAN con Cloud DNS.

  3. Aggiorna il file /etc/sysctl.conf con i parametri del 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. Applica gli aggiornamenti dei parametri del kernel.

     /sbin/sysctl -p
    
  5. Nel file /etc/security/limits.conf, aggiungi i limiti delle risorse.

    
     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. Aggiungi gli utenti e i gruppi necessari.

    
     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. Installa il pacchetto di preinstallazione Oracle.

    Questa guida presuppone che tu abbia configurato il repository Oracle.

    
     yum install oracle-database-preinstall-19c
    
    

    Il pacchetto oracle-database-preinstall-19c installa i pacchetti necessari e crea l'utente oracle e una voce nel file /etc/sysctl.conf.

  8. Reimposta la password per l'utente oracle.

    
     passwd oracle
    
    
  9. Installa i pacchetti seguenti per Oracle ASM:

    • oracleasm-support
    • kmod-oracleasm
    
     yum install oracleasm-support
     yum install kmod-oracleasm
    
    
  10. Disattiva SELinux aggiornando il 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. Arresta e disabilita il firewall.

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

    1. Installa il pacchetto NTP.

      
       yum install ntp
      
      
    2. Avvia il servizio ntpd.

      
       systemctl start ntpd
      
      
    3. Aggiorna il file /etc/ntp.conf.

      In questo caso, ci sincronizziamo con il nostro bastion host, che è 10.x.x.x. Può essere anche il tuo server NTP interno. 192.x.x.x è l'indirizzo IP del server Bare Metal Solution.

      
      vi /etv/ntp.conf
      
      restrict 192.x.x.x mask 255.255.255.0 nomodify notrap
      server 10.x.x.x prefer
      
      
    4. Aggiorna il server NTP per avviare la sincronizzazione.

       ntpdate -qu SERVER_NAME
      
  13. Se avahi-daemon è in esecuzione, interrompilo e disattivalo.

    
     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. Creare le home directory Oracle e 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. Sul primo nodo:

    1. Scarica i file immagine Oracle Grid Infrastructure.
    2. Come utente di Oracle, copia i file scaricati nella home directory della griglia.
    3. Come utente Oracle, estrai i file immagine dell'infrastruttura Oracle Grid.
    
     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. In entrambi i nodi, configura SSH senza password per l'utente 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. Su uno dei due nodi, in qualità di utente root, installa il pacchetto RPM cvuqdisk dalla home directory della griglia.

    
     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
    
    

Configura Oracle ASM

Per configurare Oracle ASM, segui questi passaggi come utente root:

  1. Su uno dei due nodi, identifica tutti i LUNS condivisi che utilizzerai per Oracle ASM.

     multipath -ll
    
  2. Su uno dei due nodi, crea le partizioni in tutti i dispositivi condivisi utilizzando fdisk o gdisk.

     fdisk /dev/mapper/DISK_WWID
    

    Sostituisci quanto segue:

    • DISK_WWID: WWID del disco.

    Di seguito è riportato un esempio di output:

     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. Esegui partprobe per rendere visibili tutte le nuove partizioni.

     partprobe
    
  4. Su entrambi i nodi, configura 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. Su entrambi i nodi, imposta il valore del parametro ORACLEASM_SCANORDER su dm e il valore di ORACLEASM_SCANEXCLUDE su sd poiché i server Bare Metal Solution utilizzano dispositivi a percorso multiplo.

     vi /etc/sysconfig/oracleasm
    
     ORACLEASM_SCANORDER="dm"
     ORACLEASM_SCANEXCLUDE="sd"
    
  6. Verifica la configurazione Oracle ASM su entrambi i nodi.

    
     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. Su entrambi i nodi, avvia 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. Controlla lo stato di oracleasm su entrambi i nodi.

    
     oracleasm status
    
     Checking if ASM is loaded: yes
     Checking if /dev/oracleasm is mounted: yes
    
    
  9. Su uno dei due nodi, crea dischi Oracle ASM sui dispositivi partizionati con più percorsi.

     oracleasm createdisk OCR /dev/mapper/DISK_WWID
    

    Sostituisci quanto segue:

    • DISK_WWID: WWID del disco.

    Di seguito è riportato un esempio di output:

    
     oracleasm createdisk OCR /dev/mapper/3600a098038314343753f4f723154594e1
     Writing disk header: done
     Instantiating disk: done
    
    
  10. Sul primo nodo, elenca i nomi dei dischi.

     oracleasm listdisks
    

    Di seguito è riportato un esempio di output:

    
    DATA01
    DATA02
    DATA03
    DATA04
    DATA05
    DATA06
    FRA01
    FRA02
    FRA03
    OCR
    
    
  11. Nel secondo nodo, elenca i dischi contrassegnati come dischi ASMLIB sul primo nodo.

     oracleasm scandisks
    

    Di seguito è riportato un esempio di output:

    
    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. Sul secondo nodo, elenca i nomi dei dischi.

     oracleasm listdisks
    

    Di seguito è riportato un esempio di output:

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

    Se i dischi non vengono visualizzati nel secondo nodo dopo l'analisi, esegui il comando partprobe per rendere visibili le partizioni.

Esegui i controlli di pre-installazione

Verifica che siano soddisfatti tutti i prerequisiti per l'installazione di Oracle Grid Infrastructure. Sul primo nodo, esegui lo script runcluvfy.sh.

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

Se uno o più prerequisiti non funzionano, correggili prima di procedere con l'installazione.

Installa Oracle RAC

Sul primo nodo su cui hai scaricato ed estratto i file immagine Oracle Grid Infrastructure, esegui questi passaggi:

  1. Connettiti al tuo server Bare Metal Solution tramite il visualizzatore VNC.
  2. Esegui lo script gridSetup.sh.
  3. Nella pagina Seleziona opzione di configurazione, seleziona Infrastruttura Oracle Grid per un nuovo cluster e fai clic su Avanti.
  4. Nella pagina Seleziona configurazione del cluster, seleziona Configura un cluster Oracle autonomo e fai clic su Avanti.
  5. Nella pagina Informazioni plug-and-play della griglia, procedi nel seguente modo:

    1. Seleziona Crea SCAN locale.
    2. Inserisci un nome per il cluster. Assicurati che contenga meno di 15 caratteri.
    3. Inserisci un nome SCAN.
    4. Inserisci una porta SCAN.
    5. Tocca Avanti.
  6. Per aggiungere il secondo nodo, fai clic su Aggiungi e segui questi passaggi:

    1. Inserisci il nome host pubblico del secondo nodo.
    2. Inserisci il nome host virtuale del secondo nodo.
    3. Fai clic su Ok.
  7. Nella pagina Specifica l'utilizzo dell'interfaccia di rete, procedi nel seguente modo:

    1. Per ogni interfaccia, nella colonna Utilizza per, seleziona il tipo di utilizzo. Per l'interfaccia privata, seleziona ASM e privata.
    2. Tocca Avanti.
  8. Nella pagina Informazioni sulle opzioni di archiviazione, seleziona Oracle Flex ASM per l'archiviazione per l'archiviazione dei file OCR e la votazione dei file del disco in Oracle ASM, quindi fai clic su Avanti.

  9. In Create Grid Infrastructure Management Repository (Crea repository di gestione dell'infrastruttura rete), seleziona e fai clic su Avanti.

    Questo passaggio crea il repository di gestione dell'infrastruttura di griglia (GIMR).

  10. Nella pagina Opzione repository di Gestione dell'infrastruttura griglia, seleziona No perché non vogliamo creare un gruppo di dischi separato per GIMR.

  11. Nella pagina Crea gruppo di dischi ASM, segui questi passaggi:

    1. Inserisci il nome del gruppo di dischi.
    2. Fai clic su Modifica percorso di rilevamento e inserisci il percorso di rilevamento corretto per i dischi Oracle ASM.

      Assicurati che i dispositivi siano mappati su percorsi multipli, in modo che i dischi Oracle ASM siano in esecuzione anche dopo che un percorso è stato interrotto.

  12. Nella pagina Specifica password ASM, segui questi passaggi:

    1. Seleziona Usa le stesse password per questi account.
    2. Inserisci e conferma la password.
    3. Tocca Avanti.
  13. Nella pagina Supporto dell'isolamento errori, seleziona Non utilizzare l'interfaccia di gestione della piattaforma intelligente (IPMI) e fai clic su Avanti.

  14. Nella pagina Specifica le opzioni di gestione, fai clic su Avanti perché non stiamo configurando Oracle Grid Infrastructure con Oracle Enterprise Manager.

  15. Nella pagina Gruppi di sistemi operativi con privilegi, segui questi passaggi:

    1. Per tutti i privilegi Oracle ASM, seleziona oinstall. Puoi anche utilizzare asmdba e asmoper.
    2. Tocca Avanti.
  16. Nella pagina Specifica il percorso di installazione, specifica la base Oracle e fai clic su Avanti.

  17. L'esecuzione degli script root può essere eseguita automaticamente se disponi della password root o se l'utente oracle dispone del privilegio sudo. Tuttavia, in questa guida gli script vengono eseguiti manualmente. Pertanto, nella pagina Esecuzione dello script radice, fai clic su Avanti.

  18. Nella pagina Esegui i controlli dei prerequisiti:

    1. Correggi gli eventuali errori visualizzati.

      Se hai corretto tutti gli errori rilevati durante l'esecuzione dello script runcluvfy.sh come descritto nella sezione Eseguire i controlli di pre-installazione, l'installazione sarà pulita.

    2. Dopo aver corretto gli errori, fai clic su Verifica di nuovo per aggiornare lo stato degli errori come Riuscito.

    3. Tocca Avanti.

  19. Esamina il riepilogo e fai clic su Installa.

  20. La richiesta di installazione ti chiede di eseguire gli script principali su entrambi i nodi. Esegui prima gli script sul primo nodo, quindi sul secondo.

    
     /apps/grid/oraInventory/orainstRoot.sh
     /apps/grid/19.3.0/gridhome_11/grid/root.sh
    
    
  21. Quando viene visualizzata la finestra Fine, fai clic su Chiudi.

Esegui i passaggi post-installazione

Dopo aver completato l'installazione di Oracle Grid Infrastructure, segui questi passaggi:

  1. Installare e configurare il software del database Oracle.

    Per l'installazione RAC, scegli l'opzione di installazione Solo software.

    Per istruzioni sull'installazione del software del database Oracle, consulta il blog: installazione dettagliata e configurazione di Oracle 19c Binaries per il database RAC.

  2. Creare gruppi di dischi Oracle ASM.

    1. Crea una voce per l'istanza Oracle ASM nel file /etc/oratab.

      
      vi /etc/oratab
      
      +ASM1:/apps/grid/19.3.0/gridhome_1:N
      
      
    2. Imposta le variabili ORACLE_SID e ORACLE_HOME per l'istanza Oracle ASM e connettiti all'istanza.

      
      . 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. Verifica che i dischi da aggiungere abbiano un valore HEADER_STATUS pari a 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. Crea il gruppo di dischi da un nodo.

      
      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. Sull'altro nodo, accedi all'istanza Oracle ASM e monta il gruppo di dischi.

      
      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. Crea un database RAC utilizzando Oracle Database Configuration Assistant (DBCA).

    Assicurati di scegliere Tipo di database come Database di cluster di applicazioni reali.

    Per le istruzioni, consulta la documentazione di Oracle.

L'installazione del database RAC è stata completata ed è pronta per l'uso.

Passaggi successivi