Comment installer Oracle 11g sur Ubuntu Linux : guide complet

Oracle Database est un logiciel de gestion de bases de données multiplateforme fiable, développé par Oracle Corporation. Il offre de nombreux avantages, notamment des performances élevées, un large éventail de fonctionnalités, la prise en charge des clusters, la prise en charge de PL/SQL, etc. Oracle Database (que nous appellerons « Oracle » dans cet article) peut être installé sur Solaris, Windows et Linux. L’installation sous Windows est la plus simple, tandis que l’installation d’Oracle sous Solaris et Linux nécessite une configuration manuelle préalable. En ce qui concerne les distributions Linux, Oracle recommande d’installer la base de données Oracle sur Red Hat, Oracle Linux et SUSE Linux Enterprise Server.

Vous pouvez toutefois également installer la base de données Oracle sur Ubuntu Linux et OpenSUSE Linux. Ubuntu est une distribution Linux populaire largement utilisée dans le monde entier. L’article d’aujourd’hui fournit des instructions étape par étape pour installer Oracle sur Ubuntu. Dans ce tutoriel, nous allons installer la base de données Oracle Enterprise Edition (EE) 11g R2 sur Ubuntu.

NAKIVO pour la sauvegarde des machines Linux

NAKIVO pour la sauvegarde des machines Linux

Une solution de sauvegarde rapide et efficace pour les serveurs et postes de travail Linux. Protection anti-ransomware, plusieurs cibles de sauvegarde, options de récupération flexibles et bien plus encore !

Préparation d’Ubuntu Linux

Dans ce tutoriel, nous utilisons une installation récente de Ubuntu 16.04.6 . Le système d’exploitation a été installé sur la machine virtuelle VMware sans activer l’option « Télécharger les mises à jour pendant l’installation d’Ubuntu » et sans utiliser l’option « Installer des logiciels tiers » lors du déploiement du système d’exploitation.

Si vous n’avez jamais installé Oracle sous Linux auparavant, vous devriez apprendre à Installer Oracle sur Ubuntu sur une machine virtuelle avant d’installer Oracle sur un ordinateur physique ou un serveur.

Si vous utilisez une machine virtuelle VMware, n’oubliez pas d’installer VMware Tools. Vous pouvez également utiliser des machines virtuelles VirtualBox et Hyper-V.

Assurez-vous d’avoir sélectionné le fuseau horaire correct lors de l’installation. Le fuseau horaire est GMT 0 (Londres) dans cet exemple.

Vous pouvez vérifier le fuseau horaire à l’aide de la commande :

timedatectl

Vérifiez la version d’Ubuntu :

lsb_release -a

Dans notre exemple, la sortie est la suivante :

Installing Oracle database on Ubuntu 16 – checking the version of Ubuntu

Dans ce tutoriel sur l’installation d’Oracle 11g sous Ubuntu, les paramètres matériels suivants sont utilisés pour la machine virtuelle :

  • Processeur : 1 processeur
  • Mémoire vive : 4 Go
  • Disque dur : 40 Go

user1 est un utilisateur standard dans cet exemple ( user1 est créé lors de l’installation d’Ubuntu et sert à se connecter à Ubuntu).

Les paquets suivants sont installés :

  • vim , l’éditeur de texte
  • net-tools , des outils de gestion réseau
  • openssh-server , le serveur SSH qui vous permet de vous connecter à distance à la console Linux (terminal)

Si ces paquets ne sont pas installés sur votre système Ubuntu Linux, vous pouvez les installer par la commande :

sudo apt-get install -y vim net-tools openssh-server

Le serveur SSH est installé pour des raisons pratiques. Vous devez exécuter plusieurs commandes dans la console avant d’utiliser le programme d’installation Oracle sur Ubuntu.

Afin d’activer l’authentification par mot de passe, modifiez le fichier sshd_config :

vim /etc/ssh/sshd_config

Décommentez la ligne (enlevez le « # » au début de la ligne) :

PasswordAuthentication yes

Enregistrez les modifications et quittez en appuyant sur la touche Esc dans vim et en tapant :wq

Redémarrez le service sshd (démon) en exécutant la commande avec les privilèges root :

sudo service ssh restart

Configuration d’un fichier swap

Ubuntu 16 utilise par défaut une partition d’échange. Vous pouvez personnaliser la taille de cette partition lors de l’installation d’Ubuntu. Si vous avez sélectionné les options de partitionnement par défaut ou choisi une taille incorrecte pour la partition swap, vous pouvez tout de même créer un fichier swap de taille personnalisée et l’utiliser à la place d’une partition swap existante. La taille du fichier swap doit être égale au double de la taille de la mémoire vive. Si vous comptez installer Oracle sur Ubuntu avec 4 Go de mémoire vive, vous devez préparer un fichier ou une partition swap de 8 Go. Créons ce fichier swap de 8 Go.

Désactivez temporairement l’utilisation de l’espace swap :

sudo swapoff -a

Créez un nouveau fichier de 8 Go à l’aide de l’outil ` ` `dd` ` ` :

sudo dd if=/dev/zero of=/swapfile bs=1G count=8

Configurez le fichier de 8 Go créé pour qu’il soit utilisé comme fichier swap :

sudo mkswap /swapfile

Activez l’utilisation de l’espace swap :

sudo swapon /swapfile

Vérifiez la taille de votre espace swap après la création d’un nouveau fichier swap :

grep SwapTotal /proc/meminfo

Configuration des paramètres réseau

Par défaut, Ubuntu 16 obtient automatiquement une adresse IP pour une interface réseau (si un serveur DHCP est présent sur le réseau). Vous devez définir une adresse IP statique et configurer un nom d’hôte avant de pouvoir installer Oracle sur Ubuntu.

Vérifiez la configuration IP actuelle :

ifconfig

Dans la sortie, vous pouvez voir les noms de vos cartes réseau et leurs adresses IP. Dans notre cas, le nom de l’interface réseau requise est ens33 .

Configuration de l’adresse IP statique

Modifiez le fichier de configuration des interfaces réseau à l’aide de vim :

sudo vim /etc/network interfaces

L’adresse IP statique requise pour l’installation de la base de données Oracle sur Ubuntu est 192.168.101.11 sur l’interface actuelle de la machine Linux dans cet exemple. Modifiez le fichier de configuration comme suit :

# interfaces(5) file used by ifup(8) and ifdown(8)

auto lo

iface lo inet loopback

auto ens33

iface ens33 inet static

address 192.168.101.11

netmask 255.255.255.0

gateway 192.168.101.2

dns-nameservers 192.168.101.2 8.8.8.8

Enregistrez les modifications et quittez.

Appliquez les modifications :

sudo /etc/init.d/networking restart

Ou redémarrez la machine :

init 6

Überprüfen Sie, dass die neuen Paramètres IP angewendet werden:

ifconfig

Ou :

hostname -I

Après avoir vérifié la configuration IP, vérifiez le nom d’hôte.

Vérification du nom d’hôte

Dans notre cas, le nom d’hôte utilisé pour l’installation d’Oracle sur Ubuntu est ubuntu-oracle11 .

Vérifiez le nom d’hôte actuel :

hostnamectl

Si vous avez oublié de configurer le nom d’hôte lors de l’installation d’Ubuntu ou si vous souhaitez le modifier pour d’autres raisons, vous pouvez toujours le faire.

Pour renommer l’hôte et définir un nouveau nom d’hôte ( ubuntu-oracle11 ), exécutez la commande :

sudo hostnamectl set-hostname ubuntu-oracle11

Überprüfen Sie, dass der neue Name des Hosts übernommen wurde:

less /etc/hostname

Modifizieren Sie den Datei-Hosts:

sudo vim /etc/hosts

Der Inhalt des Datei-Hosts-Fichers muss wie folgt aussehen:

127.0.0.1 localhost

127.0.1.1 ubuntu-oracle11

Redémarren Sie die Maschine: init 6

Essayez d’effectuer un ping vers le nom d’hôte défini sur votre machine Ubuntu :

ping ubuntu-oracle11

Configuration de l’environnement pour Oracle

Pour installer Oracle sur Ubuntu, vous devez configurer l’environnement Linux : créer des utilisateurs et des groupes système, configurer les paramètres du noyau, définir un profil système, définir les variables d’environnement pour un utilisateur, définir les limites du shell, créer des liens symboliques et installer les paquets requis.

Création d’utilisateurs et de groupes

Ouvrez la console locale ou connectez-vous à la console Linux via SSH en tant qu’utilisateur standard, puis obtenez les privilèges root :

sudo -i

Les commandes ci-dessous doivent être exécutées en tant que root .

Ajoutez les groupes requis par Oracle.

Créez le groupe Oracle Inventory :

groupadd oinstall

Créez le groupe Oracle DBA :

groupadd dba

Créez le répertoire personnel de l’utilisateur Oracle :

mkdir /home/oracle/

Créez le répertoire d’installation d’Oracle :

mkdir -p /u01/app/oracle

Créez ensuite le compte utilisateur Oracle qui est membre du groupe dba , dont le répertoire personnel est /home/oracle/ et qui utilise /bin/bash comme shell par défaut :

useradd -g oinstall -G dba -d /home/oracle -s /bin/bash oracle

Définissez le mot de passe de l’utilisateur oracle (n’oubliez pas ce mot de passe) :

passwd oracle

Définissez l’utilisateur oracle comme propriétaire du répertoire d’accueil Oracle et du répertoire d’installation Oracle. L’utilisateur oracle est membre du groupe oinstall .

chown -R oracle:oinstall /home/oracle

chown -R oracle:oinstall /u01/app/oracle

Remarque : Contrairement à Oracle 10, la création du groupe nobody n’est pas nécessaire pour Oracle 11.

Créez le répertoire pour l’inventaire Oracle :

mkdir -p /u01/app/oraInventory

Définissez l’utilisateur oracle comme propriétaire du répertoire de l’inventaire Oracle :

chown -R oracle:oinstall /u01/app/oraInventory

Configuration des paramètres du noyau

Des paramètres personnalisés du noyau sont nécessaires pour installer Oracle sur Ubuntu et ces paramètres affectent les performances d’Oracle. Les paramètres de mémoire partagée, notamment la taille minimale et maximale, le nombre de segments de mémoire partagée et les sémaphores pouvant être considérés comme des indicateurs pour la mémoire partagée, doivent être personnalisés conformément à la documentation Oracle. Vous devez également définir le nombre maximal de fichiers pouvant être ouverts simultanément, le nombre maximal de connexions réseau simultanées, ainsi que la taille des tampons d’envoi et de réception réseau. Les paramètres du noyau concernés peuvent être classés en trois groupes : les paramètres spécifiques au noyau ( kernel ), les paramètres spécifiques au réseau ( network ) et les gestionnaires de fichiers ( fs ). Modifiez le fichier /etc/sysctl.conf pour remplacer les paramètres du noyau Linux :

vim /etc/sysctl.conf

Ajoutez les lignes indiquées ci-dessous à la fin de ce fichier de configuration.

# ============================

# Oracle 11g

# ============================

# semaphores: semmsl, semmns, semopm, semmni

kernel.sem = 250 32000 100 128

kernel.shmall = 2097152

kernel.shmmni = 4096

# Replace kernel.shmmax with the half of your memory size in bytes

# if lower than 4 GB minus 1

# 2147483648 is 2 GigaBytes (4 GB of RAM / 2)

kernel.shmmax=2147483648

#

# Max number of network connections. Use sysctl -a | grep ip_local_port_range to check.

net.ipv4.ip_local_port_range = 9000  65500

#

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

#

# The maximum allowed value, set to avoid overhead and input/output errors

fs.aio-max-nr = 1048576

# 512 * Processes

fs.file-max = 6815744

fs.suid_dumpable = 1

#

# To allow dba to allocate hugetlbfs pages

# 1001 is your oinstall group, you can check this id with the grep oinstall /etc/group command

vm.hugetlb_shm_group = 1001

Appliquez les paramètres du noyau que vous avez définis :

sysctl -p

Configuration des limites du shell

Vous devez définir les limites du shell pour améliorer les performances du logiciel de base de données Oracle.

Modifiez le fichier /etc/security/limits.conf :

vim /etc/security/limits.conf

Ajoutez les lignes suivantes à la fin du fichier de configuration :

# Oracle

oracle           soft    nproc   2047

oracle           hard    nproc   16384

oracle           soft    nofile  1024

oracle           hard    nofile  65536

oracle           soft    stack   10240

La première colonne spécifie l’utilisateur pour lequel les limites sont définies.

La deuxième colonne propose deux options : « soft » et « hard ». « Soft » correspond au nombre maximal pouvant être défini par l’utilisateur, tandis que « hard » correspond au nombre maximal pouvant être reconfiguré par l’utilisateur défini (oracle). Si l’utilisateur oracle atteint la valeur minimale critique de 2047 définie dans la première ligne et doit étendre la limite, il peut l’augmenter jusqu’à 16384. Les valeurs supérieures à 16384 ne peuvent pas être définies par l’utilisateur oracle , mais peuvent l’être par utilisateur root.

La troisième colonne définit les ressources auxquelles s’appliquent les limites définies.

La quatrième colonne définit le nombre maximal du paramètre de ressource spécifié dans la troisième colonne.

Configuration PAM

Assurez-vous que le fichier de configuration /etc/pam.d/login contient la ligne suivante :

session    required   pam_limits.so

Vous pouvez le faire à l’aide de la commande :

cat /etc/pam.d/login | grep pam_limits.so

Si la ligne mentionnée est manquante, ajoutez-la manuellement.

Configuration du profil du shell

Les variables d’environnement à l’échelle du système sont définies dans le profil global du shell bash, qui se trouve dans le fichier de configuration /etc/profile .

Modifiez /etc/profile et définissez certains paramètres nécessaires pour oracle de manière globale et permanente :

vim /etc/profile

Ajoutez les lignes suivantes :

if [ $USER = "oracle" ]; then

        if [ $SHELL = "/bin/ksh" ]; then

              ulimit -p 16384

              ulimit -n 65536

        else

              ulimit -u 16384 -n 65536

        fi

fi

Remarque : Il est utile de savoir quand chaque fichier de configuration du shell peut être utilisé, car vous devrez par la suite configurer un profil contenant des variables d’environnement pour l’utilisateur oracle .

Le shell de connexion Bash charge sa configuration à partir des fichiers suivants, dans l’ordre approprié :

  1. /etc/profile
  2. ~/.bash_profile
  3. ~/.bash_login
  4. ~/.profile

/etc/profile peut être considéré comme un profil global pour le shell de connexion bash.

./bash_profile s’applique aux shells de connexion bash, par exemple lorsque vous vous connectez directement à l’interface en ligne de commande de Linux par l’intermédiaire d’un clavier connecté à cet ordinateur Linux, ou lorsque vous ouvrez une nouvelle session de console après vous être connecté via le terminal SSH.

.profile – ce fichier est lu par bash et d’autres shells tels que sh .

Le shell interactif Bash sans connexion charge la configuration à partir de ~/.bashrc

Cela signifie que si vous êtes déjà connecté à votre machine Linux (par exemple, si vous vous êtes connecté à Ubuntu via l’interface graphique) et que vous ouvrez ensuite une nouvelle fenêtre de console (terminal), la configuration du shell, y compris les variables d’environnement, est chargée à partir du fichier .bashrc avant que vous n’ayez accès à l’invite de commande.

Le shell Bash non-login et non-interactif charge la configuration définie dans la variable d’environnement $BASH_ENV . Le shell non-login et non-interactif est utilisé lors de l’exécution d’un script.

Installation des paquets requis

Vous devez installer les paquets requis par Oracle. Soyez vigilant lors de leur installation, car un paquet manquant peut entraîner des erreurs lors de l’installation d’Oracle ou de la création de la base de données Oracle.

Mettez à jour l’arborescence du référentiel :

apt-get update

Installez les paquets afin d’éviter les erreurs pouvant survenir lors de l’installation d’Oracle sur Ubuntu. La plupart des paquets peuvent être installés à l’aide du gestionnaire de paquets standard d’Ubuntu à partir des référentiels en ligne.

apt-get install alien

apt-get install autoconf

apt-get install automake

apt-get install autotools-dev

apt-get install binutils

apt-get install bzip2

apt-get install doxygen

apt-get install elfutils

apt-get install expat

apt-get install gawk

apt-get install gcc

apt-get install gcc-multilib

apt-get install g++-multilib

apt-get install libelf-dev

apt-get install libltdl-dev

apt-get install libodbcinstq4-1 libodbcinstq4-1:i386

apt-get install libpth-dev

apt-get install libpthread-stubs0-dev

apt-get install libstdc++5

apt-get install make

apt-get install openssh-server

apt-get install rlwrap

apt-get install rpm

apt-get install sysstat

apt-get install unixodbc

apt-get install unixodbc-dev

apt-get install unzip

apt-get install x11-utils

apt-get install zlibc

apt-get install libaio1

apt-get install libaio-dev

Il reste quelques paquets à installer, mais pour ce faire, vous aurez besoin de ces astuces.

apt-get install ia32-libs

Lorsque vous exécutez la commande pour installer ce paquet avec apt-get , un message s’affiche indiquant que ce paquet n’est pas disponible.

Il existe un paquet alternatif qui peut être installé à la place de ia32-libs . Installez le paquet alternatif lib32z1 :

apt-get install lib32z1

Installons maintenant le paquet suivant :

apt-get install libmotif4

Ce paquet n’est pas disponible non plus. Vous devez télécharger et installer ce paquet manuellement. Téléchargez le fichier libmotif4_2.3.4-8ubuntu1_amd64.deb à partir de l’adresse ressource gratuite. Enregistrez le fichier deb téléchargé dans un répertoire de votre choix, par exemple /home/user1/Downloads, avant de pouvoir installer ce paquet.

La procédure d’installation des paquets deb sous Ubuntu est la suivante (exécutez les commandes avec les privilèges root) :

sudo dpkg -i nom_du_paquet.deb

sudo apt-get -f install

Dans ce cas, nous exécutons les commandes d’installation des paquets en tant qu’utilisateur standard, par exemple, user1 en utilisant sudo . Appuyez sur Ctrl+D pour quitter la session utilisateur root et revenir à la session user1 dans la console (terminal).

Accédez au répertoire où sont stockés les fichiers téléchargés :

cd /home/user1/Downloads

Téléchargez le fichier par un lien direct :

wget http://launchpadlibrarian.net/207968936/libmotif4_2.3.4-8ubuntu1_amd64.deb

sudo dpkg -i libmotif4_2.3.4-8ubuntu1_amd64.deb

sudo apt-get -f install

Le paquet suivant ne peut pas être installé automatiquement :

sudo apt-get install libpthread-stubs0

E : Impossible de localiser le paquet libpthread-stubs0

Télécharger et installez ce paquet manuellement.

wget http://launchpadlibrarian.net/154418307/libpthread-stubs0-dev_0.3-4_amd64.deb

sudo dpkg -i libpthread-stubs0-dev_0.3-4_amd64.deb

sudo apt-get -f install

Installez de la même manière le paquet suivant :

sudo apt-get install lsb-cxx

E : Impossible de localiser le paquet lsb-cxx

Vous pouvez télécharger manuellement le lsb-cxx paquet.

wget http://packages.linuxmint.com//pool/upstream/l/lsb/lsb-cxx_4.1+Debian11ubuntu6mint1_amd64.deb

sudo dpkg -i lsb-cxx_4.1+Debian11ubuntu6mint1_amd64.deb

sudo apt-get -f install

Installez un autre paquet :

sudo apt-get install pdksh

E : Le paquet « pdksh » n’a pas de candidat à l’installation

La procédure d’installation du paquet pdksh est identique. Ce paquet peut être téléchargé à l’adresse ici.

wget http://launchpadlibrarian.net/200019501/pdksh_50e-2ubuntu1_all.deb

sudo dpkg -i pdksh_50e-2ubuntu1_all.deb

sudo apt-get -f install

Oracle 11g nécessite l’installation de la version 32 bits du paquet libstdc++5 qui n’est pas installée automatiquement sur Ubuntu 16. Voici comment installer ce paquet manuellement.

Les commandes suivantes doivent être exécutées en tant que root . Créez un répertoire temporaire pour télécharger le paquet :

mkdir /tmp/libstdc++5

cd /tmp/libstdc++5

Téléchargez le paquet (les liens vers les paquets 32 bits et 64 bits sont indiqués) :

wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-30_i386.deb

wget http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-30_amd64.deb

Installez les paquets téléchargés à l’aide de dpkg :

dpkg --force-architecture -i libstdc++5_3.3.6-30_i386.deb

Remarque : Si les liens ne fonctionnent pas, il se peut que des versions plus récentes des paquets aient été publiées à la place des anciennes. Dans ce cas, rendez-vous sur une page Web dans le navigateur et copiez les liens corrects vers les paquets requis : deb :

http://mirrors.edge.kernel.org/ubuntu/pool/universe/g/gcc-3.3/

Redémarrez la machine Linux pour appliquer les modifications. init 6

Création de liens symboliques

Vous devez créer des liens symboliques (symlinks) pour que la structure des fichiers et des répertoires utilisée sous Ubuntu soit similaire à celle de Red Hat. Créez ces liens symboliques afin que la structure du système de fichiers soit identique à celle de Red Hat, ce qui permettra d’éviter les erreurs lors de l’installation d’Oracle.

Exécutez les commandes en tant qu’administrateur :

mkdir /usr/lib64

ln -s /etc /etc/rc.d

ln -s /usr/bin/awk /bin/awk

ln -s /usr/bin/basename /bin/basename

ln -s /usr/bin/rpm /bin/rpm

ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 /usr/lib64/

ln -s /usr/lib/x86_64-linux-gnu/libc_nonshared.a /usr/lib64/

ln -s /usr/lib/x86_64-linux-gnu/libpthread_nonshared.a /usr/lib64/

ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/

ln -s /usr/lib/x86_64-linux-gnu /usr/lib64

ln -sf /bin/bash /bin/sh

ln -s /etc/rc0.d /etc/rc.d/rc0.d

ln -s /etc/rc2.d /etc/rc.d/rc2.d

ln -s /etc/rc3.d /etc/rc.d/rc3.d

ln -s /etc/rc4.d /etc/rc.d/rc4.d

ln -s /etc/rc5.d /etc/rc.d/rc5.d

ln -s /etc/rc6.d /etc/rc.d/rc6.d

ln -s /etc/init.d /etc/rc.d/init.d

Les commandes ci-dessus permettent d’éviter des erreurs telles que :

  • genclntsh : Échec de la liaison de libclntsh.so.11.1 dans le fichier make pour rdbms/lib/ins_rdbms.mk en raison d’une bibliothèque manquante : /usr/bin/ld : impossible de trouver /usr/lib64/libpthread_nonshared.a dans
  • lib//libagtsh.so : référence indéfinie à « nnfyboot » dans make : rdbms/lib/dg4odbc] Erreur 1

Prévenons maintenant une autre erreur : /lib64/libgcc_s.so.1 : le fichier ou le répertoire n’existe pas, lors de la création de lib/liborasdkbase.so.11.1 dans ins_rdbms.mk . Accédez au répertoire /lib64 et exécutez la commande :

cd /lib64

ln -s /lib/x86_64-linux-gnu/libgcc_s.so.1 .

N’oubliez pas le point à la fin de la commande.

Définissez la version de Linux comme suit : Red Hat Linux version 5 dans /etc/redhat-release . Les distributions Red Hat Linux stockent leur version dans ce fichier.

echo 'Red Hat Linux release 5' > /etc/redhat-release

Configuration du Profil de l’utilisateur oracle

Vous devez maintenant configurer l’environnement utilisateur pour l’utilisateur oracle .

Connectez-vous en tant qu’oracle oracle si vous avez ouvert la console en tant qu’autre utilisateur :

su oracle

Exécutez les commandes en tant qu’oracle oracle :

cd

vim ~/.bashrc

Ajoutez les lignes suivantes au fichier .bashrc :

# Oracle Settings

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

# Enter your hostname

ORACLE_HOSTNAME=ubuntu-oracle11; export ORACLE_HOSTNAME

ORACLE_UNQNAME=ORADB11G; export ORACLE_UNQNAME

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME

ORACLE_SID=ORADB11G; export ORACLE_SID

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

umask 022

Appliquez les paramètres :

source ~/.bashrc

Vous devez maintenant redémarrer Ubuntu. Notez que les paramètres seront appliqués après le redémarrage, même sans exécuter la commande source ~/.bashrc.

init 6

Préparation du programme d’installation d’Oracle

Les préparatifs pour l’installation d’Oracle sont presque terminés. Il ne reste plus que quelques étapes avant de pouvoir lancer le programme d’installation et installer Oracle sur Ubuntu. Après avoir redémarré la machine Ubuntu, connectez-vous en tant que oracle dans l’interface graphique d’Ubuntu.

Log in as oracle before you can run the installer and install Oracle on Ubuntu

Ouvrez un navigateur Web.

Dans notre exemple, deux fichiers téléchargés sont enregistrés dans /home/oracle/Downloads pour plus de commodité : linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

Installing Oracle database on Ubuntu 16 – two Oracle installation archives are downloaded

Ouvrez la console sous Ubuntu et exécutez les commandes suivantes en tant qu’ ou oracle. Accédez au répertoire dans lequel se trouvent les fichiers téléchargés :

cd /home/oracle/Downloads

ou cd ~/Downloads/

Décompressez les fichiers d’installation à partir des archives ZIP téléchargées :

unzip linux.x64_11gR2_database_1of2.zip

unzip linux.x64_11gR2_database_2of2.zip

Les fichiers extraits sont stockés dans :

/home/oracle/Downloads/database

Vous êtes désormais prêt à lancer le programme d’installation et à installer Oracle sur Ubuntu.

Installation d’Oracle

Accédez au répertoire dans lequel les fichiers d’installation ont été téléchargés. Exécutez les commandes suivantes : oracle dans la console lancée depuis la session graphique.

cd /home/oracle/Downloads/database

Lancez le programme d’installation d’Oracle :

./runInstaller

Installing Oracle database on Ubuntu – running the Oracle installer

1. Configurer les mises à jour de sécurité

Décochez la case « Je souhaite recevoir les mises à jour de sécurité via My Oracle Support ».

Cliquez sur Suivant pour passer à l’étape suivante de l’assistant d’installation d’Oracle.

How to install Oracle on Ubuntu – Oracle Universal installer is launched

Le message suivant s’affiche : Vous n’avez pas fourni d’adresse e-mail. Souhaitez-vous ne pas être informé des problèmes de sécurité critiques liés à votre configuration ? Ignorez ce message et cliquez sur Oui .

Installing Oracle database on Ubuntu – an email address is not necessary

2. Option d’installation

Sélectionnez Créer et configurer une base de données .

How to install Oracle on Ubuntu – create and configure a database

3. Classe système

Sélectionnez Classe serveur , qui est une option avancée pour l’installation de la base de données Oracle sur Ubuntu.

Select a server class when you install Oracle on Ubuntu

4. Options de grille

Sélectionnez Installation de base de données à instance unique comme type d’installation de la base de données.

Installing Oracle database on Ubuntu – single instance database installation

5. Type d’installation

Sélectionnez Installation avancée comme type d’installation. Cette option vous permet de définir les mots de passe, les jeux de caractères, les langues, les options de stockage, etc.

Select Advanced install when you install Oracle on Ubuntu Linux

6. Langues du produit

Sélectionnez les langues requises. Dans cet exemple, Anglais et Anglais (Royaume-Uni) sont sélectionnés.

You can select needed languages when you install Oracle 11g on Ubuntu

7. Édition de la base de données

Sélectionnez Édition Enterprise pour la base de données que vous allez installer.

How to install Oracle 11g on Ubuntu – installing Oracle Enterprise edition

8. Sélectionnez l’emplacement de base d’Oracle

En général, on utilise le répertoire de base d’Oracle et le répertoire Oracle Home.

Base Oracle : /u01/app/oracle

Emplacement du logiciel : /u01/app/oracle/product/11.2.0/dbhome_1

Select the installation location to install Oracle on Ubuntu

9. Créer l’inventaire

Le répertoire utilisé pour stocker les fichiers d’installation d’Oracle est appelé « répertoire d’inventaire Oracle ».

Répertoire d’inventaire : /u01/app/oraInventory

Nom du groupe oraInventory : oinstall

Installing Oracle database on Ubuntu – selecting the Oracle Inventory directory

10. Type de configuration

Sélectionnez le type de base de données que vous souhaitez créer :

Usage général / Traitement des transactions

Selecting the database type for general purpose use

11. Identifiants de la base de données

Vous pouvez définir la même valeur pour le nom global de la base de données et l’identifiant de service Oracle.

Nom de la base de données globale : ORADB11G

Identifiant de service Oracle (SID) : ORADB11G

Setting a global database name and Oracle Service Identifier

12. Options de configuration

Cette étape comporte quatre onglets. Vous pouvez définir la configuration de chaque onglet comme suit :

Mémoire : Activer la gestion automatique de la mémoire (par défaut).

Jeux de caractères : Utiliser Unicode (AL32UTF8).

Sécurité : Appliquer tous les nouveaux paramètres de sécurité (par défaut).

Schémas d’exemple : Créer la base de données avec les schémas d’exemple (vous pouvez toutefois conserver la valeur par défaut).

Configuration options that are used to install Oracle 11g on Ubuntu

13. Options de gestion

Vous pouvez conserver les paramètres par défaut.

Configuring Management options to install Oracle 11g on Ubuntu

14. Stockage de la base de données

Lisez les recommandations affichées dans la fenêtre et sélectionnez Système de fichiers .

Spécifiez l’emplacement du fichier de base de données : /u01/app/oracle/oradata

Selecting a database file location on a file system to install Oracle 11g on Ubuntu

15. Sauvegarde et restauration

À ce stade, vous pouvez sélectionner l’option : Ne pas activer les sauvegardes automatisées (par défaut).

Les sauvegardes sont importantes, mais il est préférable de configurer les sauvegardes de la base de données Oracle après avoir installé Oracle sur Ubuntu.

Oracle backup can be configured after installing Oracle database on Ubuntu

16. Mots de passe du schéma

Vous pouvez sélectionner Utiliser le même mot de passe pour tous les comptes . Saisissez un mot de passe et confirmez-le.

Select schema passwords to install Oracle on Ubuntu

17. Groupes du système d’exploitation

Lisez la description affichée dans la fenêtre et sélectionnez les groupes requis.

Groupe d’administrateurs de base de données (OSDBA) : dba

Groupe d’opérateurs de base de données (OSOPER) : oinstall

Selecting operating system groups to install Oracle on Ubuntu

18. Vérification des conditions à remplir

Le programme d’installation d’Oracle vérifie à présent si la configuration du système répond aux conditions à remplir. Des avertissements s’afficheront à cette étape. Le paramètre du noyau du système d’exploitation semmni a été configuré précédemment, mais le statut « Échec » s’affiche pour ce paramètre.

Paramètre du noyau du système d’exploitation : semmni Échec

Running prerequisite checks before installing Oracle database on Ubuntu

Vous pouvez vérifier la valeur de ce paramètre pour vous assurer que tout est correct. Vérifiez le paramètre semmni à l’aide de la commande suivante (à exécuter en tant qu’administrateur) : /sbin/sysctl -a | grep sem

kernel.sem = 250 32000 100 128

ou

cat /proc/sys/kernel/sem

250 32000 100 128

Si la dernière valeur est supérieure ou égale à 128, tout est en ordre et vous pouvez ignorer cet avertissement.

How to install Oracle on Ubuntu – checking the semmni kernel parameter

Pour une raison quelconque, l’outil de vérification des prérequis d’Oracle ne parvient pas à déterminer si le paramètre semmni est correct et si les packages requis sont installés. Si le contenu de votre fenêtre « Prerequisite Checks » (Vérification des prérequis) est similaire à celui de la capture d’écran ci-dessus, cochez la case « Ignore All » et cliquez sur « Suivant » pour continuer.

19. Résumé

Vérifiez le résumé de la configuration pour vous assurer que vous avez configuré tous les paramètres comme il se doit. Vous pouvez enregistrer le fichier de réponse ( db.rsp ) car il peut s’avérer utile si vous devez installer Oracle sur plusieurs machines Linux ou si vous comptez installer Oracle sur Ubuntu Server sans interface graphique.

Checking Oracle configuration summary

Vous pouvez désormais suivre la copie des fichiers par le programme d’installation d’Oracle jusqu’à ce que celui-ci passe à l’étape Lier les binaires .

Liaison des binaires pour Oracle — correction des erreurs de liaison et de compilation

Cette étape est l’une des plus difficiles de l’installation de la base de données Oracle sur Ubuntu Linux. Le risque de rencontrer des erreurs à cette étape est élevé. Dans l’exemple actuel, l’erreur suivante survient lors de l’installation d’Oracle 11g sur Ubuntu 16 :

Erreur lors de l’appel de la cible « install » du fichier makefile « /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk ». Consultez le fichier « /u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log » pour plus de détails .

Notez que des erreurs similaires peuvent se produire même si vous installez Oracle sur Oracle Linux. Le nom de votre fichier journal devrait être différent.

Remarque : Les fichiers portant l’extension .mk sont des fichiers Makefile et servent à compiler des programmes. Un fichier Makefile détermine quelles « parties » du programme doivent être compilées et quels fichiers du programme doivent être compilés et liés entre eux. Certains composants des logiciels Oracle sont écrits en Java (par exemple, Oracle Universal Installer, qui dispose d’une interface graphique) et d’autres en C. Les composants écrits en Java doivent être interprétés sans compilation (Java étant multiplateforme), tandis que ceux écrits en C doivent être compilés ; la liaison des binaires et des bibliothèques constitue une étape obligatoire de ce processus. Oracle utilise cette approche pour offrir davantage de flexibilité et permettre l’installation d’Oracle sur différents systèmes d’exploitation (Windows, Linux, Solaris). Un autre avantage réside dans la taille réduite du programme d’installation. L’inconvénient est que des erreurs peuvent survenir lors de l’étape de liaison des binaires au cours du processus d’installation d’Oracle. Dans la plupart des cas, vous devez ajouter les indicateurs appropriés en modifiant les fichiers .mk afin de résoudre les problèmes de liaison.

Error in invoking target install of makefile ins_ctx.mk can occur when you install Oracle on Ubuntu

Voyons comment résoudre les erreurs de liaison des binaires qui surviennent lors de l’installation de la base de données Oracle sous Ubuntu Linux.

Connectez-vous en tant que oracle via SSH à la machine Ubuntu et consultez le fichier journal :

tail -n 100 /u01/app/oraInventory/logs/installActions2020-01-22_12-53-06PM.log

Checking the log file to fix the error in invoking target install of makefile ins_ctx.mk

Lorsque vous lisez le contenu du journal, prêtez attention à la ligne qui explique l’erreur.

INFO : /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk :11: échec de la recette pour la cible « ctxhx »

ins_ctx.mk:11 vous renvoie à la ligne 11 du fichier ins_ctx.mk .

Ouvrons le fichier ins_ctx.mk et vérifions la ligne 11 de ce fichier.

vim /u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk

En mode navigation de vim , tapez :set number pour afficher les numéros de ligne.

Viewing the ins_ctx.mk file in vim to fix the Oracle installation error

Recherchons la ligne numéro 11.

Finding the needed line in the ins_ctx.mk file to fix the Oracle installation error in Ubuntu

Lorsque vous utilisez le mode de navigation dans vim , vous pouvez rechercher la chaîne de caractères souhaitée à l’aide de la commande :

/LINK_CTXHX

Modifiez la section suivante :

ctxhx: $(CTXHXOBJ)

$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)

La ligne numéro 11 doit être modifiée comme suit :

-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/stdc.a

Fixing the error in invoking target install of makefile ins_ctx.mk when installing Oracle database on Ubuntu

Enregistrez le fichier ins_ctx.mk et quittez vim .

Revenez maintenant à la fenêtre d’erreur d’installation d’Oracle et cliquez sur Réessayer .

Le processus d’installation se poursuit, mais au bout de quelques secondes, une autre erreur s’affiche lors de l’étape Compilation des bibliothèques de l’agent :

Erreur lors de l’appel de la cible « agent nmhs » du fichier makefile « /u01/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk ».

Error in invoking target agent nmhs of makefile ins_emagent.mk

Exécutez les commandes suivantes en tant que oracle pour résoudre ce problème :

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

sed -i 's/^(s*$(MK_EMAGENT_NMECTL))s*$/1 -lnnz11/g' $ORACLE_HOME/sysman/lib/ins_emagent.mk

Remarque : sed est un éditeur de texte en flux continu qui permet de gagner du temps lors de la modification des fichiers .mk par rapport à leur édition avec vim ou d’autres éditeurs de texte interactifs.

Après avoir exécuté les deux commandes ci-dessus, cliquez sur Réessayer dans la fenêtre d’erreur d’installation d’Oracle. Vous pouvez constater que l’erreur est corrigée et que l’installation de la base de données Oracle sous Ubuntu Linux se poursuit. Cependant, au bout de quelques secondes, une autre erreur survient lors de l’étape Liaison des exécutables RDBMS : Erreur lors de l’appel de la cible « all_no_orcl » du fichier Makefile « /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ins_rdbms.mk ».

Error in invoking target all_no_orcl of makefile ins_rdbms.mk

Exécutez les commandes suivantes en tant que oracle pour corriger cette erreur et quelques autres erreurs similaires :

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1

cd $ORACLE_HOME/lib

ln -s libclient11.a libagtsh.a

$ORACLE_HOME/bin/genagtsh $ORACLE_HOME/lib/libagtsh.so 1.0

sed -i 's/^($LD $LD_RUNTIME) ($LD_OPT)/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/bin/genorasdksh

sed -i 's/^(s*)($(OCRLIBS_DEFAULT))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/srvm/lib/ins_srvm.mk

sed -i 's/^(TNSLSNR_LINKLINE.*$(TNSLSNR_OFILES)) ($(LINKTTLIBS))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/network/lib/env_network.mk

sed -i 's/^(ORACLE_LINKLINE.*$(ORACLE_LINKER)) ($(PL_FLAGS))/1 -Wl,--no-as-needed 2/g' $ORACLE_HOME/rdbms/lib/env_rdbms.mk

Revenez ensuite à la fenêtre d’erreur et cliquez sur Réessayer . Le processus d’installation devrait désormais reprendre sans erreur.

L’Assistant de configuration de la base de données Oracle (DBCA) s’ouvrira après avoir franchi l’étape Lier les binaires franchie.

Installing Oracle database on Ubuntu – Oracle Database Configuration Assistant is running

Exécution des scripts de configuration

Nous sommes presque arrivés au terme de l’installation de la base de données Oracle sur Ubuntu.

Exécutez ces deux scripts en tant que root :

/u01/app/oraInventory/orainstRoot.sh

/u01/app/oracle/product/11.2.0/dbhome_1/root.sh

How to install Oracle on Ubuntu – two scripts must be executed to finish Oracle installation

Sur la capture d’écran ci-dessous, vous pouvez voir que les scripts ont été exécutés avec succès.Running scripts to finish installing Oracle database on Ubuntu

L’installation de la base de données Oracle s’est déroulée avec succès .

Si cette notification s’affiche, vous pouvez fermer la fenêtre du programme d’installation d’Oracle.

The installation of Oracle Database was successful on Ubuntu Linux

Vérifiez qu’Oracle est en cours d’exécution sur Ubuntu

Ouvrez un navigateur Web sur votre machine Ubuntu exécutant Oracle et vérifiez si Oracle est en cours d’exécution en ouvrant l’interface Web d’Oracle Database Control Manager. Vous pouvez utiliser les liens suivants pour cela :

https://localhost:1158/em

https://ubuntu-oracle11:1158/em

https://192.168.101.11:1158/em

Vous pouvez également essayer de vous connecter à la machine Ubuntu sur laquelle Oracle est exécuté depuis un autre hôte de votre réseau.

Définissez les paramètres de connexion.

Nom d’utilisateur : SYS

Mot de passe : votre mot de passe défini lors de l’installation d’Oracle

Se connecter en tant que : SYSDBA

Database Control Manager for Oracle 11g Enterprise Edition – entering credentials

Vous trouverez ci-dessous une capture d’écran d’Oracle Enterprise Manager indiquant qu’Oracle fonctionne correctement.

How to install Oracle on Ubuntu - Oracle Enterprise Manager is running

Configuration post-installation d’Oracle

Oracle est désormais installé ; il faut maintenant configurer la base de données pour qu’elle démarre automatiquement lors de l’amorçage d’Ubuntu. Vous devez modifier le fichier de configuration /etc/oratab pour configurer le démarrage d’Oracle au démarrage du système.

Exécutez la commande en tant qu’administrateur (root).

vim /etc/oratab

Remplacez N par Y à la fin de la ligne :

ORADB11G:/u01/app/oracle/product/11.2.0/dbhome_1:Y

Commandes utiles

Avant de configurer le démarrage automatique d’Oracle, vous devez comprendre comment démarrer manuellement les composants d’Oracle. Cela vous aidera également pour le diagnostic. Exécutez ces commandes en tant qu’utilisateur oracle .

Démarrer la base de données :

$ORACLE_HOME/bin/dbstart $ORACLE_HOME

Arrêter la base de données : $ORACLE_HOME/bin/dbshut $ORACLE_HOME

Démarrer le Database Control Enterprise Manager, qui fournit une interface Web pour le contrôle de la base de données :

emctl start dbconsole

Arrêter le Database Control Manager :

emctl stop dbconsole

Vérifier le statut du Database Control Manager :

emctl status dbconsole

Démarrer le listener :

$ORACLE_HOME/bin/lsnrctl start

Arrêter le listener :

$ORACLE_HOME/bin/lsnrctl stop

Vérifier le statut du listener :

$ORACLE_HOME/bin/lsnrctl status

Démarrer l’assistant de configuration de la base de données (dans l’interface graphique, et non dans la console SSH) :

dbca

Le listener Oracle peut être configuré en modifiant le fichier :

vim $ORACLE_HOME/network/admin/listener.ora

Connexion à la base de données dans la console :

sqlplus / as sysdba;

Création d’un script de démarrage pour Oracle sous Ubuntu

Voyons comment configurer Oracle pour qu’il démarre automatiquement au démarrage d’Ubuntu. Après avoir modifié /etc/oratab , vous devez créer un script de démarrage dans le répertoire /etc/init.d/ .

Créez le nouveau fichier du script de démarrage d’Oracle sous Ubuntu (exécutez la commande en tant que root ) :

vim /etc/init.d/oracle

Ajoutez le contenu suivant à ce fichier :

#!/bin/bash

#

# Run-level Startup script for the Oracle Instance and Listener

#

### BEGIN INIT INFO

# Provides:          Oracle

# Required-Start:    $remote_fs $syslog

# Required-Stop:     $remote_fs $syslog

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: Startup/Shutdown Oracle listener and instance

### END INIT INFO

#ORACLE_UNQNAME="ORADB11G"

#export $ORACLE_UNQNAME

echo "ORACLE_UNQNAME is $ORACLE_UNQNAME"

ORACLE_HOME="/u01/app/oracle/product/11.2.0/dbhome_1"

ORACLE_OWNR="oracle"

# if the executables do not exist -- display error

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_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: "

echo "dbstart"

source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

echo "lsnrctl start"

source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"

#Optional : for Enterprise Manager software only

echo "emctl start dbconsole"

source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"

touch /var/lock/oracle

echo "OK - a script has been executed"

;;

stop)

# Oracle listener and instance shutdown

echo -n "Shutdown Oracle: "

#Optional : for Enterprise Manager software only

source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORAClE_HOME/bin/emctl stop dbconsole"

source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"

source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"

rm -f /var/lock/oracle

echo "OK - a script has been executed"

;;

reload|restart)

$0 stop

$0 start

;;

*)

echo "Usage: $0 start|stop|restart|reload"

exit 1

esac

exit 0

Définissez les permissions appropriées :

chown oracle:oinstall /etc/init.d/oracle

chmod 0775 /etc/init.d/oracle

Configurez ce script pour qu’il s’exécute immédiatement après le démarrage du système d’exploitation (disponible pour les niveaux d’exécution par défaut) :

update-rc.d oracle defaults

Vous pouvez modifier la priorité de démarrage si nécessaire.

Exécutez le script pour arrêter Oracle (vous pouvez exécuter ce script en tant que root ) :

/etc/init.d/oracle stop

Si vous souhaitez démarrer Oracle, exécutez ce script à l’aide de la commande :

/etc/init.d/oracle start

How to install Oracle on Ubuntu – running a startup script for Oracle

Remarque : Prêtez attention à la ligne suivante et aux lignes similaires dans le script de démarrage d’Oracle :

source "/home/oracle/.bashrc" && su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

Nous configurons d’abord le shell pour qu’il lise les paramètres stockés dans le .bashrc profil système de l’utilisateur oracle , y compris des variables telles que ORACLE_HOSTNAME , ORACLE_BASE , PATH etc., qui sont nécessaires au bon fonctionnement des composants Oracle. Après avoir appliqué les paramètres bash de l’utilisateur oracle , la commande suivante est exécutée pour démarrer la base de données Oracle. Quelle est la différence entre su - et su?

user1@hostname:~$ su - username2 – cette commande lance une session de shell en ligne de commande en tant qu’utilisateur sélectionné ( username2 ) avec les paramètres de cet utilisateur ( username2 ), comme si vous vous étiez connecté directement (à partir de zéro) en tant que username2 lors de la création d’une nouvelle session de shell. Les variables d’environnement de username2 sont utilisées dans cette session de shell.

user1@hostname:~$ su username2 – cette commande lance le shell en ligne de commande en tant qu’utilisateur sélectionné ( username2 ) avec les paramètres de l’utilisateur actuel ( user1 ) et les variables d’environnement de user1 sont héritées par username2 dans cette session de shell.

su -c (–command) signifie qu’une commande spécifiée doit être exécutée en tant qu’utilisateur sélectionné.

Dépannage

Passons en revue certains problèmes pouvant survenir lors de l’installation d’Oracle sur Ubuntu et voyons s’il existe des méthodes pour les résoudre.

ORA-12547 : TNS : perte de contact

L’assistant de configuration de base de données ne parvient pas à créer une base de données et une erreur se produit.

ORA-12547 : TNS : perte de contact .

Les fichiers journaux de l’opération en cours se trouvent à l’emplacement :

/u01/app/oracle/cfgtoollogs/dbca/ORADB11G

How to install Oracle on Ubuntu – ORA-12547 TNS lost contact

Consultez le fichier journal :

tail -n 100 /u01/app/oracle/cfgtoollogs/dbca/ORADB11G/cloneDBCreation.log

Prêtez attention aux chaînes de caractères suivantes :

oracleORADB11G : erreur lors du chargement des bibliothèques partagées : libaio.so.1 : impossible d’ouvrir le fichier d’objet partagé : Aucun fichier ou répertoire de ce type

ORA-12547 : TNS : perte de contact

L’une des raisons pour lesquelles ce message d’erreur s’affiche est l’absence de bibliothèques liées aux paquets appropriés — libaio1 , libaio-dev . Vérifiez si les paquets mentionnés sont installés, sinon installez-les :

sudo apt-get install libaio1

sudo apt-get install libaio-dev

Oracle ne démarre pas automatiquement au démarrage d’Ubuntu

Il se peut que vous exécutiez le script en tant que root et que vous voyiez le message :

« La variable d’environnement ORACLE_UNQNAME n’est pas définie. Veuillez définir ORACLE_UNQNAME sur le nom unique de la base de données ».

Dans ce cas, Oracle ne démarre pas automatiquement lors de l’amorçage d’Ubuntu. Si ce message d’erreur s’affiche lors du lancement d’Oracle Enterprise Manager 11g Database Control, vous devez vérifier les variables d’environnement.

How to check the ORACLE_UNQNAME?

Vous pouvez vérifier la variable ORACLE_UNQNAME (exécutez les commandes en tant que oracle ).

sqlplus / as sysdba;

SQL> SELECT name, db_unique_name FROM v$database;

SQL> exit

Modifiez /etc/profile (en tant que root) : vim /etc/profile

Ajoutez la ligne suivante à la fin du fichier /etc/profile :

ORACLE_UNQNAME=ORADB11G; export ORACLE_UNQNAME

Redémarrez la machine Ubuntu sur laquelle Oracle est installé.

À présent, cette erreur ne devrait plus apparaître lors de l’exécution du script et Oracle devrait démarrer après avoir exécuté manuellement la commande /etc/init.d/oracle start . Cependant, Oracle ne démarre toujours pas automatiquement au démarrage d’Ubuntu Linux. La raison de ce problème est que les variables d’environnement ne sont pas définies pour le shell dans lequel le script s’exécute. Consultez l’explication du script de démarrage d’Oracle ci-dessus et relisez attentivement votre script.

Est-il possible d’installer Oracle 11g sur Ubuntu 18 ?

Ubuntu 18 dispose de versions plus récentes des bibliothèques système Linux qui sont largement compatibles avec Oracle 11g R2. Il y a de fortes chances que vous rencontriez des erreurs lors de l’étape « » (« Link Binaries ») de l’installation d’Oracle. Par exemple :

Erreur lors de l’appel de la cible « links proc gen_pcscfg » du fichier makefile « u01/app/oracle/product/11.2.0/dbhome_1/precomp/lib/ins_precomp.mk ».

How to install Oracle 11g on Ubuntu 18 – Error in invoking target links proc gen_pcscfg of makefile ins_precomp.mk

C’est pourquoi Ubuntu 16 est utilisé dans ce tutoriel. Bien sûr, vous pouvez essayer d’installer Oracle 11g sur Ubuntu 18, mais préparez-vous à rencontrer certaines difficultés. Vous devrez peut-être installer des paquets et des bibliothèques provenant de versions antérieures, ce qui impliquera de revenir à une version antérieure du système d’exploitation Ubuntu.

La procédure d’installation de la base de données Oracle sur Ubuntu 18 est similaire à celle sur Ubuntu 16 (pour Oracle 11g R2 EE). Lors de l’étape « » (« Link Binaries » ; ), si des erreurs surviennent, vous devrez analyser les journaux, consulter la documentation et corriger les erreurs de liaison.

La commande suivante peut s’avérer utile pour relier manuellement les bibliothèques après avoir modifié des fichiers :

$ORACLE_HOME/bin/relink all

Conclusion

Cet article de blog vous a guidé tout au long de l’installation d’Oracle 11g R2 Enterprise Edition, un processus bien plus complexe que l’installation d’Oracle XE (Express Edition). L’installation de la base de données Oracle sous Ubuntu nécessite une configuration manuelle des fichiers et des paramètres système.

L’installation d’Oracle sous Ubuntu Linux n’est pas une tâche aisée, mais Oracle Enterprise Edition offre de nombreux avantages. Les étapes d’installation d’Oracle qui requièrent une grande attention de votre part sont l’installation des paquets Ubuntu, la liaison des binaires et la création d’un script de démarrage. Si vos versions d’Ubuntu et d’Oracle sont identiques à celles utilisées dans cet article, suivez le tutoriel étape par étape pour réussir l’installation d’Oracle. Après avoir réalisé le déploiement de la base de données Oracle, n’oubliez pas de réaliser des sauvegardes.

Essayez NAKIVO Backup & Replication

Essayez NAKIVO Backup & Replication

Profitez d'un essai gratuit pour découvrir toutes les fonctionnalités de protection des données de la solution. 15 jours gratuits. Aucune restriction en termes de fonctionnalités ou de capacité. Aucune carte bancaire requise.

Les gens qui ont consulté cet article ont également lu