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: | |
|
Links do Yahoo! Grupos
- Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/
- Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.