@Kvert007

Как удалить множество схем в бд oracle?

Собственно нужно удалить множество схем из БД, запрос типа
Drop user "GODIDANDER@VIP.RU","HINFORE@VIP.RU" cascade;

не работает.говорит что QL Error: ORA-00921: встретился неожиданный конец SQL-предложения
Как удалить сразу список схем а не поштучно?
  • Вопрос задан
  • 3601 просмотр
Пригласить эксперта
Ответы на вопрос 2
azrail_dev
@azrail_dev
Подсунь коллекцию схем и пробежиcь по ней с помощью forall
Ответ написан
@dchernov
можно сформировать команды таким селектом
select 'Drop user '||username||' cascade;' from dba_users where account_status = 'OPEN';
Условие можно опустить, если нужны вообще все схемы, а не только активные... из полученного списка останется удалить те, которые дропать не нужно :)
Можно сделать скрипт
set serveroutput on
set head off
set echo off
set feedback off
--set term off
spool drop.sql
select 'Drop user '||username||' cascade;' from dba_users where account_status = 'OPEN';
spool off
exit

выполнив его в sqlplus получишь готовый скриптец, который также надо почистить (оставить схемы, которые не надо удалять) и потом просто выполнить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы