Antes de responder, imho é ** muito ** mais prático e direto vc
dropar duma vez o usuário, que aí necessariamente TODOS os objetos
dele vão pro espaço : se vc precisa preservar os GRANTs e os detalhes
de default e quotas desse usuário (que o drop remove também) antes do
drop vc lista os grants com um script do tipo :

set echo off
set verify off
set pages 200
col granted_role form a20
col owner form a15
col table_name form a33
col privilege form a33
ACCEPT username  prompt 'Enter Username : '
PROMPT Roles granted to user
SELECT granted_role,admin_option,default_role
FROM dba_role_privs
WHERE grantee=UPPER('&username')
ORDER BY 1;
PROMPT Table Privileges granted to a user through roles
SELECT granted_role, owner, table_name, privilege
FROM ( SELECT granted_role
    FROM dba_role_privs WHERE grantee=UPPER('&username')
       UNION
       SELECT granted_role
    FROM role_role_privs
    WHERE role in (SELECT granted_role
             FROM dba_role_privs WHERE grantee=UPPER('&username')
            )
   ) roles, dba_tab_privs
WHERE granted_role=grantee
ORder by 1,2,3,4;
PROMPT System Privileges assigned to a user through roles
SELECT granted_role, privilege
FROM ( SELECT granted_role
    FROM dba_role_privs WHERE grantee=UPPER('&username')
       UNION
       SELECT granted_role
    FROM role_role_privs
    WHERE role in (SELECT granted_role
             FROM dba_role_privs WHERE grantee=UPPER('&username')
            )
   ) roles, dba_sys_privs
WHERE granted_role=grantee
ORDER BY 1,2;
PROMPT Table privileges assigned directly to a user
SELECT owner, table_name, privilege
FROM dba_tab_privs
WHERE grantee=UPPER('&username')
ORDER BY 1,2,3;
PROMPT System privileges assigned directly to a user
SELECT privilege, admin_option
FROM  dba_sys_privs
WHERE grantee=UPPER('&username');

e consulta a DBA_TS_QUOTAS e a DBA_USERS pra esse usuário.

==> Caso vc queira ir pelo caminho de dropar só os objetos, eu
aconselho é a usar a técnica amiga do dba , ie, sqlplus gerando
script ,  seria algo + ou - assim : primeiro desabilitar as
constraints com um script, gere-o rodando  o script abaixo conectado
como o tal usuário e depois execute o apaga_constraints.sql :

set term off feedback off verify off pages 0 lines 500 trimspool on
head off
spool apaga_constraints.sql
select 'ALTER TABLE ' || table_name || ' DROP CONSTRAINT ' ||
constraint_name || ';'
  from user_constraints
order by decode(constraint_type, 'P', 1, 'U', 2, 'R', 3, 4)
/
spool off
exit


==> agora, sem constraints, basta vc montar uma lista dos drops a
fazer, seria tipo :

set term off feedback off verify off pages 0 lines 500 trimspool on
head off
spool dropa_tudo.sql
select 'DROP ' || object_type || ' ' || object_name || ';'
  from user_objects
/
spool off
exit

==> rode o dropa_tudo.sql e é isso.

[]s

Chiappa


--- Em oracle_br@yahoogrupos.com.br, Luiz Claudio Felicio
<[EMAIL PROTECTED]> escreveu
>
> Boa tarde a todos!!  Alguem aqui no grupo possui algum script para
exluir todos os objetos de um usuario no Banco?Tipo uma procedur que
varre e elimina de uma só vez os objetos da quele usuario.
>   
>   Banro
>   
>   Agradeço a todos..
>   Luiz Claudio
>
>
>
>            
> ---------------------------------
>  Yahoo! Search
>  Imposto de Renda 2006: o prazo está acabando. Faça já a sua
declaração no site da Receita Federal.
>
> [As partes desta mensagem que não continham texto foram removidas]
>






--------------------------------------------------------------------------------------------------------------------------
Atenção! As mensagens deste grupo são de acesso público e de inteira responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/
--------------------------------------------------------------------------------------------------------------------------__________________________________________________________________

Este Grupo recebe o apoio da SQL Magazine - www.devmedia.com.br/sqlmagazine
__________________________________________________________________
O grupo Oracle_br não aceita anexos. Quando oferecer algum arquivo, tenha o link do mesmo para evitar trafego(pedidos) desnecessário.



Yahoo! Grupos, um serviço oferecido por:
PUBLICIDADE


Links do Yahoo! Grupos

Responder a