tux-debianwww.palmix.orgtux-debian


  HOME  GUIDE  ARTICOLI  DOWNLOADS  LINKS  ENGLISH

 
Installare Oracle 10g su Debian Linux
by Francesco Palmisano

oracle&debian

Se state leggendo questa pagina sicuramente sapete che cos'è Oracle 10g e da cosa differisca rispetto alla versione "povera" XE; quindi non mi dilungherò certo in queste spiegazioni.
Oracle distibuisce le sue basi di dati con pieno supporto per RedHat e Suse, ma questo non significa che siano le uniche distro Linux su cui si possa installare, qundi vediamo come installare con successo Oracle 10g su Debian.
I passi seguenti sono validi sia per una archittettura a 32 bit sia per una a 64 bit.

Pre installazione:

Per prima cosa assicuratevi di avere installato i seguenti pacchetti ed eventualmente installateli col vostro gestore preferito:

gcc
make
binutils
libmotif3
lesstif2
rpm
libaio1
libdb3
libstdc++5

e per le archittetture a 64 bit anche:

ia32-libs
libc6-dev-i386
libc6-dev

visto che l'installer Oracle crede di installare su RedHat è bene farglielo credere, o meglio fargli trovare una struttura simile a quella di RedHat creando alcuni link simbolici:

ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /usr/bin/basename /bin/basename
ln -s /etc /etc/rc.d

Ora, se non lo avete già fatto, scaricate l'installer dal sito ufficiale Oracle, qui il 32bit e qui il 64bit.
È un pacchetto zippato di circa 670Mib, scompattatelo con il comando:

unzip <nome_file>

vi troverete con una cartella database.
Per usare ed installare la base di dati avete bisogno di creare utenti e gruppi appositi, quindi, se ancora non li avete creati, come root date i seguenti comandi:

/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd nobody
/usr/sbin/useradd -m -g oinstall -G dba -p passwd -d /home/oracle oracle
/usr/sbin/useradd -g nobody nobody

e create le seguenti directory:

mkdir -p /u01/app/oracle
mkdir -p /u02/oradata

con i giusti permessi:

chown -R oracle:oinstall /u01 /u02
chmod -R 775 /u01 /u02



Parametri di sistema e kernel:

Sconsiglio vivamente di installare Oracle 10g su un sistema con meno di 1GiB di RAM ed una partizione di swap altrettanto capiente.
Se avete dai 4GiB in su di RAM probabilmente dello swap non ne avrete bisogno.
Settiamo ora alcuni parametri necessari al buon funzionamento di Oracle; editiamo quindi il file /etc/sysctl.conf ed aggiungiamo o modifichiamo (se già presenti) i seguenti parametri:

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

e lanciamo il comando:

/sbin/sysctl -p

per ricaricare i nuovi parametri nel sistema. Editiamo ora il file /etc/security/limits.conf, aggiungendo le seguenti righe:

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

Editiamo anche i file /etc/pam.d/login e /etc/pam.d/su decommentando o aggiungendo il seguente parametro:

session required /lib/security/pam_limits.so

Variabili d'ambiente:

ora logatevi come utente oracle:

su oracle; cd

ed editate il file .profile aggiungendo o decomeentado:

umask 022

e aggiungete anche al file .bashrc le seguenti righe:

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=ora10g
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

Installazione:

Bene ora come utente oracle entrate nella cartella databese in cui avete scompattato l'installer Oracle e lanciate il comando:

./runInstaller -ignoreSysPrereqs

l'opzione -ignoreSysPrereqs serve per evitare il controllo sui prerequisti di sistema, che probabilmente porterebbe al fallimento dell'installazione.
Ora seguite l'installazione grafica secondo le vostre esigenze di configurazione.

Post installazione:

Ora editate, come root, il file /etc/oratab e modificate la riga:

ora10g:/u01/app/oracle/product/10.2.0/db_1:N

in

ora10g:/u01/app/oracle/product/10.2.0/db_1:Y

editate anche gli script di avvio e spegnimento del server presenti nella directory /u01/app/oracle/product/10.2.0/db_1/bin: dbstart e dbshut
Modificate la riga:

ORATAB=/var/opt/oracle/oratab

in

ORATAB=/etc/oratab

Automatizzare l'avvio del server Oracle:

Bene l'installazione è ora completa non vi resta, se lo desiderate, crearvi uno script per l'avvio in automatico del sever Oracle.
Editate quindi da root un file che salverete con il nome oracle nella directory /etc/init.d con il seguente contenuto:

#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# chkconfig: 345 91 19
# description: Startup/Shutdown Oracle listener and instance


ORA_HOME="/u01/app/oracle/product/10.2.0/db_1"
ORA_OWNR="oracle"

# if the executables do not exist -- display error

if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
        echo "Oracle startup: cannot start"
        exit 1
fi

# depending on parameter -- startup, shutdown, restart
# of the instance and listener or usage display

case "$1" in
    start)
        # Oracle listener and instance startup
        echo -n "Starting Oracle: "
        su oracle -c "/u01/app/oracle/product/10.2.0/db_1/bin/dbstart $ORA_HOME"
        su oracle -c "/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl start"

        #Optional : for Enterprise Manager software only
        su oracle -c "/u01/app/oracle/product/10.2.0/db_1/bin/emctl start dbconsole"

        touch /var/lock/oracle
        echo "OK"
        ;;
    stop)
        # Oracle listener and instance shutdown
        echo -n "Shutdown Oracle: "

        #Optional : for Enterprise Manager software only
        su oracle -c "/u01/app/oracle/product/10.2.0/db_1/bin/emctl stop dbconsole"

        su oracle -c "/u01/app/oracle/product/10.2.0/db_1/bin/lsnrctl stop"
        su oracle -c "/u01/app/oracle/product/10.2.0/db_1/bin/dbshut $ORA_HOME"
        rm -f /var/lock/oracle
        echo "OK"
        ;;
    reload|restart)
        $0 stop
        $0 start
        ;;
    *)
        echo "Usage: $0 start|stop|restart|reload"
        exit 1
esac
exit 0

e di seguito il comando:

updatate-rc oracle default 99

per rendere automatico l'avvio del server ad ogni avvio del PC.



torna ad inizio pagina - torna alle guide