Step by step su come installare su una distro a 64 bit, Oracle RDBS a 64bit: ver. 10 g.
Come prima cosa scaricare la versione 10.2.0.1 e la patch alla 10.2.0.5 dai metalink di Oracle.
Attivita' preliminari
Controllare se sono correttamente installati i seguenti pacchetti (rpm) fondamentali per l'installazione dell'RDBMS:
- libXp
- libXtst
- libXt
- binutils
Come prima cosa scaricare la versione 10.2.0.1 e la patch alla 10.2.0.5 dai metalink di Oracle.
Attivita' preliminari
Controllare se sono correttamente installati i seguenti pacchetti (rpm) fondamentali per l'installazione dell'RDBMS:
- libXp
- libXtst
- libXt
- binutils
- compat-db
- compat-libstdc
- glibc
- compat-libstdc
- glibc
- glibc-devel
- glibc-headers
- gcc
- glibc-headers
- gcc
- gcc-c
- libstdc
- cpp
- make
- libstdc
- cpp
- make
- libaio
- libaio
- libaio-devel
- libaio-devel
- glibc-devel
- glibclibgcc
- glibclibgcc
- compat-libstdc
- compat-libf2c
- compat-gcc
- compat-libgcc
- compat-libf2c
- compat-gcc
- compat-libgcc
inoltre assicurarsi che sia correttamente installata la versione a 32bit della seguente libreria glibc-devel.
In perticolare:
- glibc-devel.i686
Per le librerie mancanti usare il comando:
#yum install nome.pacchetto
Creazione usente oracle e gruppi: oinstall / dba
# groupadd oinstall
# groupadd dba
# useradd -d /home/oracle -g oinstall -G dba -s /bin/bash oracle
# passwd oracle
la home dell'utente e' /home/oracle mentre come vedremo piu' avanti, il motore e i datafile li mettero' su posizioni diverse in modo da separare il tutto.
Modifica file /etc/security/limits.conf inserendo i seguenti parametri:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft no file 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft no file 1024
oracle hard nofile 65536
Per applicare i seguenti limiti in fase di riavvio (e login) modificare il file /etc/pam.d/login aggiungendo la seguente linea:
session required /lib64/security/pam_limits.so
Modifica del file /etc/sysctl.conf (i seguenti valori vanno modificati se e solo se sono inferiori a quelli impostati sulla macchina o vanno aggiunti se mancanti):
fs.file-max = 65535
session required /lib64/security/pam_limits.so
Modifica del file /etc/sysctl.conf (i seguenti valori vanno modificati se e solo se sono inferiori a quelli impostati sulla macchina o vanno aggiunti se mancanti):
fs.file-max = 65535
# maximum size in bytes of a single shared memory segment
# that a Linux process can allocate in its virtual address space.
# with 64GB of RAM, we set the max segment size at 60GB, thus the
# SGA cannot be larger than 60GB for one database instance
kernel.shmmax = 64424509440
# total amount of shared memory pages that can be used system wide.
# Hence, SHMALL should always be at least ceil(shmmax/PAGE_SIZE).
# with 60GB of RAM and a page size at 4KB
kernel.shmall = 15728640
# system wide maximum number of shared memory segments
kernel.shmmni = 4096
# control the number of semaphores on the system
kernel.sem = 2048 262144 2048 128
# usuable port range
net.ipv4.ip_local_port_range = 9000 65500
# default OS receive buffer size in bytes
net.core.rmem_default = 262144
# max OS receive buffer size in bytes
net.core.rmem_max = 4194304
# default OS transmit buffer size in bytes
net.core.wmem_default = 262144
# max OS transmit buffer size in bytes
net.core.wmem_max = 1048576
IMPORTANTE
Prima di installare Oracle, assicurarsi che sul file hosts (/etc/host) sia presente il nome della macchina in modo da non avere problemi con il “listener” in fase di avvio. In particolare eseguire da root il seguente comando:
#hostname
riportare il nome completo dell'hostname sul file hosts cosi' come compare a video e assegnarlo all'indirizzo fisico della macchina stessa.
Nel mio caso era: ("matrix.azienda.local")
Prima di installare Oracle, assicurarsi che sul file hosts (/etc/host) sia presente il nome della macchina in modo da non avere problemi con il “listener” in fase di avvio. In particolare eseguire da root il seguente comando:
#hostname
riportare il nome completo dell'hostname sul file hosts cosi' come compare a video e assegnarlo all'indirizzo fisico della macchina stessa.
Nel mio caso era: ("matrix.azienda.local")
#vi /etc/hosts
10.1.1.215 matrix.azienda.local
127.0.0.1 localhost.domain.com localhost
127.0.0.1 localhost.domain.com localhost
Inoltre disabilitare il firewall di Linux (SELINUX) da file /etc/sysconfig/selinux
# 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 - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
Cambiare la versione della sistro mettendo redhat-4 sul file /etc/redhad-release al posto di cento6.5 (come utente root). Fare una copia del file originale e in modo da poterlo ripristinare al termine dell'installazione di Oracle:
#cp /etc/redhat-release /etc/redhat-release.orig
#vi /etc/redhat-release
"Centos release (6.5) final" che va sostituito con "redhat-4"
Riavviare la macchina (come root):
#reboot now
# 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 - SELinux is fully disabled.
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0
Cambiare la versione della sistro mettendo redhat-4 sul file /etc/redhad-release al posto di cento6.5 (come utente root). Fare una copia del file originale e in modo da poterlo ripristinare al termine dell'installazione di Oracle:
#cp /etc/redhat-release /etc/redhat-release.orig
#vi /etc/redhat-release
"Centos release (6.5) final" che va sostituito con "redhat-4"
Riavviare la macchina (come root):
#reboot now
Installazione di Oracle
Connettersi come utente oracle precedentemente creato:
#su - oracle
quindi unzippare il file:
# gunzip 10201_database_linux_x86_64.cpio.gz
# cat 10201_database_linux_x86_64.cpio |cpio -idmv
assicurarsi che il runInstaller ha i diritti di esecuzione cosi' come il file .oui che si trova dentro la cartella "install";
# cd database
#chmod 777 runInstaller
# cd install .oui
#chmod 777
#cd ..
# ./runInstall -ignoreSysPrereqs
Durante l'installazione di Oracle decidere la ORACLE_HOME, dove risiede il "motore" oracle il servizio; consiglio di creare l'istanza in un secondo momento e non durante l'installazione del motore oracle.
Al termine dell'installazione impostare le variabili di ambiente sul file dell'utente oracle .bash_profile
#vi .bash_profile
export ORACLE_BASE=/opt/db-oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_SID=xxxxxxxx
Prima di creare l'istanza Oracle, si deve installare la patch scaricata dal sito metalink di Oracle. Nel mio caso la 10.2.0.5.
Scompattata viene creato il folder "Disk1" dove troviamo il file runInstaller.
Ripetere i passi precedenti.
Come detto inizialmente il motore l'ho installato in /opt diverso dalla home dell'utente oracle. Mentre i dati, nel caso di filesystem dedicati ai dati, consiglio in fase di creazione dell'istanza tramite il software dbca di mettere i datafile sul filesystem dedicato.
Terminata l'installazione di Oracle, per creare l'istanza come utente oracle:
#dbca
Quindi al termine eseguire sempre come utente oracle:
#netca
per la configurazione del listener e del tnsnames.