Import Dump sous oracle 11GR2
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…