Oracle jgaicc

avril 28, 2011

DB: Supprimer les objets d’un schéma « EASYTEAM LE BLOG

Filed under: Uncategorized — jgaicc @ 11:48

 

Supprimer les objets d’un schéma

2 novembre 2010

par yooo13

Il arrive parfois d’avoir besoin de supprimer tous les objets d’un schéma, mais, par facilité ou pour différentes raisons, sans supprimer l’utilisateur. Par défaut la base de données Oracle ne fournit pas d’ordre SQL simple pour effectuer une telle tache. Je vous propose ainsi le petit script suivant pour exécuter cette opération.
Le code assez simple à exécuter en temps que SYS est le suivant :

voir la source

imprimer?

01
declare

02
cursor c_get_objects is

03
select owner, object_type,'"'||object_name||'"'||decode(object_type,'TABLE' ,' cascade constraints purge',null) obj_name

04
from dba_objects

05
where object_type in ('TABLE','VIEW','PACKAGE','SEQUENCE','PROCEDURE','FUNCTION', 'SYNONYM', 'MATERIALIZED VIEW')

06
and owner in ('MYUSER');

07
cursor c_get_objects_type is

08
select owner, object_type, '"'||object_name||'"' obj_name

09
from dba_objects

10
where object_type in ('TYPE')

11
and owner in ('MYUSER') ;

12
begin

13
for object_rec in c_get_objects

14
loop

15
execute immediate ('drop ' || object_rec.object_type || ' ' || object_rec.owner || '.' ||object_rec.obj_name);

16
end loop;

17
for object_rec in c_get_objects_type

18
loop

19
begin

20
execute immediate ('drop '||object_rec.object_type || ' ' || object_rec.owner ||'.' || object_rec.obj_name);

21
end;

22
end loop;

23
end;

24
/

Et voila un beau schéma tout neuf.

Il se peut que des segments LOB restent coincés. Il faut alors se connecter avec l’utilisateur et purger la corbeille :

voir la source

imprimer?

1
purge recyclebin ;

Merci à http://arjudba.blogspot.com/2008/09/dropping-all-objects-in-schema.html

Supprimer les objets d’un schéma « EASYTEAM LE BLOG

Laisser un commentaire »

Aucun commentaire pour l’instant.

RSS feed for comments on this post. TrackBack URI

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

Créez un site Web ou un blog gratuitement sur WordPress.com.

%d blogueurs aiment cette page :