Ricerca nel sito web

Come installare Oracle Database 12c su RHEL/CentOS 7


Il database Oracle è uno dei sistemi di gestione di database relazionali (RDBMS) più utilizzati negli ambienti aziendali. Sviluppato, gestito e supportato da Oracle Corporation, questo RDBMS è spesso installato su una versione di Enterprise Linux (RHEL, CentOS o Scientific Linux). Ciò rende il sistema operativo molto robusto: la scelta del database.

In questo articolo, spiegheremo come installare Oracle 12c Release 2 su un server RHEL/CentOS 7 GUI.

Attenzione: gli utenti di RHEL/CentOS 6 possono seguire questa guida per installare Oracle Database 12c su RHEL/CentOS 6.x

Cominciamo.

Prerequisiti:

Dopo aver installato Oracle 12c, la configurazione verrà eseguita tramite un'interfaccia grafica. Questo è il motivo per cui abbiamo bisogno di un server CentOS 7 con installato il gruppo software X Window System.

Leggi anche: Installa la GUI (Gnome) sul server RHEL/CentOS 7

Inoltre, tieni presente che per scaricare il file di installazione di Oracle Database 12c (3,2 GB) è necessario un account Oracle. Non preoccuparti di questo, però, poiché puoi creare un account gratuitamente.

Infine, assicurati che il tuo server disponga di almeno 2 GB di RAM e 30 GB di spazio su disco disponibile. Questi requisiti hardware sono sicuri per un ambiente di test come il nostro, ma dovranno aumentare se si considera l'utilizzo di Oracle in produzione.

Preparazione per l'installazione di Oracle 12c

1. Per iniziare, assicurati che tutti i pacchetti attualmente installati sul tuo sistema RHEL/CentOS 7 siano aggiornati alle versioni più recenti.

yum update -y

2. Successivamente, ho installato tutte le dipendenze richieste per RDBMS, insieme ai pacchetti zip e decomprimibili.

yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 zip unzip

3. Crea l'account utente e i gruppi per Oracle.

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

Infine, imposta una password per l'account Oracle appena creato.

passwd oracle

4. Aggiungi i seguenti parametri del kernel al file /etc/sysctl.conf.

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586

e applicarli:

sysctl -p
sysctl -a

5. Imposta i limiti per Oracle nel file /etc/security/limits.conf.

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

6. Crea una directory denominata /stage ed estrai il file di installazione compresso.

unzip linuxx64_12201_database.zip -d /stage/

Prima di procedere, creare altre directory che verranno utilizzate durante l'installazione vera e propria e assegnare i permessi necessari.

mkdir /u01
mkdir /u02
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02
chmod g+s /u01
chmod g+s /u02

Ora siamo pronti per eseguire lo script di installazione.

7. Apri una sessione GUI nel server RHEL/CentOS 7 e avvia lo script di installazione.

/stage/database/runInstaller 

e seguire i passaggi presentati dal programma di installazione.

Installazione di Oracle 12c su CentOS 7

8. Inserisci l'indirizzo email associato al tuo account Oracle (facoltativo).

9. Scegli Crea e configura un database.

10. Seleziona la classe Desktop poiché stiamo impostando una configurazione minima e un database iniziale.

11. Seleziona le seguenti opzioni per la configurazione di base.

  • Base Oracle: /u01/app/oracle
  • Posizione del software: /u01/app/oracle/product/12.2.0/dbhome_1
  • Posizione del file del database: /u01
  • Gruppo OSDBA: dba
  • Nome del database globale: a tua scelta. Qui abbiamo scelto tecmint.
  • Prendi nota della password, poiché la utilizzerai la prima volta che ti connetterai al database.
  • Deseleziona il database Crea come contenitore.

12. Lascia la directory Inventory predefinita come /u01/app/oraInventory.

13. Verificare che i controlli preliminari all'installazione siano stati completati senza errori.

Il programma di installazione non ti consentirà di superare questo punto se vengono rilevati errori.

14. Attendi il completamento dell'installazione di Oracle 12c.

È possibile che ad un certo punto durante l'installazione ti venga chiesto di eseguire un paio di script per impostare ulteriori autorizzazioni o correggere problemi. Questo è illustrato qui:

E qui:

cd /u01/app/oraInventory
./orainstRoot.sh
cd /u01/app/oracle/product/12.2.0/dbhome_1
./root.sh

15. Successivamente, dovrai tornare alla schermata precedente nella sessione della GUI e fare clic su OK in modo che l'installazione possa continuare.

Al termine, ti verrà presentato il seguente messaggio che indica l'URL di Oracle Enterprise Manager:

https://localhost:5500/em

Tocchi finali di Oracle 12c

16. Per consentire le connessioni dall'esterno del server, dovrai aprire le seguenti porte:

1521/TCP
5500/TCP
5520/TCP
3938/TCP

Come segue:

firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
firewall-cmd --reload

17. Successivamente, accedi come Oracle utilizzando la password scelta in precedenza e aggiungi le seguenti righe al file .bash_profile.

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=tecmint; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

18. Infine, sostituisci localhost con 0.0.0.0 attivo.

vi $ORACLE_HOME/network/admin/listener.ora

19. L'ultimo passaggio consiste nel ricaricare .bash_profile per applicare le nuove impostazioni.

source .bash_profile

20. Quindi accedi al database utilizzando l'account di sistema e la password scelta nel Passaggio 11 della sezione precedente.

sqlplus system@tecmint

Facoltativamente, creiamo una tabella all'interno del database tecmint in cui inseriremo alcuni record di esempio come segue.

SQL> CREATE TABLE NamesTBL
(id   NUMBER GENERATED AS IDENTITY,
name VARCHAR2(20));

Tieni presente che le colonne IDENTITY sono state introdotte per la prima volta in Oracle 12c.

SQL> INSERT INTO NamesTBL (name) VALUES ('Gabriel');
SQL> INSERT INTO NamesTBL (name) VALUES ('Admin');
SQL> SELECT * FROM NamesTBL;

Abilitazione di Oracle per l'avvio all'avvio del sistema

21. Per consentire l'avvio automatico del servizio database all'avvio, aggiungere le seguenti righe al file /etc/systemd/system/oracle-rdbms.service.

/etc/systemd/system/oracle-rdbms.service
Invoking Oracle scripts to start/shutdown Instances defined in /etc/oratab
and starts Listener

[Unit]
Description=Oracle Database(s) and Listener
Requires=network.target

[Service]
Type=forking
Restart=no
ExecStart=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/12.2.0/dbhome_1
ExecStop=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/12.2.0/dbhome_1
User=oracle

[Install]
WantedBy=multi-user.target

22. Infine, dobbiamo indicare che il database tecmint dovrebbe essere attivato durante l'avvio in /etc/oratab (Y: Sì).

Riepilogo

In questo articolo abbiamo spiegato come installare Oracle 12c su RHEL/CentOS 7, come creare e configurare un database e come creare tabelle e inserire righe di dati.

Inoltre, è importante notare che il server del database dovrebbe essere attivo e funzionante all'avvio del sistema e il nostro database predefinito dovrebbe essere disponibile a quel punto.

Se hai domande o commenti su questo articolo, non esitare a scriverci utilizzando il modulo sottostante.