18
IUT ORSAY Oracle sqldeveloper & Oracle-xe 11g Quentin Godeau & Nicolas Lemonnier 10/11/2012

Oracle - perso.limsi.fr · Auteur : Quentin Godeau Nicolas Lemonnier 2/17 INTRO U TION Cette documentation a pour objectif de vous permettre dinstaller Oracle express edition 11g

Embed Size (px)

Citation preview

IUT ORSAY

Oracle sqldeveloper & Oracle-xe 11g

Quentin Godeau & Nicolas Lemonnier

10/11/2012

Auteur : Quentin Godeau Nicolas Lemonnier 1/17

Table des matières INTRODUCTION ....................................................................................................................................... 2

INSTALLATION D’ORACLE XE

ÉTAPE 1 : Téléchargement ...................................................................................................................... 3

ÉTAPE 2 : Création de votre compte Oracle ........................................................................................... 4

ÉTAPE 3 : Installation .............................................................................................................................. 5

Vérification du système d’exploitation ............................................................................................... 5

Installation des dépendances ............................................................................................................. 5

RPM en DEB ........................................................................................................................................ 5

Correction des différences .................................................................................................................. 6

Installation d’Oracle xe… Enfin ! ......................................................................................................... 7

Problème de mémoire ORA-00845 ..................................................................................................... 7

Encore des différences… ..................................................................................................................... 8

Configuration d’Oracle ........................................................................................................................ 9

INSTALLATION DE SQLDEVELOPER

ÉTAPE 1 : Téléchargement .................................................................................................................... 10

ÉTAPE 2 : Installation ............................................................................................................................ 12

D’abord le JDK6 ................................................................................................................................. 12

Ensuite sqldeveloper ......................................................................................................................... 13

ÉTAPE 3 : Connexion ............................................................................................................................. 14

En local .............................................................................................................................................. 14

Les comptes SYS & SYSTEM .............................................................................................................. 15

À l’IUT ................................................................................................................................................ 16

DÉSINSTALLATION

Oracle-xe ........................................................................................................................................... 17

sqldeveloper...................................................................................................................................... 17

Auteur : Quentin Godeau Nicolas Lemonnier 2/17

INTRODUCTION

Cette documentation a pour objectif de vous permettre d’installer Oracle express edition 11g et sqldeveloper sur votre ordinateur. Ce tutoriel est générique pour les systèmes linux basés sur Debian (Debian compris). Les tests pour la réalisation de cette documentation ont été réalisés sous les systèmes Linux Mint et Ubuntu 12.04 en version 64 bits. Ce tutoriel présente, en premier lieu, les actions que vous allez devoir réaliser. En dessous de ces explications vous trouverez les commandes permettant de réaliser ces actions.

Auteur : Quentin Godeau Nicolas Lemonnier 3/17

INSTALLATION D’ORACLE XE

ÉTAPE 1 : Téléchargement Lien pour le téléchargement du client : http://www.oracle.com/technetwork/products/express-edition/overview/index.html

Auteur : Quentin Godeau Nicolas Lemonnier 4/17

ÉTAPE 2 : Création de votre compte Oracle Si vous ne disposez pas de compte Oracle, vous devez le créer. Une fois créé, vous serez autorisé à télécharger Oracle express edition. Par contre, si vous avez déjà un compte chez Oracle, vous pouvez passer à l'étape suivante.

Cliquez sur le lien Sign up pour vous inscrire et renseigner les différents champs demandés.

Auteur : Quentin Godeau Nicolas Lemonnier 5/17

ÉTAPE 3 : Installation

Vérification du système d’exploitation En premier lieu il faut vérifier que votre système d’exploitation est bien en 64 bits. En effet, Oracle ne développe plus que la version 64 bits sur linux (depuis la version 11g).

uname –i

Si vous obtenez ‘x86_64’ vous pouvez continuer sinon vérifier que votre ordinateur supporte un système d’exploitation 64 bits et installez le. Si ce n’est pas le cas, vous pouvez tout de même installer Oracle sous Windows ou encore installer la version 10 d’Oracle express edition.

Installation des dépendances Vous allez avoir besoin de deux packages pour cette installation : libaio1 pour Oracle, et alien pour pouvoir convertir le fichier .rpm d’Oracle en .deb

sudo apt-get install alien libaio1

RPM en DEB Maintenant vous pouvez dézipper le fichier que vous venez de télécharger

cd monRep unzip oracle-xe*.zip

Une fois le fichier dézippé allez dans le répertoire nouvellement créé (Disk1), et convertissez le fichier .rpm en .deb.

cd Disk1 sudo alien --script oracle-xe*.rpm

Cela va prendre un certain temps. Vous devriez obtenir

oracle-xe*.deb generated

Avant d’installer ce package, il faut savoir qu’il y a quelques différences entre les distributions Red Hat et Debian. Les problèmes dus aux différences de distributions sont expliqués ci-dessous.

Auteur : Quentin Godeau Nicolas Lemonnier 6/17

Correction des différences Vérifiez que le fichier chkconfig existe

ls -l /sbin/chkconfig

Vous devriez obtenir une ligne comme ci-dessous :

-rwxr-xr-x 1 root root 627 Nov 2 17:58 /sbin/chkconfig

Si le fichier n’est pas présent, vous allez appliquer le patch suivant :

sudo nano /sbin/chkconfig

Copiez le contenu ci-dessous et enregistrez le fichier

#!/bin/bash # Oracle 11gR2 XE installer chkconfig hack for Debian by Dude file=/etc/init.d/oracle-xe if [[ ! `tail -n1 $file | grep INIT` ]]; then echo >> $file echo '### BEGIN INIT INFO' >> $file echo '# Provides: OracleXE' >> $file echo '# Required-Start: $remote_fs $syslog' >> $file echo '# Required-Stop: $remote_fs $syslog' >> $file echo '# Default-Start: 2 3 4 5' >> $file echo '# Default-Stop: 0 1 6' >> $file echo '# Short-Description: Oracle 11g Express Edition' >> $file echo '### END INIT INFO' >> $file fi update-rc.d oracle-xe defaults 80 01

Rendez le exécutable par la commande suivante :

sudo chmod 755 /sbin/chkconfig

Oracle s’attend aussi à trouver le fichier awk dans /bin. Vérifiez si celui-ci est présent. Si ce n’est pas le cas vous allez créer un lien symbolique vers /usr/bin/awk (/usr/bin/awk étant le chemin par défaut sous les distributions Debian).

sudo ln –s /usr/bin/awk /bin/awk

Auteur : Quentin Godeau Nicolas Lemonnier 7/17

Installation d’Oracle xe… Enfin ! C’est bon ! Vous pouvez enfin installer Oracle. Pour cela, vous avez besoin du fichier .deb que vous avez généré au début.

cd monRep/Disk1/

Et vous installez par la commande :

sudo dpkg –install oracle-xe*.deb

Problème de mémoire ORA-00845 Une fois l’installation terminée, vous allez devoir configurer Oracle. Mais avant cela : Il faut vérifier que la mémoire partagée est bien montée là où Oracle s’attend à la trouver. C’est-à-dire sur /dev/shm.

df -kh

Vous devriez obtenir une ligne comme ci-dessous :

none 2.0G 610M 1.4G 31% /dev/shm

Si ce n’est pas le cas, vous devriez avoir à la place cette ligne :

none 2.0G 228K 2.0G 1% /run/shm

Si vous vous trouvez dans le second cas, vous devez appliquer un patch. Pour cela, éditez ou créez le fichier /etc/init.d/oracle-shm.

sudo nano /etc/init.d/oracle-shm

Copiez le contenu ci-dessous et enregistrez le fichier

#! /bin/sh # /etc/init.d/oracle-shm # # case "$1" in start) echo "Starting script /etc/init.d/oracle-shm" # Run only once at system startup if [ -e /dev/shm/.oracle-shm ]; then echo "/dev/shm is already mounted, nothing to do" else rm -f /dev/shm mkdir /dev/shm mount --move /run/shm /dev/shm mount -B /dev/shm /run/shm touch /dev/shm/.oracle-shm

Auteur : Quentin Godeau Nicolas Lemonnier 8/17

fi ;; stop) echo "Stopping script /etc/init.d/oracle-shm" echo "Nothing to do" ;; *) echo "Usage: /etc/init.d/oracle-shm {start|stop}" exit 1 ;; esac # ### BEGIN INIT INFO # Provides: oracle-shm # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Bind /run/shm to /dev/shm at system startup. # Description: Fix to allow Oracle 11g use AMM. ### END INIT INFO

Ce script va permettre de déplacer la mémoire partagée vers /dev/shm à la place de /run/shm. Vous le rendez donc exécutable et vous l’ajoutez dans la liste des services à démarrer avec la machine.

sudo chmod 755 /etc/init.d/oracle-shm sudo update-rc.d oracle-shm defaults 01 99

Il est nécessaire ici de redémarrer la machine.

sudo reboot

Vous pouvez maintenant vérifier que la mémoire partagée est bien montée sur /dev/shm, avec la commande :

df -kh

Encore des différences… Vérifiez si le répertoire /var/lock/subsys existe, si oui passez à l’étape suivante. Sinon, c’est que sous Debian le répertoire devrait être : /var/lock, vous allez donc modifier le fichier qui génère la configuration d’Oracle en remplaçant ‘/var/lock/subsys’ par ‘/var/lock’ :

sudo sed –i ‘s,/var/lock/subsys,/var/lock,’ /etc/init.d/oracle-xe

(Facultatif) Une fois cela fait, vous pouvez ajouter les variables environnementales d’Oracle.

cat /u01/app/oracle/product/11.2.0/xe/bin/oracle_env.sh >>/home/$USER/.bashrc

Auteur : Quentin Godeau Nicolas Lemonnier 9/17

Configuration d’Oracle Enfin, lancez la configuration d’Oracle. Oracle va vous demander : le port http pour Application Express (par défaut 8080), le port d’écoute (listener) (par défaut 1521), et un mot de passe pour les utilisateurs SYS et SYSTEM.

sudo /etc/init.d/oracle-xe configure

Note : pendant cette configuration Oracle va vous demander si vous souhaitez que le serveur démarre avec votre système. Il peut être intéressant (d’un point de vu des performances) de répondre à la négative à cette question et donc de démarrer manuellement votre serveur lorsque vous en avez besoin. (La commande ci-dessous permet de démarrer le serveur manuellement)

sudo /etc/init.d/oracle-xe start

Une fois le service démarré, vous pouvez accéder à Oracle Application Express grâce au lien suivant ( :8080 correspondant au port que vous avez choisi lors de la configuration) :

http://127.0.0.1:8080/apex

Auteur : Quentin Godeau Nicolas Lemonnier 10/17

INSTALLATION DE SQLDEVELOPER

ÉTAPE 1 : Téléchargement Lien pour le téléchargement de sqldeveloper : http://www.oracle.com/technetwork/developer-tools/sql-developer/overview/index.html

Auteur : Quentin Godeau Nicolas Lemonnier 11/17

Lien pour le téléchargement de java JDK6, ATTENTION pas JDK7 : http://www.oracle.com/technetwork/java/javase/downloads/index.html

Auteur : Quentin Godeau Nicolas Lemonnier 12/17

ÉTAPE 2 : Installation

D’abord le JDK6 Vous allez commencer par installer le JDK6 d’Oracle, pour cela vous devez le rendre exécutable :

cd monRep chmod +x jdk-6*.bin

Maintenant vous aller extraire l’archive :

./jdk-6*.bin

À la fin de l’extraction, Oracle vous invite à enregistrer votre logiciel

Voilà vous avez installé le JDK6 d’Oracle, vous pouvez le placer où vous voulez, la seule chose qui compte est que vous sachiez ou vous l’avez mis. Il peut être aussi profitable d’ajouter le chemin vers java dans le PATH. Ces étapes ne sont pas obligatoires mais pourront vous être utile dans l’avenir. (Facultatif) Si vous souhaitez « ranger » votre JDK, vous pouvez le mettre dans : ‘/usr/lib/jvm’

sudo mv jdk1.6.* /usr/lib/jvm

(Facultatif) Ensuite, pour modifier la variable environnementale PATH afin qu’elle prenne en compte votre JDK, vous devez ajouter la ligne suivante dans votre fichier ‘/home/$USER/.bashrc’

export PATH=/usr/lib/jvm/jdk1.6.[VOTRE VERSION]/bin:$PATH

Quoi que vous fassiez, il faut que vous connaissiez, pour la suite du tutoriel, le chemin d’accès à votre JDK6.

Auteur : Quentin Godeau Nicolas Lemonnier 13/17

Ensuite sqldeveloper Comme pour Oracle le fichier est un .rpm. Comme précédemment vous devez le transformer en .deb grâce à alien, par la commande suivante :

cd monRep sudo alien --script sqldeveloper*.rpm

Cela va prendre un certain temps et vous devriez obtenir :

sqldeveloper*.deb generated

Maintenant vous pouvez installer sqldeveloper.

sudo dpkg -i sqldeveloper*.deb

Une fois l’installation terminée, il ne vous reste plus qu’à créer le répertoire .sqldeveloper et à lui indiquer où se trouve votre JDK6.

mkdir /home/$USER/.sqldeveloper touch /home/$USER/.sqldeveloper/jdk

Dans le nouveau fichier que vous venez de créer il faut indiquer où se trouve le JDK6.

echo "[VOTRE CHEMIN VERS VOTRE JDK]">/home/$USER/.sqldeveloper/jdk

Si vous avez fait les étapes facultatives précédentes, la commande est:

echo " usr/lib/jvm/jdk1.6.[VOTRE VERSION]">/home/$USER/.sqldeveloper/jdk

(Facultatif) Si un jour vous voulez lancer sqldeveloper en tant que root il faut faire la même chose que pour l’utilisateur standard.

sudo su mkdir /root/.sqldeveloper

touch /root/.sqldeveloper/jdk exit

(Facultatif) Dans le nouveau fichier que vous venez de créer il faut indiquer où se trouve le JDK6.

echo "[VOTRE CHEMIN VERS VOTRE JDK]">/root/.sqldeveloper/jdk

Vous pouvez maintenant lancez sqldeveloper. Si celui-ci est en anglais, vous pouvez modifier le fichier ‘/opt/sqldeveloper/sqldeveloper/bin/sqldeveloper.conf’ et y ajouter (ou modifier) les lignes :

AddVMOption -Duser.language=fr AddVMOption -Duser.country=FR

Auteur : Quentin Godeau Nicolas Lemonnier 14/17

ÉTAPE 3 : Connexion

En local Lancez sqldeveloper. Vous allez, maintenant, configurer sqldeveloper afin de pouvoir vous connecter à votre serveur. Pour cela créer une nouvelle connexion :

Nom de connexion est un nom arbitraire vous permettant juste de vous retrouver, vous pouvez donc mettre le nom que vous voulez. Nom utilisateur ici, vous avez le choix entre deux possibilités (SYSTEM & SYS), la deuxième sera développer un peu plus tard. Mot de passe c’est celui de la configuration d’oracle-xe. Type de connexion laissez les options par défaut. Nom d’hôte 127.0.0.1 car vous avez installé votre serveur en local (si vous avez une résolution de nom vous pouvez indiquer ce nom). Port cela correspond au listener (port d’écoute) que vous avez défini lors de la configuration d’oracle-xe (par défaut 1521) SID ici vous n’avez pas le choix : xe

Auteur : Quentin Godeau Nicolas Lemonnier 15/17

Comme dit précédemment vous pouvez vous connecter avec l’identifiant SYS (le mot de passe est le même pour SYS & SYSTEM). La seule différence au niveau de la connexion est le rôle.

Les comptes SYS & SYSTEM Les comptes utilisateurs SYSTEM & SYS sont automatiquement créés lors de la configuration de la base de données Oracle. Le rôle de « DBA » (Database Administrator) leur est initialement attribué. L’utilisateur SYS est l’utilisateur de plus haut-niveau d’une base de données Oracle. Toutes les tables et vues du dictionnaire de la base de données se trouvent dans le schéma de celui-ci. L’utilisateur SYSTEM quant à lui, est utilisé pour des tâches administratives, création de tables, de vues, etc. Toutes tâches effectuées par l’utilisateur SYSTEM doivent avoir un lien avec l’administration de la base de données, sinon il est recommandé de se connecter à la base de données en utilisant un autre utilisateur. Lorsqu’un utilisateur se connecte avec le privilège SYSDBA, celui-ci possède tous les droits sur la base de données. Il ne se connectera pas sur le schéma attribué à son utilisateur mais au schéma SYS. Lorsqu’un utilisateur se connecte avec le privilège SYSOPER, celui-ci peut effectuer des opérations d’administrations basiques mais n’a pas la possibilité d’avoir accès aux informations des autres utilisateurs. Il ne se connectera pas sur le schéma attribué à son utilisateur, mais au schéma PUBLIC.

Auteur : Quentin Godeau Nicolas Lemonnier 16/17

À l’IUT Voici les paramètres pour pouvoir vous connecter à partir de chez vous vers la base de données de l’IUT.

Auteur : Quentin Godeau Nicolas Lemonnier 17/17

DE SINSTALLATION

Oracle-xe Vous devez arrêter le serveur Oracle.

sudo /etc/init.d/oracle-xe stop

Vous devez supprimer le paquet installé (oracle-xe)

sudo dpkg --purge oracle-xe

Vous devez supprimer les données utilisateurs

sudo rm -r /u01/app

Vous devez supprimer la configuration du serveur d’Oracle

sudo rm /etc/default/oracle-xe

Vous devez enlever Oracle des services à démarrer avec le système d’exploitation

sudo update-rc.d -f oracle-xe remove sudo update-rc.d -f oracle-mount remove

Vous devez enlever le service permettant de monter la mémoire partagée sur /dev/shm

sudo update-rc.d -f oracle-shm remove

Supprimez le fichier permettant de monter la mémoire partagée sur /dev/shm

sudo rm /etc/init.d/oracle-shm

Supprimez l’utilisateur oracle

sudo /usr/sbin/userdel oracle

sqldeveloper Vous devez supprimer le paquet installé

sudo dpkg --purge sqldeveloper

Vous devez supprimer les répertoires utilisateurs

rm -r /home/$USER/.sqldeveloper sudo rm -r /root/.sqldeveloper