Comme d ab quand ya un pb VIVA GOOGLE QUE JE TE CONSEILL: j ai trouvé ca en 1 min chrono:
>Existe-t-il un outil Oracle permettant de reconstruire des scripts SQL
>de création d'une base, en fonction de son état courant (utilisateurs,
>rôles, tables, vues, etc ?
...
>Claude BOURASSEAU Centre de Ressources Informatiques
> Université de Rennes 1
Il existe plusieurs outils capables de faire du "reverse-engenering", donc
de recuperer la structure d'une base et de generer des scripts SQL. AMC
Designor est l'un des plus connus et fonctionne assez bien avec different
types de bases de donnees.
L'inconvenient, c'est qu'ils sont, a mon gout, un peu lourd a gerer et
surtout assez chers. Pour une licence AMC, il faut compter entre 6 a 15000
francs.
Il existe une autre solution, tres simple et tres efficace, inclu en
standard dans les outils d'oracle Server : export/import. L'outil export
vous permet en effet d'exporter tout ou partie d'une base de donnees Oracle
dans des fichiers textes. Une manip de la commande import permet de separer
les scripts des objets de la base (tables, vues, index, etc...) des donnees.
Il suffit alors de rebidouiller le sql, puis d'executer le SQL dans une base
(instance) differente, dans un schema different ou dans des tablespaces
differents. C'est au choix !
L'export/import ne vous coute pas un cents de plus et ca vous permet de
faire des choses tres tres pointues.
Mode d'emploi :
1/ Faire un export de la base en fonction de ce que vous voulez recuperer
(soit un "full", soit en fonction d'un schema, soit en fonction d'un
tablespace):
exemple pour un "full database":
exp73 SYSTEM/MANAGER FULL=Y FILE=<Path>\MonfichierExporte.exp
2/ Faire un "faux" import pour separer les scripts de creation des objets et
les donnees de la base
L'astuce consiste a faire un import dans un fichier texte et non dans une
base.
exemple :
imp73 SYSTEM/MANAGER FULL=Y FILE=<Path>\MonfichierExporte.exp IGNORE=Y
INDEXFILE=<Path>\MesScriptsDeCreation.sql
3/ Modifier les scripts SQL a convenance
Amicalement,
Jean-Francois Eritzpokhoff (JFE)