BI experience

Charger un DUMP Oracle

| 0 Commentaires

Exemple de contexte : vous êtes en société de service, afin de réaliser un POC, un client vous fournit un dump Oracle.

Première chose à faire : poser certaines questions au client :

  • Les informations NLS_DATABASE_PARAMETERS : pour construire l’instance Oracle avec les bonnes informations de NLS_CHARACTERSET et de NLS_NCHAR_CHARACTERSET (SELECT * FROM NLS_DATABASE_PARAMETERS)
  • Les users utilisés
  • Les rôles utilisés et les droits de chacun
  • La liste des tablespaces que vous pourrez avoir à recréer à la main
  • Le type d’export qui a été fait ( car il en existe 2 qui sont gérés de manières différentes : exp, expdp
  • L’espace disque utilisé car un backup peut faire une taille X mais quand il est déployé sa taille peut doubler voir tripler avec les tablespaces par exemple.

Après avoir créé votre instance Oracle et après avoir prévu la place nécessaire, ouvrez une fenêtre « cmd » :

Pour accéder en ligne de commande à votre instance vous pouvez taper :

C:\>sqlplus « / as sysdba »

A partir de là vous allez pouvoir créer un user :

CREATE USER monUser IDENTIFIED BY motDePasse;

Ensuite créer un rôle pour votre user :

CREATE role monRole;

GRANT CREATE cluster, create sequence , create synonym, create table, create view, create procedure, create trigger, CREATE public synonym, drop public synonym, create role, create any synonym, drop any synonym, drop any materialized view to monRole;

Et on affecte monUser à monRole :
GRANT unlimited tablespace, monRole to monUser;

Pour créer les tablespaces :

CREATE TABLESPACE USER_DATA DATAFILE ‘F:\dump\user_data.dbf’ SIZE 210m AUTOEXTEND ON NEXT 210;

Pour l’import 2 possibilités :

1) imp userid=monUser  file=C:\Users\Administrateur\Desktop\monDump.dmp FULL=Y log=C:\log.log;

2) CREATE DIRECTORY mondirectory AS ‘F:\dump’;

impdp monUser/motDePasse full=Y directory=mondirectory dumpfile=monDump.dmp

Problème de droit? Vous pouvez exécuter cette requête dans SQL Oracle développer, pendre le résultat et l’exécuter :

Select ‘GRANT SELECT ,INSERT,UPDATE,DELETE ON  ‘ || TABLE_NAME || ‘  TO UCPA_DEV;’ FROM USER_TABLES
Select ‘CREATE PUBLIC SYNONYM  ‘ || TABLE_NAME || ‘  FOR  ‘ || TABLE_NAME || ‘;’ FROM USER_TABLES

Un problème que j’ai rencontré :

lors du chargement d’un DUMP les vues matérialisées ont été chargées comme des tables.

Je n’ai pas encore tout compris sur Oracle mais ces petites commandes m’ont permis de mener à bien le chargement de mon DUMP client.

Si vous aussi vous avez  des astuces à nous transmettre, n’hésitez pas, commentez!

Laisser un commentaire

Champs Requis *.

*