mercredi 16 avril 2014

Bug de sécurité OpenSSL - Heartbleed CVE-2014-0160

Depuis le mois d'avril 2014 il y a un bug de sécurité au niveau d'OpenSSL qui affecte plusieurs produits. Oracle n'est pas en reste car plusieurs produits d'oracle utilisent OpenSSL.
Ce bug s'appelle Heartbleed. Vous en avez sûrement entendu parler.

Pour savoir si les produits oracle que vous utilisez sont affectés ou pas, et s'il existe des correctifs, consultez la page suivante:

http://www.oracle.com/technetwork/topics/security/opensslheartbleedcve-2014-0160-2188454.html

Ce site classe les produits oracle en quatre (4) catégories:
1- Les produits oracle qui n'utilisent pas les versions d'OpenSSL affectées.
2- Les produits oracle qui pourraient être vulnérables, mais toujours sous investigation.
3- Les produits oracle vulnérables mais qui ont des correctifs.
4- Et les produits oracle vulnérables, mais pour lesquels il n'existe pas de correctif à ce jour.

Hope it helps...

samedi 12 avril 2014

Comment utiliser le script "mkplug.sql" pour créer les "sample" schemas?

Pré requis:
Il faut installer le fichier numéro 6 (p13390677_112040_Linux-x86-64_6of7 pour la version 11.2.0.4 de linux) qui représente "Oracle Database Examples".

Pour créer les schémas "example", habituellement on utilise le script "mksample.sql" qui se trouve dans le répertoire $ORACLE_HOME/demo/schema.

Cependant on peut aussi utiliser le script "mkplug.sql" pour "plugger" le transportable tablespace EXAMPLE dans la base de données.

Voici comment s'utilise ce script:

[oracle@Db11gLinux6-4 ~]$ cd $ORACLE_HOME/demo/schema
[oracle@Db11gLinux6-4 schema]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sat Apr 12 18:57:42 2014
Copyright (c) 1982, 2013, Oracle.  All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Oracle Label Security, OLAP, Data Mining
and Real Application Testing options

SYS@db11gr2> @mkplug.sql
specify password for SYS as parameter 1:
Enter value for 1: Welcome1

specify password for HR as parameter 2:
Enter value for 2: Welcome1

specify password for OE as parameter 3:
Enter value for 3: Welcome1

specify password for PM as parameter 4:
Enter value for 4: Welcome1

specify password for IX as parameter 5:
Enter value for 5: Welcome1

specify password for  SH as parameter 6:
Enter value for 6: Welcome1

specify password for  BI as parameter 7:
Enter value for 7: Welcome1

specify INPUT metadata import file as parameter 8:
Enter value for 8: example.dmp

specify INPUT database backup file for tablespace EXAMPLE as parameter 9:
Enter value for 9: example01.dfb

specify OUTPUT database file for tablespace EXAMPLE as parameter 10:
Enter value for 10: /u01/app/oracle/oradata/db11gr2/example01.dbf

specify OUTPUT log directory as parameter 11:
Enter value for 11: /u01/app/oracle/product/11.2.0/dbhome_1/demo/schema/

specify OUTPUT dump file directory as parameter 12:
Enter value for 12: /u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/templates/


Voici quelques explications concernant les paramètres:
  • Pour les paramètres 1 à 7, j'ai choisi d'utiliser comme mot de passe "Welcome1" pour tous les schémas examples à créer.
  • Paramètre 8: Fichier dump à utiliser pour plugger le transportable tablespace EXAMPLE. Ce fichier se trouve dans le répertoire $ORACLE_HOME/assistants/dbca/templates, d'où l'utilisation de ce répertoire plus tard pour le paramètre 12.
  • Paramètre 9: Fichier utilisé aussi pour le transportable tabalespace. Il se trouve dans le même répertoire que celui du paramètre 8. Pour ce qui concerne l'extension du fichier, ce n'est pas une erreur, c'est bien "dfb".
  • Paramètre 10: le datafile à créer dans notre base de données. Faire un "select file_name from dba_data_files;" pour voir l'emplacement des autres fichiers de votre BD.
  • Paramètre 11: Répertoire dans lequel les logs seront créés.
  • Paramètre 12: Répertoire dans lequel se trouvent les templates (example.dmp, example01.dfb), c'est à dire $ORACLE_HOME/assistants/dbca/templates.

Hope it helps...

Comment rappeler les commandes dans SQLPLUS ou RMAN dans un environnement linux?

L'utilitaire "rlwrap" permet de rappeler les anciennes commandes dans SQLPLUS ou RMAN.

Pour installer rlwrap :
Télécharger rlwrap ici :
http://utopia.knoware.nl/~hlub/uck/rlwrap/

Une fois téléchargé, copier le fichier "rlwrap-0.37.tar.gz" (c'est la version que j'ai utilisée) dans un répertoire sur le serveur, exemple /tmp

Se connecter sur le serveur linux en tant que root.
Décompresser le fichier:
cd /tmp
gunzip rlwrap-0.37.tar.gz
tar -xvf rlwrap-0.37.tar


Se positionner dans le répertoire obtenu:
cd rlwrap-0.37

Installer comme suit :
./configure

Si vous rencontrez l’erreur :

configure: error:
 You need the GNU readline library(
ftp://ftp.gnu.org/gnu/readline/ ) to build
this program!


Installer gcc et readline-devel comme suit, en utilisant "yum":
yum install gcc
yum install readline-devel


Reprendre l’installation de rlwrap:
./configure
make
make check
make install


Pour utiliser rlwrap avec sqlplus ou rman,

1- Lancer la commande en utilisant rlwrap en avant:
 rlwrap sqlplus system/mdp@alias

2- Ou créer un alias sqlplus et rman avec rlwrap en avant, comme suit:

alias sqlplus=’rlwrap $ORACLE_HOME/bin/sqlplus’
alias rman=’rlwrap $ORACLE_HOME/bin/rman’


Avec les alias on n'a plus besoin de préciser rlwrap en avant, on lance juste la commande:
sqlplus system/mdp@alias

Une fois connecté à SQLPLUS ou RMAN en utilisant rlwrap, on peut rappeler les anciennes commandes utilisées à l'aide des flèches du clavier.

Hope it helps...

mardi 8 avril 2014

Oracle Database 12c Interactive Quick Reference

Voici un petit guide concernant la version 12c d'oracle database que j'ai trouve interessant.
Il contient plusieurs onglets dont l'architecture de la base de donnees 12c, l'architecture multitenant, les vues de performance, etc...
Ce qui est interessant c'est qu'on peut cliquer sur les images pour les agrandir, on peut voir les commentaires a droite de l'ecran, etc...

On peut y acceder a partir de otn.oracle.com en allant au niveau de la page de documentation d'oracle database 12c. Mais voici le lien direct:

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/12c/r1/poster/OUTPUT_poster/poster.html#tab_1

Hope it helps...