Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / expdp/impdp с очисткой целевой схемы / 12 сообщений из 12, страница 1 из 1
31.10.2017, 08:59
    #39545016
Qwazart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
Доброго времени суток!
Возникла проблема при последовательной очистки схемы, не очищаются "последовательности" и "процедуры" и возможно "представления"
Очистку произвожу вот таким скриптом:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
DECLARE
CURSOR CC IS
SELECT * FROM ALL_OBJECTS WHERE OWNER='HR1';

BEGIN

FOR I IN 1..5 LOOP
FOR II IN CC LOOP
BEGIN
EXECUTE IMMEDIATE 'DROP '||II.OBJECT_TYPE||' '||II.OWNER||'.'||II.OBJECT_NAME||' CASCADE ';
DBMS_OUTPUT.PUT_LINE(II.OBJECT_TYPE||' '||II.OWNER||'.'||II.OBJECT_NAME);

EXCEPTION WHEN OTHERS THEN
NULL;
END;
END LOOP;
END LOOP;

END;


Подскажите, где ошибка?
...
Рейтинг: 0 / 0
31.10.2017, 09:04
    #39545019
expdp/impdp с очисткой целевой схемы
они сами могут не понять, если вы про меня им не расскажите
...
Рейтинг: 0 / 0
31.10.2017, 09:06
    #39545020
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
Qwazart
Код: plsql
1.
2.
WHEN OTHERS THEN
NULL;

ошибка
...
Рейтинг: 0 / 0
31.10.2017, 09:14
    #39545025
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
Неумелый велосипедостроитель, RTFM DROP USER (FAQ)
...
Рейтинг: 0 / 0
31.10.2017, 09:55
    #39545052
Qwazart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
ElicНеумелый велосипедостроитель, RTFM DROP USER (FAQ)
DROP/ALTER User мне тоже нравиться, но задача в другом.
Требуется последовательно очистить схему без удаления пользователя.
...
Рейтинг: 0 / 0
31.10.2017, 10:02
    #39545056
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
QwazartТребуется последовательно очистить схему без удаления пользователя.Ну так включай мозг, читай документацию.
...
Рейтинг: 0 / 0
31.10.2017, 10:47
    #39545081
Qwazart
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
Elic,

Есть задача, очистить схему у пользователя не удаляя пользователя. Я не являюсь DBA, у меня нет пароля от целевого пользователя и изменять его нельзя, но я знаю пароль от system. В процессе поиска решения я нашел этот скрипт (см. первый пост), при тестировании увидел, что некоторые объекты схемы не очищаются. Решил задать вопрос на этом ресурсе.
...
Рейтинг: 0 / 0
31.10.2017, 11:02
    #39545089
Elic
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
Qwazartя нашел этот скриптСкрипт писал кретин. И не намного лучший его исполняет.
20914284
...
Рейтинг: 0 / 0
31.10.2017, 11:08
    #39545093
Nobody1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
Qwazart,
естественно, ошибки будут, cascade только для таблиц. Хочешь чистить схему полностью - формируй в блоке plsql оператор drop в зависимости от типа объекта.
...
Рейтинг: 0 / 0
31.10.2017, 11:20
    #39545104
Nobody1111
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
Nobody1111Qwazart,
естественно, ошибки будут, cascade только для таблиц. Хочешь чистить схему полностью - формируй в блоке plsql оператор drop в зависимости от типа объекта.
сдается мне, что скрипт в этом виде вообще ничего не может удалять. Даже для таблицы должно быть cascade constaraints, а не cascade.
...
Рейтинг: 0 / 0
31.10.2017, 12:19
    #39545150
SY
SY
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
Qwazart Я не являюсь DBA , у меня нет пароля от целевого пользователя и изменять его нельзя, но я знаю пароль от system .



Посколько ты знаешь пароль от system, то что мeшает тебе с помощью DBMS_METADATA получить DDL для:

1. CREATE USER (он даст IDENTIFIED BY VALUES так-что пересоздаст пользователя с тем-же паролем).
2. GRANT системных привилегий.
3. GRANT ролей.
4. GRANT обьектных привилегий.
5. DROP пользователя.
6. Выполнить DDL от шагов 1 - 4.

SY.
...
Рейтинг: 0 / 0
31.10.2017, 12:33
    #39545162
Вячеслав Любомудров
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
expdp/impdp с очисткой целевой схемы
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / expdp/impdp с очисткой целевой схемы / 12 сообщений из 12, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]