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:
- Prepara i nodi per l'installazione RAC.
- Configura Oracle ASM.
- Esegui i controlli pre-installazione.
- Installa Oracle RAC.
- Esegui i passaggi post-installazione.
Prepara i nodi per l'installazione RAC
Se non diversamente specificato, esegui i seguenti passaggi su entrambi i nodi:
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
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.
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
Applica gli aggiornamenti dei parametri del kernel.
/sbin/sysctl -p
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
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
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'utenteoracle
e una voce nel file/etc/sysctl.conf
.Reimposta la password per l'utente
oracle
.passwd oracle
Installa i pacchetti seguenti per Oracle ASM:
oracleasm-support
kmod-oracleasm
yum install oracleasm-support yum install kmod-oracleasm
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
Arresta e disabilita il firewall.
systemctl stop firewalld.service systemctl disable firewalld
Configura NTP.
Installa il pacchetto NTP.
yum install ntp
Avvia il servizio
ntpd
.systemctl start ntpd
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
Aggiorna il server NTP per avviare la sincronizzazione.
ntpdate -qu SERVER_NAME
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)
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/
Sul primo nodo:
- Scarica i file immagine Oracle Grid Infrastructure.
- Come utente di
Oracle
, copia i file scaricati nella home directory della griglia. - 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
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
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:
Su uno dei due nodi, identifica tutti i LUNS condivisi che utilizzerai per Oracle ASM.
multipath -ll
Su uno dei due nodi, crea le partizioni in tutti i dispositivi condivisi utilizzando
fdisk
ogdisk
.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
Esegui
partprobe
per rendere visibili tutte le nuove partizioni.partprobe
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
Su entrambi i nodi, imposta il valore del parametro
ORACLEASM_SCANORDER
sudm
e il valore diORACLEASM_SCANEXCLUDE
susd
poiché i server Bare Metal Solution utilizzano dispositivi a percorso multiplo.vi /etc/sysconfig/oracleasm ORACLEASM_SCANORDER="dm" ORACLEASM_SCANEXCLUDE="sd"
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"
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
Controlla lo stato di
oracleasm
su entrambi i nodi.oracleasm status Checking if ASM is loaded: yes Checking if /dev/oracleasm is mounted: yes
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
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
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"
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:
- Connettiti al tuo server Bare Metal Solution tramite il visualizzatore VNC.
- Esegui lo script
gridSetup.sh
. - Nella pagina Seleziona opzione di configurazione, seleziona Infrastruttura Oracle Grid per un nuovo cluster e fai clic su Avanti.
- Nella pagina Seleziona configurazione del cluster, seleziona Configura un cluster Oracle autonomo e fai clic su Avanti.
Nella pagina Informazioni plug-and-play della griglia, procedi nel seguente modo:
- Seleziona Crea SCAN locale.
- Inserisci un nome per il cluster. Assicurati che contenga meno di 15 caratteri.
- Inserisci un nome SCAN.
- Inserisci una porta SCAN.
- Tocca Avanti.
Per aggiungere il secondo nodo, fai clic su Aggiungi e segui questi passaggi:
- Inserisci il nome host pubblico del secondo nodo.
- Inserisci il nome host virtuale del secondo nodo.
- Fai clic su Ok.
Nella pagina Specifica l'utilizzo dell'interfaccia di rete, procedi nel seguente modo:
- Per ogni interfaccia, nella colonna Utilizza per, seleziona il tipo di utilizzo. Per l'interfaccia privata, seleziona ASM e privata.
- Tocca Avanti.
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.
In Create Grid Infrastructure Management Repository (Crea repository di gestione dell'infrastruttura rete), seleziona Sì e fai clic su Avanti.
Questo passaggio crea il repository di gestione dell'infrastruttura di griglia (GIMR).
Nella pagina Opzione repository di Gestione dell'infrastruttura griglia, seleziona No perché non vogliamo creare un gruppo di dischi separato per GIMR.
Nella pagina Crea gruppo di dischi ASM, segui questi passaggi:
- Inserisci il nome del gruppo di dischi.
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.
Nella pagina Specifica password ASM, segui questi passaggi:
- Seleziona Usa le stesse password per questi account.
- Inserisci e conferma la password.
- Tocca Avanti.
Nella pagina Supporto dell'isolamento errori, seleziona Non utilizzare l'interfaccia di gestione della piattaforma intelligente (IPMI) e fai clic su Avanti.
Nella pagina Specifica le opzioni di gestione, fai clic su Avanti perché non stiamo configurando Oracle Grid Infrastructure con Oracle Enterprise Manager.
Nella pagina Gruppi di sistemi operativi con privilegi, segui questi passaggi:
- Per tutti i privilegi Oracle ASM, seleziona oinstall. Puoi anche utilizzare asmdba e asmoper.
- Tocca Avanti.
Nella pagina Specifica il percorso di installazione, specifica la base Oracle e fai clic su Avanti.
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.Nella pagina Esegui i controlli dei prerequisiti:
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.Dopo aver corretto gli errori, fai clic su Verifica di nuovo per aggiornare lo stato degli errori come Riuscito.
Tocca Avanti.
Esamina il riepilogo e fai clic su Installa.
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
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:
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.
Creare gruppi di dischi Oracle ASM.
Crea una voce per l'istanza Oracle ASM nel file
/etc/oratab
.vi /etc/oratab +ASM1:/apps/grid/19.3.0/gridhome_1:N
Imposta le variabili
ORACLE_SID
eORACLE_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
Verifica che i dischi da aggiungere abbiano un valore
HEADER_STATUS
pari aPROVISIONED
.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
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
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
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
- Scopri di più sulle best practice per Oracle su Bare Metal Solution.