Oracle
Installer Oracle 10g
sur une Debian Sarge
Oracle 10g n'est officiellement pas supporté sur Debian,
cependant il est tout à fait possible via quelques
superfuges de faire à Oracle que vous installez sur un
système de type Redhat.
Je vous conseil de bien suivre les étapes et surtout ne pas
sauter d'étape en particulier dans la partie
préparatif, sinon vous avez de très grandes
chances de ne pas réussir à installer Oracle.
Les images sont disponibles gratuitement à l'adresse
suivante :
Télécharger
Oracle 10g
Préparatif
Voici les packages necessaires :
apt-get install libdb2 libdb3
libdb4.1 libdb1-compat cpp-3.3 gcc-3.3 libstdc++5-3.3-dev
libstdc++2.10-glibc2.2 base-files netbase libc6 libc6-dev make rpm
Vous avez aussi besoin du package libaio, ce dernier n'est pas
disponible pour Debian.
Vous pouvez télécharger le package à
partir ce lien :
libaio_0.3.103-4_i386.deb
dpkg -i
libaio_0.3.103-4_i386.deb
pour installer le package
Ensuite Oracle va chercher les commandes dans les
répertoires spécifiques Redhat/Suse qui ne sont
pas les memes que sur Debian, nous devons donc créer des
liens symboliques :
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
Faire croire que notre système est une Redhat :
echo
"Red Hat Linux release 3.0 (drupal)" > /etc/redhat-release
Créer les utilisateurs et groupes :
/usr/sbin/groupadd
oinstall
/usr/sbin/groupadd dba
/usr/sbin/groupadd nobody
/usr/sbin/useradd -g
oinstall -G dba -p passwd -d /home/oracle oracle
/usr/sbin/useradd -g
nobody nobody
Créer les groupes avec les bon droits :
mkdir
-p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall
/u01 /u02
chmod -R 775 /u01 /u02
Paraméter le
noyau :
kernel.shmmax
= 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000
100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range
= 1024 65000
Appliquer les modifications :
/sbin/sysctl -p
Modifier les limites du systèmes
sur le fichier
/etc/security/limits.conf
:
*
soft
nproc
2047
* hard
nproc
16384
* soft
nofile
1024
* hard
nofile
65536
Modifier le fichier
/etc/profile
:
if
[ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
Enfin modifier le fichier .bash_profile de l'utilisateur oracle
su
- oracle
vim .bash_profile
Copier/coller :
umask
022
# On ajoute un path
à l'actuel (à adapter pour votre cas)
PATH=${PATH}:/u01/app/oracle/oracle/product/10.2.0/db_1/bin/
# Les vars par
défaut
ORACLE_HOME=/u01/app/oracle/oracle/product/10.2.0/db_1/
ORACLE_SID=test
ORATAB=/etc/oratab
ORACLE_HOME_LISTNER=$ORACLE_BASE
ORACLE_BASE=$ORACLE_HOME
export ORACLE_BASE
ORACLE_SID ORATAB ORACLE_HOME ORACLE_HOME_LISTNER
L'installation
xhost
+
su - oracle
export DISPLAY=":0.0"
cd
<répertoire_de_l'installateur>
./runInstaller
(ne tenez pas compte des erreurs RPM dans la
console)
- Vous arrivez alors sur l'écran de bienvenue

- Vous devez ensuite saisir les chemins où sera
installé Oracle

- Vous pouvez ensuite choisir le type d'installation, pour
une utilisation classique d'une base de données, optez pour Standard
Edition
- Notez que vous pouvez choisir la langue à partir
du bouton Product languages
en bas à droite

- Le programme d'installation peut alors créer une
base de données, si vous ne souhaitez pas le faire
maintenant, vous pourrez bien sûr le faire après
l'installation

- Un écran de résumant les options de
l'installation apparaît

- L'installation débute alors...

Il
vous est ensuite demander d'executer avec l'utilisateur root, le script
suivant :
/u01/app/oracle/oracle/product/10.2.0/db_1/root.sh
Oracle est maintenant installé !
Post-installation
Démarrer la base de données lorsqu'oracle
démarre, pour cela éditer le fichier
/etc/oratab
Vous obtenez alors quelque chose ressemblant à ceci :
data:/u01/app/oracle/product/10.1.0/db_1:N
Data étant le nom de l'instance
et le N à la fin indique de ne pas démarrer la
base de données.
Supprimer le N et mettez un Y
Créer ensuite le fichier
/etc/init.d/oracle
afin de configurer oracle en daemon et copier-y ce script :
#!/bin/bash
#
# Run-level Startup script for the Oracle Instance and Listener
#
# description: Startup/Shutdown Oracle listener and instance
ORA_HOME="/u01/app/oracle/oracle/product/10.2.0/db_1/"
ORA_OWNR="oracle"
ORACLE_HOME_LISTNER=$ORA_HOME
# if the executables do not exist -- display error
if [ ! -f $ORA_HOME/bin/dbstart -o ! -d $ORA_HOME ]
then
echo "Oracle startup: cannot start !! Cannot find install or startup files !!"
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 - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl start"
su - $ORA_OWNR -c $ORA_HOME/bin/dbstart
touch /var/lock/subsys/oracle
echo "OK"
# iSQLplus
echo "Starting iSQLplus..."
su - $ORA_OWNR -c "$ORA_HOME/bin/isqlplusctl start"
echo "Starting Oracle Entreprise Manager..."
su - $ORA_OWNR -c "$ORA_HOME/bin/emctl start dbconsole"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su - $ORA_OWNR -c "$ORA_HOME/bin/lsnrctl stop"
su - $ORA_OWNR -c $ORA_HOME/bin/dbshut
rm -f /var/lock/subsys/oracle
echo "OK"
# iSQLplus
echo "Stopping iSQLplus..."
su - $ORA_OWNR -c "$ORA_HOME/bin/isqlplusctl stop"
echo "Stopping Oracle Entreprise Manager..."
su - $ORA_OWNR -c "$ORA_HOME/bin/emctl stop dbconsole"
;;
reload|restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 start|stop|restart|reload"
exit 1
esac
exit 0
Il faut rendre ensuite le script executable
chmod
u+x /etc/init.d/oracleEnsuite tapez
update-rc.d
oracle defaults afin que le script oracle se
lance au démarrage de la machine.
Enfin, vous devez corriger le script
/u01/app/oracle/oracle/product/10.2.0/db_1/bin/dbstart
Corrigez le chemin dans ligne :
#
Set this to bring up Oracle Net Listener
ORACLE_HOME_LISTNER=/u01/app/oracle/oracle/product/10.2.0/db_1
Vous pouvez maintenant arrêter ou démarrer oracle avec les
commandes :
/etc/init.d/oracle
stop
/etc/init.d/oracle start
Vous pouvez ensuite vous connecter à
l'enterprise manager via l'url http://localhost:5500/em
Utilisation
oracle (< 10g)
Lancer
sqlplus user/password
Pour
faire de l'administrateur il faut se connecter avec un utilisateur
system
Par
défaut le user est system mot de passe manager
Paramètre
en prendre en compte pour la création d'une
nouvelle instance
- Mode serveur dédié
- Pas d'option obligation (oracle spatial ....)
- Paramètre compatible 8.1.0
- WE8ISO8859P1
- description Tablespace de l'instance
:
- SYSTEM taille 264M
- TOOLS taille 10M
- USERS taille 10M
- RBS taille 520M
- INDEX taille 100M
- TEMP taille 500M
Démarrage
de oracle
login
user/password
svrmgrl
---> Lancement du serveur manager de oracle
connect
internal
startup ---> lancement des instances oracle
shutdown immediate --->arrête l'instance oracle
Gestion
du listeneur
d'oracle, Pour se connecter à une base
oracle de l'exterieur il faut que le listener soit lancé.
login
user/password
lsnrctl
status --> donne l'état du listener
lsnrctl
start --> demarrage
lsnrctl
stop --> arrrêt
Lancement
de SQLPLUS
login
user/password
sqlplus
system/manager ( par défaut )
Creation
d'un tablespace
CREATE
TABLESPACE "NOM_TABLESPACE"
LOGGING
DATAFILE
'/home/oracle8/oradata/db1/testlogi.ora' SIZE 5M;
Modification
d'un tablespace
ALTER
TABLESPACE "NOM_TABLESPACE"
ADD
DATAFILE
‘/home/oracle8/oradata/db1/testlogi.ora' SIZE 1000M;
Creation
d'un utilisateur
CREATE
USER "NOM_USER" PROFILE "DEFAULT" IDENTIFIED BY
"PASSWORD"
DEFAULT
TABLESPACE
"NOM_TABLESPACE" TEMPORARY
TABLESPACE
"TEMP" QUOTA UNLIMITED
ON
TEMP QUOTA UNLIMITED
ON
TESTLOGI ACCOUNT UNLOCK;
GRANT
"CONNECT" TO "NOM_USER";
Effacement
d'utilisateur
drop
user NOM_USER cascade;
Taille
restant dans un tablespace
select
sum(bytes) from dba_data_files where tablespace_name='GIS';
select
sum(bytes) from user_free_space where tablespace_name='GIS';
Chaine
de connexion par un DSN
ConnectionString=Server=10.0.10.1;DSN=logipolplus;Password=test;
Export
d'une base
de données
Exp user/password@INSTANCE
file=fichier.dmp compress=no owner=USERsource
Import d'une base de
données
Imp user/password@INSTANCE
file=fichier.dmp buffer=150000 commit=y fromuser=Usersource
touser=userdestination
Script de sauvegarde pour
Windows
Ce script permet de sauvegarder une base oracle sur 5 jours.
@Echo off
setlocal
rem Ce cmd a pour but de sauvegarder des bases Oracle en effectuant un dump du user.
rem --------------------------------------------------------------------------------
rem Partie configuration, à adapter selon votre configuration
rem Nom de l'instance
set instance=Nom_De_L'instance
rem nom du user
set user=Nom_du_user
rem mot de passe de l'utilisateur
set password=Password_de_l'utilisateur
rem chemin de destination de la sauvegarde
set destination=E:\saveOracle
set NLS_LANG=FRENCH_FRANCE.WE8ISO8859P15
rem ----------------------------------------------------
rem ** NE PAS TOUCHER A PARTIR d'ICI **
rem ----------------------------------------------------
echo demarrage de la sauvegarde pour la base %instance% sur %instance%
rem On décalle toutes les sauvegardes pour creer %instance%.dmp
del /F /Q %destination%\%instance%_05.dmp
move %destination%\%instance%_04.dmp %destination%\%instance%_05.dmp
move %destination%\%instance%_03.dmp %destination%\%instance%_04.dmp
move %destination%\%instance%_02.dmp %destination%\%instance%_03.dmp
move %destination%\%instance%.dmp %destination%\%instance%_02.dmp
rem On lance la sauvegarde avec les paramètres
exp system/%password%@%instance% file=%destination%/%instance%.dmp compress=no owner=%user%
rem ----------------------------------------------------
Liens
Quelques commandes -
cliquez-ici
Retour à la page
d'accueil