Форум OlegON > Программы и оборудование для автоматизации финансовых учреждений > Банковская автоматизация > ЦФТ-Банк

Перестроение и обновление объектов после импорта : ЦФТ-Банк

28.03.2024 15:00


16.09.2014 13:08
OlegON
 
При полном экспорте-импорте часть грантов теряется, в результате чего появляется море инвалидов и неработоспособная для приложения БД. Вот один из вариантов это исправить

Код:
column xxx new_value oxxx noprint
select user xxx from dual;
set serverout on size 300000
spool manual1.lst
prompt rebuilding roles
exec stdio.put_line_buf(rtl.lock_hold(true))
exec after_install.grants(null);
exec stdio.put_line_buf(rtl.lock_hold(false))
prompt rebuilding views
exec stdio.put_line_buf('Open: '||rtl.open)
exec sviews.create_all_sviews;
exec short_views.create_all;
exec after_install.recreate_vw_crit('1');
exec rtl.close
spool off
exit
Код:
rem *********************************************************
rem Производит раздачу грантов на интерфейсные пакеты
rem (GRANT EXECUTE ON <интерфейсный пакет> TO <схема>_USER)
rem Запускается из-под SQL*Plus
rem *********************************************************
set feedback off
set heading off
set newpage 0
set pagesize 0
set echo off
set termout off
set verify off
set serveroutput on size 500000
set linesize 250
set arraysize 1
set trimspool on
set trimout on
column xxx new_value oxxx noprint
select user xxx from dual;
spool &oxxx..sql
select 'GRANT EXECUTE ON '||object_name||' TO &oxxx._USER;'
  from user_objects
 where object_type='PACKAGE' and object_name like 'Z$U$%';
spool off
set termout on
spool &oxxx..out
prompt Протокол раздачи прав на интерфейсные пакеты
select 'Started  - '||TO_CHAR(SYSDATE,'DD/MM/YY (HH24:MI:SS)') from dual;
@&oxxx.
select 'Finished - '||TO_CHAR(SYSDATE,'DD/MM/YY (HH24:MI:SS)') from dual;
spool off
rem host del &oxxx..sql
set feedback on
set heading on
EXIT
Код:
rem *********************************************************
rem Перекомпиляция инвалидных объектов системы
rem (ALTER PACKAGE COMPILE BODY)
rem Запускается из-под SQL*Plus
rem *********************************************************
set feedback off
set heading off
set newpage 0
set pagesize 0
set echo off
set termout off
set verify off
set serveroutput on size 1000000
set linesize 250
set arraysize 1
set trimspool on
set trimout on
column xxx new_value oxxx noprint
select user xxx from dual;
spool &oxxx..sql
select 'prompt *** '||object_type||' '||object_name||chr(10)
||'ALTER '||DECODE(object_type,'PACKAGE BODY','PACKAGE',object_type)
||' '||object_name||DECODE(object_type,'PACKAGE BODY',' COMPILE BODY;','TRIGGER',' ENABLE;',' COMPILE;')
||chr(10)||'sho err '||object_type||' '||object_name
  from user_objects
 where status='INVALID'
   and object_type in ('VIEW','PACKAGE','PACKAGE BODY','FUNCTION','PROCEDURE','TRIGGER');
spool off
set termout on
spool &oxxx..out
prompt Протокол компиляции пакетов
select 'Started  compiling packages - '||TO_CHAR(SYSDATE,'DD/MM/YY (HH24:MI:SS)') from dual;
@&oxxx.
select 'Finished compiling packages - '||TO_CHAR(SYSDATE,'DD/MM/YY (HH24:MI:SS)') from dual;
spool off
host del &oxxx..sql
set feedback on
set heading on
--EXIT
Во вложении немного другой принцип, нацеленный на выдергивание прав из уже существующей БД.
Вложения
Тип файла: rar Переход через экспорт-импорт.rar (4.5 Кб, 171 просмотров)
03.02.2015 13:43
OlegON
 
Еще вариант
Раздаем Список прав системных пользователей (IBS,AUD,AUDM) на объекты
Потом смотрим Как узнать версию ЦФТ и некоторые внутренние параметры
Берем дистр соответствующей версии
прогоняем first.bat, last.bat - voi-la...
Часовой пояс GMT +3, время: 15:00.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.