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 RAC. Sono inclusi due nodi, spazio di archiviazione condiviso e volumi dedicati ospitare la home directory di Oracle.
  • In questa guida viene utilizzata la procedura di installazione della GUI. Se vuoi utilizzare anche la procedura 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 Grid.

Installa RAC

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

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

Prepara i nodi per l'installazione di RAC

Esegui i seguenti passaggi su entrambi i nodi, se non diversamente specificato:

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

    • Indirizzi IP pubblici
    • Indirizzi IP privati
    • Indirizzi IP virtuali
    • Indirizzi IP virtuali SCAN

    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. Crea la risoluzione DNS per gli indirizzi IP virtuali e SCANSIONE dell'IP virtuale indirizzi IP esterni.

    Utilizziamo Cloud DNS per risolvere indirizzi IP virtuali e SCANSIONE di IP virtuali indirizzi IP esterni. 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 di 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 di 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 seguenti pacchetti 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. Interrompi e disattiva 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, eseguiamo la sincronizzazione 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 tuo 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. Crea le directory Oracle home e Grid home.

    
     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 di Oracle Grid Infrastructure.
    2. In qualità di utente Oracle, copia i file scaricati nella home directory di Grid.
    3. Come utente Oracle, estrai i file immagine di 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. Su entrambi i nodi, configura l'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 entrambi i nodi, in qualità di utente root, installa il pacchetto RPM cvuqdisk dal 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, svolgi i seguenti passaggi come utente root:

  1. Su entrambi i nodi, identifica tutte le LUN condivise che utilizzerai per Oracle ASM.

     multipath -ll
    
  2. Su entrambi i 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.

    Ecco un output di esempio:

     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 impostato su sd come soluzione Bare Metal Solution e utilizzano dispositivi con percorsi multipli.

     vi /etc/sysconfig/oracleasm
    
     ORACLEASM_SCANORDER="dm"
     ORACLEASM_SCANEXCLUDE="sd"
    
  6. Su entrambi i nodi, verifica la configurazione di 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. 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 entrambi i nodi, crea i dischi Oracle ASM sui dispositivi partizionati multipath.

     oracleasm createdisk OCR /dev/mapper/DISK_WWID
    

    Sostituisci quanto segue:

    • DISK_WWID: WWID del disco.

    Un esempio di output è il seguente:

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

     oracleasm listdisks
    

    Un esempio di output è il seguente:

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

     oracleasm scandisks
    

    Ecco un output di esempio:

    
    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
    

    Un esempio di output è il seguente:

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

    Se i dischi non vengono visualizzati nel secondo nodo dopo la scansione, esegui partprobe per rendere visibili le partizioni.

Esegui i controlli 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 vanno a buon fine, correggilo prima di procedere con dell'installazione.

Installa Oracle RAC

Sul primo nodo su cui hai scaricato ed estratto i file immagine di Oracle Grid Infrastructure, svolgi i seguenti passaggi:

  1. Connettiti al server Bare Metal Solution tramite VNC Viewer.
  2. Esegui lo script gridSetup.sh.
  3. Nella pagina Seleziona opzione di configurazione, seleziona Oracle Grid Infrastructure per un nuovo cluster e poi fai clic su Avanti.
  4. Nella pagina Seleziona la configurazione del cluster, seleziona Configura un cluster Oracle autonomo e poi fai clic su Avanti.
  5. Nella pagina Informazioni sul plug and play della griglia:

    1. Seleziona Crea scansione locale.
    2. Inserisci un nome per il cluster. Assicurati che contenga meno di 15 caratteri.
    3. Inserisci un nome per la SCANSIONE.
    4. Inserisci una porta SCAN.
    5. Fai clic su 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, seleziona il tipo di utilizzo nella colonna Utilizza per. Per l'interfaccia privata seleziona ASM & Privata.
    2. Fai clic su Avanti.
  8. Nella pagina Informazioni sulle opzioni di archiviazione, seleziona Oracle Flex ASM per l'archiviazione per archiviare i file OCR e i file del disco di voto in Oracle ASM, quindi fai clic su Avanti.

  9. In Create Grid Infrastructure Management Repository, seleziona , e poi fai clic su Avanti.

    Questo passaggio crea il repository di gestione di Grid Infrastructure (GIMR).

  10. Nella pagina Opzione del repository di gestione dell'infrastruttura di rete, 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 ai dischi Oracle ASM.

      Assicurati che i dispositivi siano mappati a percorsi multipli, in modo che i tuoi dischi Oracle ASM sale anche dopo che un percorso è seguito.

  12. Nella pagina Specifica password ASM:

    1. Seleziona Utilizza le stesse password per questi account.
    2. Inserisci e conferma la password.
    3. Fai clic su Avanti.
  13. Nella pagina Supporto dell'isolamento per errori, seleziona Non utilizzare Intelligent Platform Management Interface (IPMI), e poi 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. Fai clic su Avanti.
  16. Nella pagina Specifica la posizione di installazione, specifica la base Oracle e fai clic su Avanti.

  17. L'esecuzione degli script principali può essere eseguita automaticamente se utilizzi password o se l'utente oracle ha il privilegio sudo. Tuttavia, in questa guida gli script vengono eseguiti manualmente. Pertanto, nella pagina Esecuzione script root, 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 preinstallazione, puoi aspettarti un'installazione pulita.

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

    3. Fai clic su 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. Innanzitutto, esegui gli script sul primo nodo e poi 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

Al termine dell'installazione di Oracle Grid Infrastructure, segui questi passaggi:

  1. Installa e configura il software del database Oracle.

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

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

  2. Crea 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 Oracle ASM e connetterti 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 di 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. Nell'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 Real Application Cluster Database.

    Per le istruzioni, vedi la documentazione di Oracle.

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

Passaggi successivi