...
expdp system/qqq@sbis58 directory=dir schemas=supermag content=DATA_ONLY dumpfile=supermag.dmp logfile=supermag.log
Получаем дамп БД (только метаданные).
...
(Вариант №1)
Можно использовать, если количество пользователей в БД - небольшое. В противном случае, получившееся значение не уместится в скрипте.
Установить кодовую страницу таким образом, чтобы русские имена пользователя выводились в читаемом виде.
...
где, строка INCLUDE=USER:... повторяет результат выше выполненного скрипта.
Пример файла - export.par
Произвести экспорт данных:
expdp system/qqq@sbis58 PARFILE=C:\export.par
Получаем дамп БД (только метаданные). (Вариант №2)
Создать файл: export2.par
Опции указанные в команде, четко указывают на то, что снимается не полный дамп, а только экспортировали дамп с метаданными пользователей, ролей и привилегий.
DIRECTORY=dir
DUMPFILE=users_and_roles_only.dmp
LOGFILE=export_users.log
FULL=Y
CONTENT=METADATA_ONLY
EXCLUDE=SCHEMA:"='SYS'"
EXCLUDE=SCHEMA:"='SYSTEM'"
EXCLUDE=SCHEMA:"='ORACLE_OCM'"
EXCLUDE=SCHEMA:"='DBSNMP'"
EXCLUDE=SCHEMA:"='OUTLN'"
EXCLUDE=SCHEMA:"='XDB'"
EXCLUDE=SCHEMA:"='APPQOSSYS'"
Произвести экспорт данных:
expdp system/qqq@sbis58 PARFILE=C:\export2.par
Подготовка БД для импорта.
...
Можно использовать скрипты, которые выполнят данную операцию. Но, автору данной инструкции удобнее использовать программу TOAD. В которой для схемы supermag - отбираются (поочередно) все ограничения и триггеры - и производится их отключение.
| Информация |
|---|
Скрипт для отключения всех включённых ограничений в схеме
Что делает скрипт:
|
Импорт данных.
create or replace directory dir as 'C:\BASE';
...
Можно использовать скрипты, которые выполнят данную операцию. Но, автору данной инструкции удобнее использовать программу TOAD. В которой для схемы supermag - отбираются (поочередно) все ограничения и триггеры - и производится их активация (включение).
| Информация |
|---|
Ниже представлен PL/SQL-скрипт для включения всех отключённых ограничений в схеме Скрипт предполагает выполнение от имени владельца схемы
SET SERVEROUTPUT ON; DECLARE v_sql VARCHAR2(4000); BEGIN FOR c IN (SELECT table_name, constraint_name, constraint_type FROM user_constraints WHERE status = 'DISABLED' ORDER BY CASE constraint_type WHEN 'P' THEN 1 -- первичные ключи WHEN 'U' THEN 2 -- уникальные WHEN 'R' THEN 3 -- внешние ключи WHEN 'C' THEN 4 -- проверочные ELSE 5 END) LOOP BEGIN v_sql := 'ALTER TABLE "' || c.table_name || '" ENABLE NOVALIDATE CONSTRAINT "' || c.constraint_name || '"'; EXECUTE IMMEDIATE v_sql; DBMS_OUTPUT.PUT_LINE('Включено ограничение: ' || c.constraint_name || ' на таблице ' || c.table_name); EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('Ошибка включения ' || c.constraint_name || ': ' || SQLERRM); END; END LOOP; END; / Что делает скрипт:
Важные замечания:
|
Промышленная эксплуатация.
...
