Overblog Suivre ce blog
Administration Créer mon blog

Articles avec #divers trucs et astuces pour oracle tag

Importer/ exporter un dump d'une base Oracle

26 Janvier 2012 , Rédigé par benkirane Publié dans #Divers trucs et astuces pour Oracle

Dans ce billet, je vais vous présenter les commandes d'export et d'import d'une base Oracle grâce aux fichiers Dump. Ceci peut s'avérer très important pour récupérer ou recréer en local des bases de données distantes ou tout simplement pour créer une base de test à partir de la production. Ces commandes suppose que vous avez installé un client Oracle sur votre machine locale et que les exécutables sont bien dans votre PATH:

Tout d'abord, il faut commencer par l'export d'une base Oracle grâce à la commande suivante :
exp <nom_user>/<password_user>@<ip_nom_machine_oracle> file=<nom_fichier_dump_a_creer>.dmp log=<nom_fichier_logs>.log rows=y owner=<nom_owner_schema_Oracle>

Le paramètre rows=y indique que l'on souhaite récupérer les données. Si vous ne voulez récupérer que le schéma de la base sans les données, il suffit de positionner ce paramètre à 'n'.

Le fichier dump créé, il est alors possible de l'importer sur une autre base Oracle à l'aide de la commande d'import suivante:
imp <nom_user>/<password_user>@<nom_machine_oracle_pour_import> file=<nom_fichier_dump_a_importer>.dmp log=<nom_fichier_logs>.log

Je vous ai présenté, ici, les commandes basiques d'import/export d'une base Oracle mais celles-ci sont beaucoup plus riches. Si vous souhaitez plus de détails sur ces commandes, vous pouvez vous rendre sur le site Developpez.com où se trouve un article plutôt complet sur la sauvegarde et restauration de données Oracle.
Lire la suite

Afficher les messages Oracle sur la console SQL Developer

24 Janvier 2012 , Rédigé par benkirane Publié dans #Divers trucs et astuces pour Oracle

Sur SQL Developer, si vous souhaitez afficher les messages en sortie à l'aide de la fonction Oracle dbms_output.put_line, il faut l'activer préalablement à l'aide de la commande suivante :

set serveroutput on;

Vous pourrez alors voir les messages si vous taper l'instruction PL/SQL suivante par exemple :

dbms_output.put_line('Ceci est un message : ' || ma_variable);

Lire la suite

Oracle 10G/11G : ACL

10 Janvier 2012 , Rédigé par benkirane Publié dans #Divers trucs et astuces pour Oracle

Depuis la version 10G d'Oracle, pour pouvoir se connecter à d'autres serveurs depuis le serveur de base de données, il peut être nécessaire de configurer correctement les listes de contrôles d'accès (ACL). Pour se faire, il faut utiliser la fonction SQL suivante de création des ACL d'Oracle:

dbms_network_acl_admin.create_acl (
acl => 'ldap_acl.xml'
, description => 'LDAP Server access control'
, principal => 'SOMEUSER'
, is_grant => true
, privilege => 'connect'
);

Voici la description des différents paramètres de cette fonction:
  • acl : il sert à préciser le nom de l'ACL à créer. Dans l'exemple, c'est ldap_acl.xml,
  • description: il permet de donner une description de l'ACL qu'on est entrain de créer,
  • principal: il permet de préciser le nom de l'utilisateur Oracle pour lequel on va affecter l'ACL,
  • is_grant: permet d'activer ou désactiver le privilège pour l'utilisateur précisé précédemment,
  • privilege: indique le privilège à accorder à l'utilisateur pour l'ACL en cours de création.

Pour ajouter à l'ACL, un privilege pour un utilisateur, la fonction est la suivante:
  dbms_network_acl_admin.add_privilege (
acl => 'ldap_acl.xml'
, principal => 'SOMEUSER'
, is_grant => true
, privilege => 'resolve'
);

Pour assigner l'ACL à un serveur, un domaine ou une adresse IP avec ou sans une fenêtre de port possibles, la commande est la suivante:
dbms_network_acl_admin.assign_acl (
acl => 'ldap_acl.xml'
, host => 'my.ldap.server.com'
, lower_port => 389
, upper_port => 389
);

J'ai utilisé dernièrement ces différentes commandes pour permettre à un utilisateur Oracle d'accéder au serveur LDAP de l'entreprise pour laquelle je travaillais. Celle-ci n'avait pas de DBA disponible pour effectuer cette configuration. Eh oui dans l'informatique, il faut être un mouton à 5 pattes pour s'en sortir...


Lire la suite

Oracle SQLPlus : démarrer une instance Oracle

7 Novembre 2011 , Rédigé par benkirane Publié dans #Divers trucs et astuces pour Oracle

Pour démarrer une instance Oracle incluant les listeners, il faut suivre les étapes suivantes:

  1. Se connecter à SQL Plus en mode DBA (il faut bien sûr avoir les droits) en lançant la commande suivante: sqlplus / "as sysdba "
  2. Lancer ensuite la commande startup pfile=<chemin vers le fichier d'initialisation .ora>/<nom fichier d'initialisation de la base>.ora
Lire la suite

Oracle SQLPlus : se connecter à SQLPLUS avec l'utilisateur SYS

13 Octobre 2011 , Rédigé par benkirane Publié dans #Divers trucs et astuces pour Oracle

Pour se connecter au SQLPLUS d'Oracle avec l'utilisateur SYS, il faut avoir un compte ayant les droits DBA. Ensuite, il suffit de lancer la commande suivante :

sqlplus / as sysdba

Vérifier alors que vous êtes bien connecté en tant que SYS par la commande suivante:

show user
Lire la suite

Oracle SQLPlus : lancer un script .sql sous Unix

12 Octobre 2011 , Rédigé par benkirane Publié dans #Divers trucs et astuces pour Oracle

Pour lancer un script SQL sous Unix, deux solutions:

  1. se mettre dans le répertoire où se trouve votre script .sql puis lancer SQLplus (login/mot de passe) et exécuter la commande @<votrescript>.sql,
  2. la seconde solution consiste à faire un shell script. Là il est possible de setter des variables d'environnement puis de lancer l'exécution du script SQL par la commande sqlplus <login>:<mot de passe>@<votre script>.sql.

Un exemple de script:

cd /mon_chemin_vers_le_script/

sqlplus user/password @monscript.sql
Lire la suite