1 / 28

Администрирование СУБД

«Парус-Предприятие 8». Администрирование СУБД. Московец Олег аналитик Центра корпоративных решений ПАРУС moskovets@parus.ru. Администрирование СУБД. 1. Работа в нескольких схемах. Деление данных Парус 8 по схемам.

alia
Télécharger la présentation

Администрирование СУБД

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. «Парус-Предприятие 8» Администрирование СУБД Московец Олег аналитик Центра корпоративных решений ПАРУС moskovets@parus.ru

  2. Администрирование СУБД 1. Работа в нескольких схемах

  3. Деление данных Парус 8 по схемам С 23.07.2013 в ПП «Парус-Предприятие 8» добавлена возможность деления по схемам базы данных, что позволяет в одной базе данных использовать несколько схем с данными Систем Парус 8. Владелец схемы пользовательБД – PARUS, он же пользователь Системы Парус 8 - Администратор Oracle Database SID – “STUDYTEST” Схема PARUS (версия 8.5.х) PARUS_MAIN PARUS_LOB PARUS_INDEX Схема TEST (начиная с версии 8.5.6.1 от 01.08.13 и выше ) Владелец схемы пользовательБД – TEST, он же пользователь Системы Парус 8 – НовыйАдминистратор TEST_MAIN TEST_LOB TEST_INDEX

  4. Деление данных Парус 8 по схемам С 23.07.2013 в ПП «Парус-Предприятие 8» добавлена возможность деления по схемам базы данных, что позволяет в одной базе данных использовать несколько схем с данными Систем Парус 8. Oracle Database SID – “STUDYTEST” Схема PARUS (версия 8.5.х) PARUS_MAIN PARUS_LOB PARUS_INDEX Схема TEST (начиная с версии 8.5.6.1 от 01.08.13 и выше ) TEST_MAIN TEST_LOB TEST_INDEX

  5. Деление данных Парус 8 по схемам Пример клонирования схемы PARUS в одной БД Oracle Database SID – “STUDYTEST” Схема PARUS (версия 8.5.6.1 от 01.08.13) В базе данных с идентификатором STUDYTEST развернута Система Парус 8.5.6.1 релиз 01.08.2013 Владелец схемы: пользователь БД – PARUS, он же пользователь Системы Парус 8 – Администратор; Используемые табличные пространства – PARUS_MAIN, PARUS_LOB, PARUS_INDEX PARUS_MAIN PARUS_INDEX PARUS_LOB Схема TEST TEST_MAIN TEST_LOB TEST_INDEX Дамп схемы PARUS

  6. Деление данных Парус 8 по схемам Пример клонирования схемы PARUS в одной БД Oracle Database SID – “STUDYTEST” Создается новая схема TEST Новые табличные пространства – TEST_MAIN, TEST_LOB, TEST_INDEX Схема PARUS (версия 8.5.6.1 от 01.08.13) PARUS_MAIN PARUS_INDEX PARUS_LOB Схема TEST CREATE TABLESPACE "TEST_MAIN" NOLOGGING DATAFILE 'X:\ORADATA\TEST_MAIN.DBF' SIZE 1000M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; CREATE TABLESPACE "TEST_LOB" NOLOGGING DATAFILE 'X:\ORADATA\TEST_LOB.DBF' SIZE 1000M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; CREATE TABLESPACE "TEST_INDEX" NOLOGGING DATAFILE 'X:\ORADATA\TEST_INDEX.DBF' SIZE 1000M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; TEST_MAIN TEST_LOB TEST_INDEX Дамп схемы PARUS

  7. Деление данных Парус 8 по схемам Пример клонирования схемы PARUS в одной БД новый пользователь БД – TEST, он же пользователь Системы Парус 8 – НовыйАдминистратор; Oracle Database SID – “STUDYTEST” Схема PARUS (версия 8.5.6.1 от 01.08.13) PARUS_MAIN PARUS_INDEX PARUS_LOB create user TEST identified by password default tablespace PARUS_TEST temporary tablespace TEMP; alter user TEST quota unlimited on TEST_MAIN; grant CREATE SESSION, ALTER SESSION, CREATE PROCEDURE, CREATE SEQUENCE, CREATE SNAPSHOT, CREATE VIEW, CREATE TABLE, CREATE TRIGGER, CREATE ANY CONTEXT to TEST; grant CREATE JOB to TEST; grant DROP ANY CONTEXT to TEST; -- праванаобновление БД, импорта grant SELECT on gv_$session to TEST; grant EXECUTE on dbms_pipe to TEST; grant EXECUTE on dbms_lock to TEST; -- праванакаталогимпорта GRANT read, write ON DIRECTORY DATA_PUMP_DIR TO TEST; Схема TEST TEST_MAIN TEST_LOB TEST_INDEX Дамп схемы PARUS

  8. Деление данных Парус 8 по схемам Пример клонирования схемы PARUS в одной БД Oracle Database SID – “STUDYTEST” Схема PARUS (версия 8.5.6.1 от 01.08.13) С помощью утилиты Oracle DATA Pump производится экспорт данных схемы PARUS PARUS_MAIN PARUS_INDEX PARUS_LOB Схема TEST TEST_MAIN TEST_LOB TEST_INDEX expdpPARUS/password@STUDYTEST schemas=PARUS directory=DATA_PUMP_DIR dumpfile=orcl.dmp logfile=orclexp.log Дамп схемы PARUS

  9. Деление данных Парус 8 по схемам Пример клонирования схемы PARUS в одной БД Oracle Database SID – “STUDYTEST” Схема PARUS (версия 8.5.6.1 от 01.08.13) Далее производится импорт данных в новую схему TEST PARUS_MAIN PARUS_INDEX PARUS_LOB Схема TEST TEST_MAIN TEST_LOB TEST_INDEX impdp TEST/password@ORCL schemas=PARUS REMAP_SCHEMA=PARUS:TEST directory=DATA_PUMP_DIR remap_tablespace=PARUS_MAIN:TEST_MAIN remap_tablespace=PARUS_LOB:TEST)LOB remap_tablespace=PARUS_INDEX:TEST_INDEX dumpfile=ORCL.DMP logfile=orclimp.log Дамп схемы PARUS

  10. Деление данных Парус 8 по схемам Пример клонирования схемы PARUS в одной БД Oracle Database SID – “STUDYTEST” В схеме TEST провести операции по удалению публичных синонимов; Схема PARUS (версия 8.5.6.1 от 01.08.13) PARUS_MAIN PARUS_INDEX PARUS_LOB Схема TEST begin for rec in ( select 'drop public synonym ' || SYNONYM_NAME a from all_synonyms where table_owner = 'PARUS' ) loop execute immediate rec.a; end loop; end; TEST_MAIN TEST_LOB TEST_INDEX Дамп схемы PARUS

  11. Деление данных Парус 8 по схемам Пример клонирования схемы PARUS в одной БД В новой схеме TEST пересоздать контекст пользователя PARUS и скомпилировать инвалидные объекты Oracle Database SID – “STUDYTEST” Схема PARUS (версия 8.5.6.1 от 01.08.13) PARUS_MAIN PARUS_INDEX PARUS_LOB declare   sCONTEXT1         constant varchar2( 30 ) := 'PARUS$SESSION$CONTEXT'; sCONTEXT          constant varchar2( 30 ) := 'PARUS'||'$'||lpad(ltrim(to_char(to_number(sys_context('USERENV','CURRENT_SCHEMAID')),'XXXXXXXX')),8,'0')||'$'||'SYSTEM'; sPACKAGE          constant varchar2( 30 ) := 'PKG_SESSION';   OBJECT_NOT_EXIST  exception;   pragma exception_init( OBJECT_NOT_EXIST,-04043 ); Begin   begin     execute immediate       'DROP CONTEXT '||sCONTEXT;   exception     when OBJECT_NOT_EXIST then       null;  end;    execute immediate     'CREATE CONTEXT '||sCONTEXT||' USING '||sPACKAGE; end; / Схема TEST TEST_MAIN TEST_LOB TEST_INDEX Дамп схемы PARUS

  12. Деление данных Парус 8 по схемам Перенос схемы PARUS в другую БД с развернутой системой Парус 8 Oracle Database SID – “STUDY” (версия 8.5.6.1 от 01.08.13 ) Схема PARUS В базе данных с идентификатором STUDY развернута Система Парус 8 8.5.6.1 релиз 01.08.2013, которую необходимо перенести в новую БД, не удаляя старой схемы. В базе данных с идентификатором STUDYTEST развернута произвольная Система Парус. Владелец схемы: пользователь БД – PARUS, он же пользователь Системы Парус 8 – Администратор; Используемые табличные пространства – PARUS_MAIN, PARUS_LOB, PARUS_INDEX PARUS_MAIN PARUS_LOB PARUS_INDEX Дамп схемы PARUS Oracle Database SID – “STUDYTEST” Схема PARUS (может быть любая) PARUS_MAIN PARUS_INDEX PARUS_LOB (версия 8.5.6.1 от 01.08.13) Схема TEST TEST_MAIN TEST_LOB TEST_INDEX

  13. Деление данных Парус 8 по схемам Перенос схемы PARUS в другую БД с развернутой системой Парус 8 Oracle Database SID – “STUDY” Схема PARUS Создается новая схема TEST Новые табличные пространства – TEST_MAIN, TEST_LOB, TEST_INDEX PARUS_MAIN PARUS_LOB PARUS_INDEX Дамп схемы PARUS Oracle Database SID – “STUDYTEST” Схема PARUS CREATE TABLESPACE "TEST_MAIN" NOLOGGING DATAFILE 'X:\ORADATA\TEST_MAIN.DBF' SIZE 1000M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; CREATE TABLESPACE "TEST_LOB" NOLOGGING DATAFILE 'X:\ORADATA\TEST_LOB.DBF' SIZE 1000M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; CREATE TABLESPACE "TEST_INDEX" NOLOGGING DATAFILE 'X:\ORADATA\TEST_INDEX.DBF' SIZE 1000M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; PARUS_MAIN PARUS_INDEX PARUS_LOB Схема TEST TEST_MAIN TEST_LOB TEST_INDEX

  14. Деление данных Парус 8 по схемам Перенос схемы PARUS в другую БД с развернутой системой Парус 8 Oracle Database SID – “STUDY” Схема PARUS новый пользователь БД – TEST, он же пользователь Системы Парус 8 – НовыйАдминистратор; PARUS_MAIN PARUS_LOB PARUS_INDEX Дамп схемы PARUS create user TEST identified by password default tablespace PARUS_TEST temporary tablespace TEMP; alter user TEST quota unlimited on TEST_MAIN; grant CREATE SESSION, ALTER SESSION, CREATE PROCEDURE, CREATE SEQUENCE, CREATE SNAPSHOT, CREATE VIEW, CREATE TABLE, CREATE TRIGGER, CREATE ANY CONTEXT to TEST; grant CREATE JOB to TEST; grant DROP ANY CONTEXT to TEST; -- праванаобновление БД, импорта grant SELECT on gv_$session to TEST; grant EXECUTE on dbms_pipe to TEST; grant EXECUTE on dbms_lock to TEST; -- праванакаталогимпорта GRANT read, write ON DIRECTORY DATA_PUMP_DIR TO TEST; Oracle Database SID – “STUDYTEST” Схема PARUS (версия 8.5.6.1 от 01.08.13) PARUS_MAIN PARUS_INDEX PARUS_LOB Схема TEST TEST_MAIN TEST_LOB TEST_INDEX

  15. Деление данных Парус 8 по схемам Перенос схемы PARUS в другую БД с развернутой системой Парус 8 Oracle Database SID – “STUDY” Схема PARUS PARUS_MAIN PARUS_LOB PARUS_INDEX С помощью утилиты Oracle DATA Pump производится экспорт данных схемы PARUS Дамп схемы PARUS Oracle Database SID – “STUDYTEST” Схема PARUS (версия 8.5.6.1 от 01.08.13) PARUS_MAIN PARUS_INDEX PARUS_LOB expdpPARUS/password@STUDYTEST schemas=PARUS directory=DATA_PUMP_DIR dumpfile=orcl.dmp logfile=orclexp.log Схема TEST TEST_MAIN TEST_LOB TEST_INDEX

  16. Деление данных Парус 8 по схемам Перенос схемы PARUS в другую БД с развернутой системой Парус 8 Oracle Database SID – “STUDY” Схема PARUS PARUS_MAIN PARUS_LOB PARUS_INDEX Далее производится импорт данных в новую схему TEST Дамп схемы PARUS Oracle Database SID – “STUDYTEST” Схема PARUS PARUS_MAIN PARUS_INDEX PARUS_LOB impdp TEST/password@ORCL schemas=PARUS REMAP_SCHEMA=PARUS:TEST directory=DATA_PUMP_DIR remap_tablespace=PARUS_MAIN:TEST_MAIN remap_tablespace=PARUS_LOB:TEST)LOB remap_tablespace=PARUS_INDEX:TEST_INDEX dumpfile=ORCL.DMP logfile=orclimp.log Схема TEST TEST_MAIN TEST_LOB TEST_INDEX

  17. Деление данных Парус 8 по схемам Перенос схемы PARUS в другую БД с развернутой системой Парус 8 Oracle Database SID – “STUDY” Схема PARUS PARUS_MAIN PARUS_LOB PARUS_INDEX В заключении провести операции по удалению публичных синонимов; Дамп схемы PARUS Oracle Database SID – “STUDYTEST” Схема PARUS begin for rec in ( select 'drop public synonym ' || SYNONYM_NAME a from all_synonyms where table_owner = 'PARUS' ) loop execute immediate rec.a; end loop; end; PARUS_MAIN PARUS_INDEX PARUS_LOB Схема TEST TEST_MAIN TEST_LOB TEST_INDEX

  18. Деление данных Парус 8 по схемам Перенос схемы PARUS в другую БД с развернутой системой Парус 8 Oracle Database SID – “STUDY” Схема PARUS пересоздать контекст пользователя PARUS и скомпилировать инвалидные объекты PARUS_MAIN PARUS_LOB PARUS_INDEX Дамп схемы PARUS declare   sCONTEXT1         constant varchar2( 30 ) := 'PARUS$SESSION$CONTEXT'; sCONTEXT          constant varchar2( 30 ) := 'PARUS'||'$'||lpad(ltrim(to_char(to_number(sys_context('USERENV','CURRENT_SCHEMAID')),'XXXXXXXX')),8,'0')||'$'||'SYSTEM'; sPACKAGE          constant varchar2( 30 ) := 'PKG_SESSION';   OBJECT_NOT_EXIST  exception;   pragma exception_init( OBJECT_NOT_EXIST,-04043 ); Begin   begin     execute immediate       'DROP CONTEXT '||sCONTEXT;   exception     when OBJECT_NOT_EXIST then       null;  end;    execute immediate     'CREATE CONTEXT '||sCONTEXT||' USING '||sPACKAGE; end; / Oracle Database SID – “STUDYTEST” Схема PARUS PARUS_MAIN PARUS_INDEX PARUS_LOB Схема TEST TEST_MAIN TEST_LOB TEST_INDEX

  19. Работа в нескольких схемах Получаемые преимущества решения: использование разных версий и релизов ПП Парус в разных схемах в едином экземпляре БД для разных направлений деятельности Организации; существенное снижение затрат на программно-аппаратное обеспечение и администрирование экземпляра БД, перенос результатов разработки из тестовой схемы в промышленную; обновление разных схем с различной дискретностью, в зависимости от потребностей бизнеса, в едином экземпляре БД; разработка нового функционала не создавая новую физическую СУБД; ведение продуктивной БД и тестовой БД в едином экземпляре БД;

  20. Администрирование СУБД 2. Детальный контроль прав доступа

  21. Детальный контроль прав доступа Предпосылки для разработки функционала: ПП Парус отличает гибкий механизм настройки прав доступа к разделам и функциям. Но исходя из развития Системы, появления новых аналитик учета, расширения функциональных возможностей, появляются требования к разграничению прав доступа в разрезе новых сущностей. К примеру это могут быть «Принадлежность» в оборотных ведомостях или товарных запасах; ограничение пользователям просмотр исторической информации в закрытых периодах, ограничить доступ к информации по определенному конфиденциальному значению поля и т.д. Если делать это штатно в модуле Администратор, это повлечет за собой ресурсоемкий процесс описания всех полей и громоздкий механизм выдачи прав доступа. Чтобы избежать этого, и был использован пакет СУБД Oracle, и этапы включения данного пакета были описаны в Администраторе как Детальный контроль прав доступа ( ДКПД ).

  22. Детальный контроль прав доступа ДКПД был разработан для обеспечения гибкой настройки/ограничения условий отбора под конкретного пользователя/роли. Разработан механизм определения без каких-либо ограничений ключевых полей, условий, значений для условий отбора. Все настройки выполняются «на клиенте», нет необходимости использовать сторонние средства разработки. Механизм настройки подробно описан в технической документации: Master и ServiceDisk 8_5_6_1_2012_09_30\Master\_Техническая документация_Предприятие\СИС_Детальный_Контроль_Прав_Доступа.pdf Механизм использует пакет Oracle DBMS_RLS в составе механизма FGAC. *Если в базе данных (БД) иных продуктов Oracle есть пакет DBMS_RLS, то механизм детального контроля прав доступа будет работать и в этом случае (например, StandardEdition).

  23. Детальный контроль прав доступа Разделы обеспечивающие функционал ДКПД: • Словари: • Параметры • Ключи • Предикаты • Учет : • Объекты • Экземпляры ключей • Политики • Функции : • Назначение пользователям • Назначение ролям

  24. Детальный контроль прав доступа.Словари На примере ограничения Хозяйственных операций по дате, покажем пример использования: 1. Словари - Параметры детального контроля прав доступа 2. Словари - Ключи детального контроля прав доступа 3. Словари - Предикаты детального контроля прав доступа

  25. Детальный контроль прав доступа. Учет. Учет- Объекты Учет –Экземпляры ключей Учет - Политики

  26. Детальный контроль прав доступа. Функции. 1. Функции- Назначение пользователям 2. Функции- Назначение ролям

  27. Детальный контроль прав доступа Получаемые преимущества решения: универсальный механизм, при настройке которого доступны любые поля таблиц, нет ограничений на условия применения. возможна установка в одной политике несколько значений группы полей; настройка доступа осуществляется на «клиенте», нет необходимости использовать сторонние средства разработки, требуются минимальные знания полей БД. Области применения механизма ДКПД: повышение уровня конфиденциальности данных на всех этапах учета в Системе – регистрация информации, учет и обработка данных, формирование отчетности; оптимизация скорости работы пользователей с системой за счет исключения обращения системы к «закрытым» данным.

  28. «Парус-Предприятие 8» Спасибо за внимание. ВОПРОСЫ. Московец Олег аналитик Центра корпоративных решений ПАРУС moskovets@parus.ru

More Related