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:
- Prepara i nodi per l'installazione di RAC.
- Configura Oracle ASM.
- Esegui i controlli di preinstallazione.
- Installa Oracle RAC.
- 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:
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
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.
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 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
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 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'utenteoracle
e una voce nel file/etc/sysctl.conf
.Reimposta la password per l'utente
oracle
.passwd oracle
Installa i seguenti pacchetti 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
Interrompi e disattiva 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, 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
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)
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/
Sul primo nodo:
- Scarica i file immagine di Oracle Grid Infrastructure.
- In qualità di utente
Oracle
, copia i file scaricati nella home directory di Grid. - 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
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
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:
Su entrambi i nodi, identifica tutte le LUN condivise che utilizzerai per Oracle ASM.
multipath -ll
Su entrambi i 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.
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
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
impostato susd
come soluzione Bare Metal Solution e utilizzano dispositivi con percorsi multipli.vi /etc/sysconfig/oracleasm ORACLEASM_SCANORDER="dm" ORACLEASM_SCANEXCLUDE="sd"
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"
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 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
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
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"
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:
- Connettiti al server Bare Metal Solution tramite VNC Viewer.
- Esegui lo script
gridSetup.sh
. - Nella pagina Seleziona opzione di configurazione, seleziona Oracle Grid Infrastructure per un nuovo cluster e poi fai clic su Avanti.
- Nella pagina Seleziona la configurazione del cluster, seleziona Configura un cluster Oracle autonomo e poi fai clic su Avanti.
Nella pagina Informazioni sul plug and play della griglia:
- Seleziona Crea scansione locale.
- Inserisci un nome per il cluster. Assicurati che contenga meno di 15 caratteri.
- Inserisci un nome per la SCANSIONE.
- Inserisci una porta SCAN.
- Fai clic su 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, seleziona il tipo di utilizzo nella colonna Utilizza per. Per l'interfaccia privata seleziona ASM & Privata.
- Fai clic su Avanti.
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.
In Create Grid Infrastructure Management Repository, seleziona Sì, e poi fai clic su Avanti.
Questo passaggio crea il repository di gestione di Grid Infrastructure (GIMR).
Nella pagina Opzione del repository di gestione dell'infrastruttura di rete, 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 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.
Nella pagina Specifica password ASM:
- Seleziona Utilizza le stesse password per questi account.
- Inserisci e conferma la password.
- Fai clic su Avanti.
Nella pagina Supporto dell'isolamento per errori, seleziona Non utilizzare Intelligent Platform Management Interface (IPMI), e poi 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.
- Fai clic su Avanti.
Nella pagina Specifica la posizione di installazione, specifica la base Oracle e fai clic su Avanti.
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.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 preinstallazione, puoi aspettarti un'installazione pulita.Dopo aver corretto gli errori, fai clic su Verifica di nuovo per aggiornare lo stato degli errori come Riuscito.
Fai clic su Avanti.
Esamina il riepilogo e fai clic su Installa.
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
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:
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.
Crea 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 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
Verifica che i dischi da aggiungere abbiano un valore
HEADER_STATUS
diPROVISIONED
.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
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
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.