Installare Oracle 10g su Debian
Linux
by Francesco Palmisano
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