119 lines
5.6 KiB
Markdown
Executable file
119 lines
5.6 KiB
Markdown
Executable file
<!-- title: Installer Oracle Express sur Centos -->
|
|
<!-- category: GNU/Linux -->
|
|
<!-- tag: planet -->
|
|
|
|
Oracle est la base de données phare de l'éditeur du même nom, utilisée pour des
|
|
grosses applications et des gros volumes de données.<!-- more --> Toute une suite de
|
|
produits de l'éditeur existe autour de la base pour administrer, optimiser,
|
|
déployer... Oracle fournit aussi une version limitée de son produit pour les
|
|
développeurs, il s'agit de **Oracle Express**. C'est une base qu'on va utiliser
|
|
pour développer et distribuer de modestes applications ou pour mettre au point
|
|
du code déployé sur des *vraies bases* Oracle en production. Les limitations
|
|
sont les suivantes : un seul processeur exploité, 1 Go de RAM max utilisé et
|
|
stockage de 11 Go de données maximum.
|
|
|
|
Oracle Express est proposée pour Ms Windows et **GNU/Linux en 64 bits** en
|
|
paquet RPM. J'ai décrit ci-après l'installation type sur un serveur Centos. La
|
|
procédure n'est pas complexe mais il y a quelques écueils qui justifient cet
|
|
article.
|
|
|
|
J'ai effectué l'installation de base d'un Centos 6.6 en 64 bits. Un pré-requis
|
|
à respecter, sinon Oracle refuse de s'installer, est la création d'une partition
|
|
de swap au moins égale à 2x la quantité de RAM de la machine.
|
|
|
|
On télécharge Oracle Express depuis [le site
|
|
officiel](http://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html).
|
|
On récupère un fichier ZIP qui contient le paquet RPM. On installe *unzip* sur
|
|
Centos et le paquet *bc* nécessaire à l'installeur Oracle.
|
|
|
|
$ yum install unzip bc
|
|
|
|
Oracle a besoin que le nom du serveur (aka hostname) soit associé à une adresse
|
|
IP. La solution simple est d'éditer le fichier */etc/hosts* du serveur et
|
|
ajouter une entrée avec le nom du serveur et son adresse IP. Désormais, nous
|
|
sommes prêt à démarrer l'installation. On dézippe l'archive et on installe
|
|
paquet *rpm* :
|
|
|
|
$ unzip oracle-xe-11.2.0-1.0.x86_64.rpm
|
|
$ rpm -ivh oracle-xe-11.2.0-1.0.x86_64.rpm
|
|
|
|
Quand le paquet *oracle-xe* est installé, il reste à configurer la base avec la
|
|
commande *configure* du service *oracle-xe* :
|
|
|
|
$ /etc/init.d/oracle-xe configure
|
|
|
|
Oracle Database 11g Express Edition Configuration
|
|
-------------------------------------------------
|
|
This will configure on-boot properties of Oracle Database 11g Express
|
|
Edition. The following questions will determine whether the database should
|
|
be starting upon system boot, the ports it will use, and the passwords that
|
|
will be used for database accounts. Press <enter> to accept the defaults.
|
|
Ctrl-C will abort.
|
|
|
|
Specify the HTTP port that will be used for Oracle Application Express [8080]:
|
|
|
|
Specify a port that will be used for the database listener [1521]:
|
|
|
|
Specify a password to be used for database accounts. Note that the same
|
|
password will be used for SYS and SYSTEM. Oracle recommends the use of
|
|
different passwords for each database account. This can be done after
|
|
initial configuration:
|
|
Confirm the password:
|
|
|
|
Do you want Oracle Database 11g Express Edition to be started on boot (y/n) [y]:y
|
|
|
|
Starting Oracle Net Listener...Done
|
|
Configuring database...Done
|
|
Starting Oracle Database 11g Express Edition instance...Done
|
|
Installation completed successfully.</enter>
|
|
|
|
En laissant les choix par défaut, on confime le port HTTP, le port du Listener,
|
|
on choisit un mot de passe pour les comptes SYS et SYSTEM et on confirme le
|
|
démarrage de la base au boot du serveur.
|
|
|
|
A ce stade, la base est démarrée et accessible localement. Le pare-feu de
|
|
Centos est installé par défaut donc il faut ajouter des règles pour ouvrir l'accès
|
|
distant ou plus brutalement désactiver le pare-feu avec la commande :
|
|
|
|
$ lokkit --disabled
|
|
|
|
L'accès local par SQLPlus nécessite de modifier l'environnement du Shell. On
|
|
peut s'éviter de le faire à chaque coup en rajoutant ce qui suit à la fin du
|
|
fichier */etc/profile* :
|
|
|
|
export ORACLE_SID=XE
|
|
export ORACLE_BASE=/u01/app/oracle
|
|
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe
|
|
export ORACLE_TERM=xterm
|
|
export NLS_LANG=FRENCH_FRANCE.utf8
|
|
export TNS_ADMIN=$ORACLE_HOME/network/admin
|
|
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
|
|
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
|
|
export PATH=$ORACLE_HOME/bin:$PATH
|
|
|
|
Finalement, on peut créer un utilisateur *normal* que l'on
|
|
utilisera dans notre développement depuis SQLPlus :
|
|
|
|
SQL> connect
|
|
SQL> create user joelafrite idenfied by <password-for-joe>;
|
|
SQL> grant CREATE SESSION, ALTER SESSION, CREATE DATABASE LINK, -
|
|
CREATE MATERIALIZED VIEW, CREATE PROCEDURE, CREATE PUBLIC SYNONYM, -
|
|
CREATE ROLE, CREATE SEQUENCE, CREATE SYNONYM, CREATE TABLE, -
|
|
CREATE TRIGGER, CREATE TYPE, CREATE VIEW, UNLIMITED TABLESPACE -
|
|
to joelafrite;
|
|
|
|
L'interface Web appelée "Application Express" permet d'effectuer les tâches
|
|
courantes d'administration. Je ne peux pas en dire grand chose, je ne l'ai pas
|
|
utilisé. Je me cantonne à SQLPlus et JDBC. Mais cette interface est accessible
|
|
depuis un navigateur à l'adresse http://localhost:8080/apex avec les informations
|
|
de connexion suivantes :
|
|
|
|
- Workspace: *ce que vous voulez*
|
|
- Username: ADMIN
|
|
- Pasword: *celui de l'utilisateur SYS et SYSTEM*
|
|
|
|
Les références pour écrire cet article :
|
|
|
|
- [http://www.davidghedini.com/pg/entry/install_oracle_11g_xe_on](http://www.davidghedini.com/pg/entry/install_oracle_11g_xe_on)
|
|
- [https://stackoverflow.com/questions/18028942/oracle-xe-database-configuration-failed](https://stackoverflow.com/questions/18028942/oracle-xe-database-configuration-failed)
|
|
- Lien obsolète : http://blog.warp11.nl/2011/05/fully-freeware-apex-environment-i-centos-oracle-xe-11g
|