Import Dump sous oracle 11GR2

2022 Feb 13 2 minute read

L’objectif ici est d’importer un dump d’une base de donnée Oracle vers une autre base de donnée à l’identique mais dont les données, structures sont potentiellement différentes.

Export

L’export sera de la forme :
Sans précisions supplémentaire, l’export aboutira dans le répertoire de dump par défaut et le fichier log par défaut.
L’export sera celui du schémas.

expdp system/pwd@TNS dumpfile=expdatSID.dmp

Import

4 phases :

  • Se connecter en system sous sqlplus
  • Verrouiller l’utilisateur du schéma exporté
  • Tuer les sessions de l’utilisateur
  • Supprimer l’utilisateur

1 – Log sous SQLPLUS

sqlplus system/pwd@sid as sysdba

2 – Verrouiller l’utilisateur du schéma à importer (User1)

>alter user user1 account lock;

3 – Lister les sessions ouvertes de l’utilisateur puis les tuer

Attention : La table v$session ne reconnait que les majuscules d’où user1 = USER1

>SELECT sid,serial#,status,username FROM v$session WHERE username='USER1';

Suppression des sessions

> ALTER SYSTEM DISCONNECT SESSION 'sid,serial#' immediate;

Vérification que toutes les sessions de l’utilisateur sont supprimées

>SELECT sid,serial#,status,username FROM v$session WHERE username='USER1';
aucune ligne sélectionnée.

4 – Suppression de l’utilisateur avant import

Nécessaire afin de supprimer tous les objets relatifs à l’utilisateur afin d’obtenir un import propre.

>DROP USER USER1 CASCADE;
...
Utilisateur supprimé.

Quitter temporairement SQLPLUS

>Exit

Import du dump

impdp system/pwd@TNS dumpfile='expdatSID.dmp'
...
...
...

Il est possible d’avoir des alertes de compilation (ORA-39083).
Vérifier qu’il n’y ait pas d’erreur fatale.

Dans le cas ou des synonyms pointent sur des tables extérieur au schéma, il faut attribuer les droits à USER1 sous la forme.
schema.table = nom du synonym

GRANT select,delete, update, insert on schema.table to user1;

Compilation

Dans le cas d’alerte de compilation après import. Il existe un utilitaire oracle pour faire le job.

1 – Se reconnecter sous sqlplus

sqlplus system/pwd@TNS as sysdba

2 – Exécuter l’utilitaire de re-compilation

>@E:\Oracle\product\11.2.0\dbhome_1\RDBMS\ADMIN\utlrp.sql
...
...
...
Affiche le nombre d'objets a recompiler
Affiche le nombre d'objets recompilés

3 – Vérification de l’import

Vérification que les données sont à jour.
Vérification de la compilation complète des views, procédures, triggers…