...
| Информация |
|---|
Ниже представлен 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; / Что делает скрипт:
Важные замечания:
|
Проверка структуры БД.
Обязательно, после выполнения всех действий.
Даже, если БД кажется вполне работоспособной. Необходимо выполнить проверку текущей структуры базы данных по сравнению с эталоном.
В качестве эталона должна использоваться заведомо рабочая, проверенная база.
Лучше для этих целей создать новую тестовую БД, и заполнить ее генератором СМ+.
Проверка структуры с эталоном производится в программе "Административный модуль" - "База данных" - "Утилиты" - "Эталон"
Промышленная эксплуатация.
...