Справочник от Автор24
Поделись лекцией за скидку на Автор24

Основные задачи администратора БД

  • 👀 497 просмотров
  • 📌 435 загрузок
Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Основные задачи администратора БД» pdf
Курс: Администрирование СУБД Oracle 11g Тема 1: Основные задачи администратора БД Автор: Барабанщиков И.В. Содержание курса 1. Основные задачи администратора БД. 2. Компоненты архитектуры СУБД Oracle. 3. Создание и управление БД. 4. Структуры хранения данных. 5. Сетевые сервисы СУБД Oracle. 6. Безопасность БД. Содержание курса 7. Целостность данных и конкурентный доступ. 8. Мониторинг работоспособности и производительности БД. 9. Управление памятью экземпляра БД. 10. Резервное копирование БД. 11. Восстановление БД. 12. Утилиты СУБД Oracle. Список литературы 1. Т. Кайт «Oracle для профессионалов. Архитектура, методики программирования и особенности версий 9i, 10g и 11g» : Вильямс, 2011 2. С. Алапати «Oracle Database 11g. Руководство администратора баз данных» : Вильямс, 2010 3. Б. Брила, К. Луни «Oracle 11g Настольная книга администратора БД» : Лори, 2014 4. Дж. Льюис «Ядро Oracle. Внутреннее устройство для администраторов и разработчиков баз данных»: ДМК, 2015 5. Oracle Database Documentation Library 11gR2 (Concepts, Installation Guide, Administrator’s Guide, 2 Day DBA) Интернет ресурсы • www.oracle.com – официальный сайт компании Oracle • http://www.all-oracle.ru - Весь Oracle • http://my-oracle.it-blogs.com.ua - записки для начинающих о СУБД Oracle • http://www.interface.ru - сайт компании «Интерфейс» • http://www.fors.ru – сайт компании «ФОРС» СУБД Oracle • СУБД Oracle – лидер на рынке СУБД. • СУБД Oracle активно используется в разных отраслях: - банки - энергетика - промышленность - медицина История СУБД Oracle • 1979г – Oracle 2: первая в мире СУРБД на основе SQL. Написана на ассемблере. • 1983г – Oracle 3: переписана на Си, стала доступна для разных платформ. • 1984г – Oracle 4: согласованное чтение. • 1985г – Oracle 5: одна из первых СУРБД для клиент-серверных сред. • 1988г - Oracle 6: блокировки на уровне строки, поддержка языка PL/SQL. История СУБД Oracle • 1992г – Oracle 7: ссылочная целостность, хранимые процедуры, триггеры. • 1997г – Oracle 8: поддержка ООП, секционирование, мультимедиа. • 1998г – Oracle 8i: встроенная в СУБД Java VM. • 2001г – Oracle 9i: XML, RAC, OLAP, Streams. • 2004г – Oracle 10g: grid-вычисления, AWR • 2007г – Oracle 11g: Flashback Database • 2013г – Oracle 12c: облачные вычисления, контейнерная и подключаемые БД. Линейка СУБД Oracle 11g • Enterprise Edition • Standard Edition • Standard Edition One • Personal Edition • Express Edition (XE) Сравнение редакций Oracle 11gR2 Ограничения/ Доступность Express Edition Personal Edition Standard Edition One Standard Edition Enterprise Edition Количество CPU/Sockets 1 CPU Без ограничений 2 Sockets 4 Sockets Без ограничений RAM 1GB Максимум ОС Максимум ОС Максимум ОС Максимум ОС Максимальное количество пользователей Без ограничений 1 Без ограничений Без ограничений Без ограничений Баз данных на сервер 1 Без ограничений Без ограничений Без ограничений Без ограничений Минимально пользовательских лицензий Not Apply Not Apply 5 Named Users Plus 5 Named Users Plus 25 Named Users Plus per CPU Размер базы данных 4GB Без ограничений Без ограничений Без ограничений Без ограничений Windows Да Да Да Да Да Linux Unix 64-Bit Да Нет Нет Нет Нет Да Да Да Да Да Да Да Да Да Да Администратор БД (DBA) • Администратор БД – специалист, отвечающий за работоспособность корпоративной СУБД. • Главная обязанность DBA – обеспечение для пользователей организации доступа к корпоративным данным. Задачи DBA • • • • • • • • • • Проектирование БД. Установка и обновление ПО СУБД Oracle. Создание, конфигурирование и управление БД. Управление объектами БД Управление пользователями. Обеспечение безопасности БД. Загрузка и преобразование данных. Мониторинг и настройка производительности БД. Резервное копирование БД. Восстановление БД после сбоев. Обучение Oracle • Сертифицированные курсы Oracle • Несертифицированные курсы (серые) • Авторские курсы по Oracle • Самообучение • Обучение в университете Сертификация Oracle Компания Oracle позволяет получать сертификаты администратора БД 3-х уровней: • Oracle Database 11g Administrator Certified Associate (OCA). • Oracle Database 11g Administrator Certified Professional (OCP). • Oracle Database 11g Administrator Certified Master (OCM). OCA • Начальный уровень сертификации Oracle DBA. • Необходимо сдать 2 экзамена, проверяющих знание основных задач по администрированию БД • Является необходимым предварительным условием для получения сертификации уровня OCP. OCP • Необходимо прослушать хотя бы один из перечисленных в списке Oracle University курсов под руководством инструктора. • Необходимо сдать дополнительные экзамены, проверяющими способность компетентно справляться с критически важными функциями БД. • Является обязательным предварительным условием для получения сертификата уровня OCM. OCM • Рассчитан на экспертов по БД Oracle. • Предварительно надо иметь сертификацию уровня OCP. • Необходимо написание курсовой работы повышенной сложности. • Последним этапом является 2-х дневный практический экзамен. Структура БД Oracle СУБД Oracle – это система, состоящая из взаимосвязанных и взаимодействующих компонент, используемых для управления БД. Многие относятся к БД как к черному ящику, считая, что можно ничего не знать о том как она устроена внутри. Необходимость изучения архитектуры СУБД • Чтобы эффективно решать задачи по сопровождению СУБД Oracle, АБД должен хорошо знать ее внутреннюю структуру. Итоги • Изучение ПО Oracle – гарантия успешной карьеры в области информационных технологий. • Специалисты Oracle востребованы во всем мире. Курс: Администрирование СУБД Oracle 11g Тема 2: Файлы СУБД Oracle Автор: Барабанщиков И.В. Основные компоненты СУБД Oracle СУБД Oracle состоит из следующих основных структур: • Структуры хранения • Структуры памяти • Процессы Терминология • База данных – это набор файлов, размещенных на системе хранения. • Экземпляр – набор фоновых процессов и совместно используемой (разделяемой) памяти. • Сервер Oracle – это база данных, открытая (смонтированная) в конкретном экземпляре. Логическая и физическая структура БД • БД Oracle можно рассматривать на физическом и логическом уровнях. • На физическом уровне БД состоит из файлов. • На логическом уровне БД состоит из табличных пространств . • Каждому ТП соответствует один или несколько физических файлов данных. Файлы СУБД Oracle Используемые в СУБД Oracle файлы делят на 2 группы: • Файлы, образующие базу данных • Дополнительные файлы Файлы базы данных БД Oracle состоит из следующих файлов: • Управляющие файлы – содержат метаданные о самой БД (имя БД, время создания и т.д.). • Файлы данных – содержат данные пользователей и приложений, хранимые в БД. • Оперативные журналы – содержат информацию об изменениях, которые были внесены в БД при выполнении транзакций. Данные журналов позволяют восстановить БД после сбоя экземпляра. Дополнительные файлы БД БД Oracle также использует файлы: • Файл параметров – для описания стартовой конфигурации экземпляра. • Файл паролей – для удаленного соединения с БД администраторов БД. • Файлы с резервными объектами – для восстановления БД. • Архивные журналы - для восстановления БД. Дополнительные файлы БД В процессе работы сервера Oracle создаются дополнительные файлы: • Трассировочные файлы – при обнаружении внутренней ошибки каждый серверный и фоновый процессы записывает дамп информации в свой трассировочный файл. • Сигнальный файл (alert log) БД – это хронологический журнал важных сообщений и ошибок. Структуры хранения Структуры хранения используются для хранения данных. Виды структур хранения, используемые СУБД Oracle: • Файлы операционной системы. • Чистые логические разделы. • Кластерная файловая система. • Automatic Storage Management (ASM). • Oracle Exadata Storage Файлы ОС • Используются готовые файловые системы (ntfs - Windows, ext3 - Linux). • Для перемещения файлов используются утилиты ОС (cp в Linux). • Упрощают задачи администрирования БД. • Это наиболее популярный метод хранения данных в БД Oracle. • Файловые системы ОС буферизуются – ОС кеширует информацию при чтении/записи. Кэш ввода-вывода ОС • Когда используется файловая система, то операции Ввода/Вывода выполняются через кэш ОС. • Это уменьшает производительность СУБД. Сырые диски • Это неформатированные области диска . • Это чистые логические разделы диска без какой-либо файловой системы. • Для БД Oracle весь чистый раздел – это один большой файл. • Требуют большего объема действий по администрированию. • Не буферизуются – все операции Вв/Выв с ними БД Oracle выполняет напрямую. • Сейчас используются редко. Кластерная файловая система • Специально предназначена для работы в среде Real Application Cluster (RAC). • Эта файловая система совместно используется многими узлами RAC. • Пример - Oracle Cluster File System (OCFS). • Используется редко (ее заменяет ASM). Automatic Storage Management • Объединяет в себе функции файловой системы и менеджера логических томов (LVM). • ASM предназначена для использования исключительно с БД Oracle. • Впервые появилась в Oracle 10g R1. • Может работать как на отдельном компьютере, так и в кластерной среде. Архитектура ASM • Для управления ASM используется специальный экземпляр Oracle (ASM Instance). • Все доступные для ASM диски объединены в дисковые группы (Disk Group). Архитектура ASM • Каждый ASM-файл расщепляется на множество единиц хранения (allocation unit). • Allocation unit одного ASM-файла хранятся на разных ASM-дисках (striping). • Каждый Allocation unit может иметь 2-3 копии (mirroring). Преимущества ASM • Автоматически балансирует производительность дисковой подсистемы. Балансировка выполняется в фоновом режиме и не требует участия администратора БД. • Повышает отказоустойчивость БД за счет зеркалирования (на дисках ASM хранятся избыточные копии данных). Oracle Exadata Storage • Применяется в программноаппаратном комплексе Oracle Exadata. • Интеллектуальная система хранения, которая частично берет на себя обработку SQLзапросов. Архитектура Oracle Exadata • Каждая ячейка Exadata – самостоятельный сервер с дисками и ПО Exadata. • Ячейки выполняют множество операций, которые в традиционной архитектуре делает экземпляр Oracle. Exadata Cell Ячейки Exadata реализуют механизм передачи запросов на сторону хранилища (scan offload) с тем, чтобы значительно уменьшить объем данных возвращаемых на сторону серверов БД. Ячейки Exadata выполнют следующие действия: • фильтрация строк на основе "where" предиката • фильтрация колонок • фильтрация соединений (join) • фильтрация инкрементального backup • фильтрация зашифрованных данных • работа с функциями Data Mining. Итоги • Для хранения данных СУБД Oracle может использовать несколько систем хранения. • На сегодняшний день для БД Oracle актуальными являются следующие системы хранения: - Файлы ОС - Automatic Storage Management (ASM) - Exadata Storage Автоматическое управление памятью (АММ) • Oracle 11g может управлять всеми компонентами SGA и PGA автоматически. • Это избавляет DBA от необходимости конфигурировать каждый пул индивидуально. Курс: Администрирование СУБД Oracle 11g Тема 4: Процессы Oracle Автор: Барабанщиков И.В. Структура СУБД Oracle СУБД Oracle состоит из следующих основных структур: • Структуры хранения • Структуры памяти • Процессы Процессы • Пользовательский процесс – запускается, когда пользователю БД надо соединиться с сервером БД. • Серверный процесс – запускается, когда пользователь создает сеанс, выполняет запросы пользователя к БД. • Фоновый процесс – стартует при запуске экземпляра. Пользовательский процесс • Создается при запуске приложения. • Инициирует соединение с сервером БД. • Взаимодействует с сервером БД через серверный процесс. Серверный процесс • Является посредником между пользовательским процессом и сервером БД. • Получает и выполняет SQL-команды. • Возвращает результат. Функции серверного процесса • Разбирает SQL код (hard or soft parsing). • Строит план выполнения SQL-оператора (если надо). • Выполняет оператор. • Ищет блоки данных в буферном кэше. • Считывает необходимые блоки из файла данных в буферный кэш. • Изменяет блоки данных в буферном кэше (DML). • Возвращает результат пользовательскому процессу. Режимы работы серверного процесса Серверный процесс может работать в одном из двух режимов: • Выделенный сервер обслуживает только один пользовательский процесс. • Разделяемый сервер – обслуживает много пользовательских процессов. Фоновые процессы экземпляра • Существует много фоновых процессов. • Каждый из них выполняет конкретные задачи по обслуживанию экземпляра. • Фоновые процессы делятся на: - обязательные; - необязательные. Обязательные фоновые процессы • Системный монитор (SMON) – выполняет восстановление после отказа экземпляра при следующем старте БД. • Монитор процессов (PMON) – выполняет очистку после аварийного завершения пользовательского процесса. • Процесс записи в БД (DBWn) – записывает модифицированные блоки из кэша буферов БД на диск. • Процесс контрольной точки(CKPT) – записывает информацию о последней контрольной точке в управляющие файлы и файлы данных. • Процесс записи в журнал (LGWR) – записывает журнальные записи на диск. Фоновые процессы DBWn Пишет «грязные» модифицированные блоки из кэша буферов БД в файлы данных на диск. Начинает работать при наступлении определенных событий. LGWR Периодически записывает данные повтора (redo log) в файлы оперативного журнала БД. Данные повтора записываются в том порядке, как они поступали. CKPT • Сигнализирует DBWn о контрольной точке (КТ). • Изменяет заголовки всех файлов данных и управляющие файлы, внося в них информацию о самой последней КТ. Контрольная точка (Checkpoint) • КТ – событие, состоящее в записи «грязных» буферов в файлы данных. • При выполнении КТ в управляющие файлы БД и заголовки файлов данных записывается информация о самой последней КТ. • КТ нужны для быстрого восстановления экземпляра после сбоя. PMON Выполняет: • Очистку после аварийного завершения пользовательского процесса. • Отключение от БД сеансов, которые долго простаивают. • Динамическую регистрацию сервиса БД в Листенере. SMON Выполняет: • восстановление экземпляра после отказа экземпляра при его следующем старте. • Сжатие свободного пространства. • Удаление временных сегментов. ARCn Копирует файлы оперативного журнала в архив после заполнения оперативных журналов или после выполнения переключения журнала Экземпляр и БД БД Oracle может быть смонтирована на: • Единственном экземпляре • Нескольких экземплярах (кластер) одновременно. В каждый момент времени экземпляр связан только с одной БД. Архитектура ORACLE в ОС UNIX Архитектура ORACLE в ОС Windows Информация о фоновых процессах в ОС В ОС Linux каждый фоновый процесс БД – это отдельный процесс ОС: $ ps –ef | grep ora В ОС Windows каждый фоновый процесс БД – это отдельный поток внутри одного процесса ОС (oracle.exe): C:\>pslist -d oracle Информация о фоновых процессах в БД Список всех фоновых процессов: SELECT paddr, pserial#, name, description, error FROM v$bgprocess Работающие в экземпляре БД Oracle фоновые процессы: SELECT * FROM v$bgprocess WHERE rawtohex(paddr) <> ‘00’ Курс: Администрирование Oracle 11g Тема: Создание БД Oracle Автор: Барабанщиков И.В. Шаги по созданию БД • Изучение документации • Планирование БД • Инсталляция ПО СУБД Oracle • Создание БД • Настройка Oracle Net на сервере БД • Инсталляция и настройка Oracle Client Планирование БД Необходимо принять решение по следующим вопросам: • Каков будет тип БД? (OLTP, DWH) • Как много дисков будет использовать БД? • Какой тип хранения будет использован? • Сколько файлов данных будет в БД? • Сколько табличных пространств будет в БД? • Где будет размещаться БД? • Какова будет стратегия резервного копирования? Создание БД • Создание БД выполняется с помощью утилиты Database Configuration Assistant (DBCA). • Запуск утилиты производится с помощью следующей команды: В ОС Linux: $ORACLE_HOME/bin/dbca В ОС Windows: dbca.exe Утилита DBCA Экран приветствия Шаг 1. Выбор операции Шаг 2. Выбор шаблона БД Шаг 3. Определение уникального имени БД Шаг 4. Конфигурирование EM Шаг 4. Автоматические задачи сопровождения Шаг 5. Определение паролей DBA Шаг 6. Определения типа системы хранения и расположения файлов данных Шаг 7. Выбор опций восстановления БД Шаг 8. Выбор компонент БД Шаг 8. Выбор компонент БД Шаг 8. Выбор компонент БД Шаг 8. Выбор компонент БД Шаг 9. Конфигурирование памяти Шаг 9. Параметры инициализации Шаг 9. Определение размера блока Шаг 9. Определение кодировки символов БД Шаг 9. Режим работы серверного процесса Шаг 10. Определение структур хранения БД Шаг 11. Выбор опций создания БД Шаг 11. Подтверждение выбора Шаг 11. Создание БД Завершение создания БД Итоги • Перед созданием БД надо выполнить планирование. • Создание БД выполняется с помощью утилиты DBCA. Курс: Администрирование Oracle 11g Тема 5. Управление БД Автор: Барабанщиков И.В. Управление БД Oracle 11g Три основных компонента управления БД Oracle 11g: • Процесс прослушивания (Listener) • Интерфейс управления: - агент управления (Oracle EM Grid Control) - автономная консоль (Database Control) • Экземпляр БД Листенер • Листенер необходим для подключения удаленных пользователей к БД. • Он управляется с помощью утилиты lsnrctl. • Листенер должен запускаться первым. Команды управления Листенером • Запуск Листенера lsnrctl start • Просмотр статуса lsnrctl status • Останов Листенера lsnrctl stop Oracle Enterprise Manager • ЕМ может быть либо: - Grid Control - Database Control • EM предоставляет Web-интерфейс для администрирования БД. • Доступ к ЕМ: https://хост:порт/em https://mydb:1158/em Запуск и останов Database Control Любая консоль Database Control позволяет управлять только одной БД. • Запуск Database Control emctl start dbconsole • Проверка статуса emctl status dbconsole • Останов Database Control emctl stop dbconsole Интерфейс Database Control Запуск БД В процессе запуска БД проходит через несколько состояний: • БД остановлена (shutdown) • Создание экземпляра (nomount) • Монтирование БД (mount) • БД открыта (open) Состояние NOMOUNT Выполняются задачи: • Поиск файла параметров в каталоге $ORACLE_HOME/dbs • Выделение памяти для SGA • Запуск фоновых процессов • Открытие сигнального файла alertSID.log Режим NOMOUNT используется: • при создании БД • при пересоздании управляющих файлов • при определенных сценариях резервирования и восстановления. Состояние MOUNT Выполняются задачи: • Связь БД с ранее запущенным экземпляром • Определение расположения управляющих файлов (указано в файле параметров) • Чтение управляющих файлов, определение имен и статуса файлов данных Режим MOUNT используется при: • Переименовании файлов данных • Включении/отключении режима ARCHIVELOG • Полном восстановлении БД Состояние OPEN Выполняются задачи: • Проверка наличия файлов данных и файлов оперативного журнала • Открытие файлов данных и оперативного журнала • Проверка целостности БД • Восстановление БД (при необходимости) Состояние OPEN используется: • При нормальном функционировании БД Команды запуска БД Запуск SQL*Plus: $sqlplus /nolog Cоединение от имени администратора: SQL>conn / as sysdba Варианты запуска БД: SQL> startup SQL> startup pfile=/oracle/dbs/init.ora SQL> startup restrict Команды запуска БД Пошаговый запуск БД: • Создание экземпляра SQL>startup nomount • Монтирование БД SQL>alter database mount • Открытие БД SQL>alter database open Останов БД При останове БД выполняется: • Контрольная точка • Запись информации о последней транзакции в управляющие файлы и файлы данных. • Размонтирование БД. • Ликвидация экземпляра. Команда останова БД Безопасный останов (БД не требует восстановления): • SQL>shutdown; • SQL>shutdown transactional; • SQL>shutdown immediate; Аварийный останов (БД требует восстановления): • SQL>shutdown abort; Команда останова БД Безопасный останов БД Файл параметров Oracle читает файл параметров при старте БД. Существует два типа файла параметров: • файл серверных параметров spfile.ora • текстовый файл параметров init.ora Текстовый файл параметров • Сервер БД читает, но не пишет в этот файл. • Значения параметров должны задаваться вручную с помощью текстового редактора. • Модифицированные параметры начнут действовать только после перезапуска БД. • В Oracle 11g если при старте БД не найден SPFILE, то ищется текстовый файл параметров. • Не рекомендуется использовать, начиная с Oracle 9i. Файл серверных параметров • • • • Представляет собой двоичный файл. Сервер БД может читать и писать в этот файл. Его нельзя редактировать вручную. Он располагается на стороне сервера, где работает БД. • Позволяет динамически менять параметры в процессе работы сервера БД. • При старте экземпляра первым ищется SPFILE. • Рекомендуется использовать SPFILE. Курс: Администрирование СУБД Oracle 11g Тема: Структуры хранения данных Oracle Автор: Барабанщиков И.В. Виды структур хранения Структуры хранения БД делятся на 2 вида: • Логические: - табличное пространство - сегмент - экстент - блок базы данных • Физические: - файл данных - блок ОС Между ними существует определенная взаимосвязь. Иерархия пространств хранения • БД состоит из одного или более табличных пространств (ТП). • ТП состоит из одного или нескольких файлов данных. • ТП может содержать много сегментов. • Сегмент используется для хранения объекта БД (таблица, индекс). Иерархия пространств хранения • Сегмент состоит из одного или более экстентов. • Экстент состоит из нескольких смежных блоков БД. • Блок БД – наименьшая область памяти, выделяемая в БД. • Блок БД состоит из нескольких блоков ОС. Табличные пространства • ТП – это логический контейнер для хранения данных в БД. • ТП состоит из одного или более файлов данных. • Файл данных принадлежит только одной БД. • ТП используются для хранения объектов БД. Сегмент • Сегмент – это объект БД (таблица, индекс и т.д.), занимающий место в пространстве хранения. • Каждый объект БД, занимающий место в пространстве хранения, сохраняется в отдельном сегменте. • Сегмент образован одним или несколькими экстентами. • Сегмент существует в ТП, но его данные могут располагаться в нескольких файлах данных внутри этого ТП. • Сегмент не выходит за границы ТП. Типы сегментов В БД Oracle используются сегменты следующих типов: • Сегмент данных – хранит пользовательские данные. • Индексный сегмент – содержит индексы. • Сегмент отката – хранит информацию отката. • Временный сегмент – создается, когда необходимо дополнительное пространство (сортировка) Пример сегмента Экстент • Экстент – это набор смежных блоков БД на диске. • Экстент располагается в одном ТП и более того в единственном файле внутри этого ТП. • Экстенты используются для уменьшения фрагментации внутри файла данных. Блок БД • Блок БД - это наименьший элемент области хранения, выделяемый в БД. • Блок БД представляет собой наименьший элемент ввода-вывода, используемый БД. • Размер блока БД м.б. 2, 4, 8, 16, 32Кб. • Размер блока БД устанавливается при создании БД и затем не м.б. изменен. • Задается параметром DB_BLOCK_SIZE. Структура блока БД Блок БД состоит из: • Заголовок блока: - Адрес блока - Тип блока - Директория таблиц - Директория строк - Слоты транзакций • Свободное пространство • Строки таблицы Детальная структура блока БД Как строка хранится в блоке БД Параметры PCTFREE и PCTUSED • PCTFREE – процент пространства блока, которое надо оставить свободным (зарезервировать) для будущих обновлений строк. • PCTUSED – процент используемого пространства блока, по достижении которого раннее занятый блок становится доступным для вставки новых записей. Параметры PCTFREE и PCTUSED Миграция строк • Миграция строк происходит, когда в результате обновления строка становится слишком большой и не помещается целиком в исходном блоке. • Строка перемещается в новый блок. • В старом блоке остается указатель. Блокировка строк в блоке • В Oracle нет менеджера блокировок. • Управление блокировками происходит на уровне блока данных. • В заголовке каждого блока (data/index) есть Interested Transaction List (ITL). • ITL состоит из слотов транзакций. Получение информации о сегментах Информацию о сегментах и экстентах можно получить из обзоров словаря данных: • DBA_SEGMENTS • DBA_EXTENTS SELECT tablespace_name, segment_name, segment_type, extents, blocks, bytes FROM dba_segments WHERE owner = ‘HR’ Управление пространством в ТП • ТП с локальным управлением (Locally managed tablespace) • ТП управляемое с помощью словаря БД (Dictionary managed tablespace) ТП с локальным управлением • Информация о свободных экстентах хранится в битовой карте в заголовке каждого файла данных. • Каждый бит соответствует блоку или группе блоков. • Битовое значение показывает свободен или занят блок. • Рекомендуется использовать ТП с локальным управлением. ТП с управлением по словарю • Управление свободными экстентами производится с помощью словаря данных. • При выделении и освобождении экстентов вносятся изменения в соответствующие таблицы словаря данных (FET$, UET$). • При обновлении таблиц словаря данных генерируется информация отмены (undo). • Такие ТП поддерживаются только для обратной совместимости. Хранение данных в локально управляемых ТП Экстенты внутри локально управляемого ТП могут выделяться: • Automatic – автоматическое выделение. Размер экстентов внутри ТП определяется системой, нельзя задать размер экстента. • Uniform – ТП содержит экстенты одинакового размера. Размер экстента задает администратор БД. Стандартный размер 1Мб. Хранение данных в локально управляемых ТП Управление пространством внутри сегментов локально управляемых ТП может быть: • Automatic (ASSM) - для управления свободным пространством используются битовые карты. В ней описан статус каждого блока сегмента. • Manual - для управления свободным пространством используют списки свободных блоков. Надо задавать параметры PSTUSED, FREELISTS, FREELIST GROUPS. Рекомендуется использовать ASSM. Преимущества ТП с локальным управлением • Уменьшается конкуренция за таблицы словаря данных. • Автоматически отслеживаются смежные свободные области пространства. • Изменения в битовых картах не приводят к генерации информации отмены (undo), так как не происходит обновления таблиц словаря данных. Типичные ТП в БД • SYSTEM • SYSAUX • TEMP • UNDOTBS1 • USERS SYSTEM • • • • Обязательное табличное пространство. Создается при создании БД. Используется для управления БД. Содержит словарь данных – таблицы с информацией о БД. • Объекты словаря данных находятся в схеме SYS. • Не м.б. переименовано или удалено. SYSAUX • Обязательное ТП (начиная с Oracle 10g). • Предназначено для того, чтобы разгрузить ТП SYSTEM. • Используется для хранения репозиториев дополнительных компонент ORACLE. • Используется для хранения репозитория рабочей нагрузки (AWR). • Не м.б. переименовано или удалено. TEMP • Используется для создания временных сегментов. • Временные сегменты используются при выполнении некоторых SQL-операторов (сортировка). • Временные таблицы хранятся во временном ТП. • Каждый пользователь должен иметь временное ТП. UNDOTBS1 • ТП в котором сервер БД хранит информацию отмены. • Если используется автоматическое управление информацией отмены (Automatic Undo Management), то экземпляр БД должен иметь ТП типа Undo. • ТП типа Undo создается при создании БД. USERS • Используется для хранения постоянных объектов и данных пользователей. • Раньше существовала практика использования большого количества ТП для пользовательских данных, чтобы уменьшить конкуренцию за таблицы и индексы БД. • В настоящее время лучше использовать для хранения всех данных небольшое количество ТП, т.к. балансировка Вв/Выв выполняется диспетчерами логических томов (LVM) автоматически. Курс: Администрирование СУБД Oracle 11g Тема: Управление структурами хранения данных БД Oracle Автор: Барабанщиков И.В. Администрирование ТП Операции по администрированию ТП: • Создание ТП • Изменение ТП • Удаление ТП • Увеличение размера ТП • Перевод ТП в состояние OFFLINE и ONLINE. • Перевод ТП в состояние Read Only. • Получение информации о ТП. Создание ТП ТП создается командой CREATE TABLESPACE. Перед созданием ТП надо выбрать: • Тип ТП (bigfile или smallfile) • Способ управления экстентами. • Способ управления пространством сегментов. CREATE TABLESPACE users DATAFILE ‘/u01/oracle/oradata/users01.dbf’ SIZE 2000M BIGFILE • • • • • ТП bigfile состоит из одного большого файла. Файл может содержать до 2**32 блоков. Для 8Кб блока max размер будет 32Тб. ТП bigfile используют для очень больших БД. Уменьшается количество файлов данных, следовательно контрольная точка выполняется быстрее. CREATE BIGFILE TABLESPACE users DATAFILE ‘/u01/oracle/oradata/users01.dbf’ SIZE 250G SMALLFILE • ТП smallfile может иметь много файлов (max 1022). • Каждый файл может иметь до 2**22 блоков. • Для 8Кб блока max размер будет 32Гб. • Oracle 11g создает такие ТП по умолчанию (можно не указывать SMALLFILE). • Если в БД много файлов – КТ выполняется долго. CREATE SMALLFILE TABLESPACE users DATAFILE ‘/u01/oracle/oradata/users01.dbf’ SIZE 2000M Создание ТП управляемого с помощью словаря данных • Такие ТП являются устаревшими и поддерживаются только для обратной совместимости. • Если ТП SYSTEM создано как локально управляемое, то в БД нельзя создать ТП, управляемые по словарю. CREATE TABLESPACE appl DATAFILE ‘/u01/oradata/appl01.dbf’ SIZE 200M EXTENT MANAGEMENT DICTIONARY; Создание локально-управляемого ТП с экстентами одного размера • Все экстенты в ТП имеют один и тот же размер. • Стандартный размер 1Мб. Он м.б. изменен. • Опция UNIFORM является стандартной для временных ТП. • Она не применима для ТП Undo. CREATE TABLESPACE appl DATAFILE ‘/u01/oradata/appl01.dbf’ SIZE 200M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 10M; Создание локально-управляемого ТП с экстентами разного размера • • • • • Экстенты в ТП имеют разные размеры Размер первых 16 экстентов - 64Кб Следующие 63 эстента – 1Мб Следующие 120 экстентов – 8Мб, далее 64Мб Этот алгоритм хорошо подходит как для малых, так и для больших сегментов. CREATE TABLESPACE appl DATAFILE ‘/u01/oradata/appl01.dbf’ SIZE 200M EXTENT MANAGEMENT LOCAL AUTOALLOCATE; Другие опции при создании ТП • DEFAULT STORAGE – определяет параметры хранения по умолчанию для новых объектов, создаваемых в ТП. • LOGGING/NOLOGGING – указывает, что DDL команды должны/не должны записываться в файлы оперативного журнала. • FORCE LOGGING – определяет, что изменения любых объектов ТП д.б. записаны в redo log не зависимо от значения опции LOGGING объекта. Другие опции при создании ТП • ONLINE/OFFLINE – определяет доступно ли ТП для пользователей или нет. • FLASHBACK ON/OFF – определяет будет ли ТП работать в режиме FLASHBACK или нет. • BLOCKSIZE – позволяет создавать ТП с размером блока, отличным от заданного по умолчанию. Чтобы такое ТП м.б. использовать надо в файле параметров задать параметр DB_nK_CACHE_SIZE (n=2,4,8,16). Пример создания ТП CREATE TABLESPACE appl_data DATAFILE ‘/disk3/oradata/DB01/appl_data01.dbf’ SIZE 100M DEFAULT STORAGE COMPRESS BLOCKSIZE 16K LOGGING ONLINE FORCE LOGGING FLASHBACK ON EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; Создание временного ТП • Временное ТП используется для операций сортировки (ORDER BY, CREATE INDEX). • Исключает необходимость создания и уничтожения временных сегментов в постоянных ТП. • Обязательно, если ТП SYSTEM является локально-управляемым. CREATE TEMPORARY TABLESPACE temp TEMPFILE ‘/u01/oradata/temp01.dbf’ SIZE 2G Создание ТП отмены (Undo) ТП Undo используется для: • Отката незафиксированных транзакций (команда ROLLBACK). • Реконструкции образа данных при целостном чтении (read consistent read). • Восстановления БД после логических повреждений. CREATE UNDO TABLESPACE undo DATAFILE ‘/u01/oradata/undo01.dbf’ SIZE 2G; Создание ТП отмены (Undo) • При создании ТП отмены можно указать фразу UNDO_RETENTION. • Опция RETENTION GUARANTEE указывает, что данные отмены будут сохранены в БД в течение периода времени, заданного в параметре инициализации UNDO_RETENTION. • Опция RETENTION NOGUARANTEE указывает, что сохранность данных отмены не гарантируется. Удаление ТП • Для удаления пустого ТП используется команда: DROP TABLESPACE users; • Для удаления ТП, содержащего сегменты (таблицы, индексы), надо использовать опцию INCLUDING CONTENTS для рекурсивного удаления любых сегментов: DROP TABLESPACE users INCLUDING CONTENTS; Удаление ТП • Для удаления ТП, содержащего объекты БД, на которые имеются ссылки из других ТП, надо выполнить: DROP TABLESPACE users INCLUDING CONTENTS CASCADE CONSTRAINTS; • Для удаления вместе с ТП файлов данных надо выполнить: DROP TABLESPACE users INCLUDING CONTENTS AND DATAFILES; Удаление ТП • При удалении ТП вносятся изменения в управляющие файлы БД. • При удалении ТП его файлы данных автоматически не удаляются с диска. • Если не используется опция AND DATAFILES, то для удаления файлов данных ТП надо использовать команды ОС. • Нельзя отменить команду удаления ТП. • Нельзя удалять ТП System. Изменение ТП Изменение ТП выполняется командой ALTER TABLESPACE. Эта команда позволяет: • Изменить параметры хранения ТП. • Изменить режим выделения экстентов. • Изменить режим LOGGING/NOLOGGING. • Изменить доступность ТП (online/offline). • Сделать ТП доступным только для чтения. • Увеличить размер ТП. • Сжать пространство в ТП. Изменение ТП ALTER TABLESPACE users ADD DATAFILE ‘/u01/oradata/users01.dbf’ SIZE 2G; Следующие команды не оказывают влияния на уже существующие объекты ТП (будут влиять только на новые объекты): ALTER TABLESPACE users DEFAULT STORAGE (INITIAL 2M NEXT 2M); ALTER TABLESPACE users NOLOGGING; Управление доступностью ТП • Можно управлять доступностью ТП, переводя его в режим ONLINE или OFFLINE. ALTER TABLESPACE users OFFLINE; • В режиме OFFLINE сегменты ТП недоступны. • ТП System нельзя перевести в OFFLINE. • При переводе ТП в режим OFFLINE доступны опции NORMAL, TEMPORARY, IMMEDIATE, FOR RECOVER. • При переводе ТП в режим ONLINE может потребоваться восстановление носителя. Опции режима OFFLINE • NORMAL – Oracle записывает грязные блоки в файлы данных ТП и закрывает их. При переходе в ONLINE восстанавливать не надо. • TEMPORARY – Oracle выполняет КТ для всех online файлов данных. Для offline файлов потребуется восстановление. • IMMEDIATE – Oracle не выполняет КТ и не проверяет доступность файлов данных. Потребуется восстановление. • FOR RECOVER – используется для point-in-time recovery. Файлы ТП берутся из резервной копии, к ним применяются архивные журналы. ТП только для чтения • Если ТП содержит неизменяемые данные (справочники, исторические), то его можно сделать ТП только для чтения (read only). ALTER TABLESPACE sales2007 READ ONLY; • В таком ТП данные таблиц можно только читать, нельзя изменять, удалять, вставлять. • Можно удалять объекты ТП (таблицы, индексы), но нельзя создавать новые. • Не нужно включать в еженедельные резервные копии. Получение информации о ТП Следующие обзоры словаря данных содержат информацию о ТП и файлах данных: • DBA_TABLESPACES • V$TABLESPACE • DBA_DATA_FILES • V$DATAFILE • DBA_TEMP_FILES • V$TEMPFILE Пример SELECT tablespace_name ts_name, status, contents, extent_management ext_man, segment_space_management ss_man FROM dba_tablespaces; TS_NAME STATUS CONTENTS --------------- ------------ -------------SYSTEM ONLINE PERMANENT UNDOTBS1 ONLINE UNDO EXT_MAN ------------LOCAL LOCAL SS_MAN ---------MANUAL MANUAL Пример SELECT tablespace_name ts, file_name, bytes/1024 kbytes FROM dba_data_files UNION ALL SELECT tablespace_name ts, file_name, bytes/1024 kbytes FROM dba_temp_files; TS ---------USERS SYSAUX FILE_NAME ------------------------------------------------C:\ORACLE\ORADATA\USERS01.DBF C:\ORACLE\ORADATA\SYSAUX01.DBF KBYTES ---------102400 256000 Операции с файлами данных • Перевод в состояние OFFLINE/ONLINE. • Автоматическое расширение файла (AUTOEXTEND). • Увеличение/уменьшение размера файла. • Переименование файла. • Перемещение файла в новое месторасположение. Файл данных в OFFLINE • Если файл данных поврежден его можно перевести в состояние OFFLINE. ALTER DATABASE DATAFILE ‘/u01/oradata/tools02.dbf’ OFFLINE; • Остальные файлы данных ТП будут доступны для использования. • При переводе поврежденного файла в ONLINE потребуется его восстановление. Автоматическое расширение файла Включить: ALTER DATABASE DATAFILE ‘/u01/oradata/appl_data01.dbf‘ AUTOEXTEND ON NEXT 100M MAXSIZE 2000M; Выключить: ALTER DATABASE DATAFILE ‘/u01/oradata/appl_data01.dbf‘ AUTOEXTEND OFF; Изменение размера файла Увеличение или уменьшение размера файла данных: ALTER DATABASE DATAFILE ‘/u01/oradata/appl_data01.dbf‘ RESIZE 1500M; Нельзя уменьшить размер файла ниже отметки HWM. Переименование или перемещение файла данных • Остановить БД. • Скопировать или переименовать файлы на диске с помощью команд ОС. • Запустить БД в режиме MOUNT. • Переименовать файлы в БД с помощью команды ALTER DATABASE RENAME FILE. • Открыть БД с помощью команды ALTER DATABASE OPEN. Файлы, сопровождаемые Oracle (Oracle Managed File - OMF) • Устраняет необходимость прямого управления файлами ОС, входящими в БД. • Операции задаются в терминах объектов БД, а не с использованием имен файлов. • Чтобы использовать OMF надо установить параметры: DB_CREATE_FILE_DEST DB_CREATE_ONLINE_LOG_DEST DB_RECOVERY_FILE_DEST SQL>create tablespace tbs1; Преимущества OMF • Предотвращение ошибок – DBA не может случайно удалить файл активного ТП. • Стандарт именования файлов – файлы имеют уникальные, стандартные имена. • Освобождение пространства – при удалении ТП, удаляются его файлы данных. • Легкость в написании скриптов – один и тот же скрипт м.б. использован для создания ТП в разных ОС. Ограничения OMF • Файлы OMF не могут быть использованы на «сырых» устройствах (без ОС). • Все файлы OMF должны быть созданы в одном каталоге. Большая БД может не поместиться в единственную файловую систему. • Для файлов нельзя выбирать собственные имена. Имя файла состоит из имени БД и уникальной символьной строки. Увеличение размера БД • • • • Создать новое ТП Добавить файл данных в существующее ТП Увеличить размер файла данных Включить возможность динамического расширения файла данных. Сопровождение ТП в EM На вкладке Administration в разделе Storage есть ссылки: • Control Files • Tablespaces • Temporary Tablespace Groups • Datafiles • Rollback Segments • Redo Log Groups • Archive Logs Курс: Администрирование СУБД Oracle 11g Тема: Сетевые сервисы СУБД Oracle Автор: Барабанщиков И.В. Парадигма Клиент-Сервер • СУБД Oracle обеспечивает работу с БД через ЛВС для удаленных пользователей. • Пользовательский процесс не подключается напрямую к серверу БД. • Между пользователем и БД имеется много разных уровней. • При взаимодействии пользователя с сервером БД используется дополнительное ПО – Oracle Net. Oracle Net и модель OSI • Oracle Net работает на вершине стека сетевой модели OSI. • Oracle Net работает на следующих уровнях модели OSI: - Сеансовый, - Представления, - Прикладной. • Это обеспечивает независимость БД Oracle от операционной системы. Поддерживаемые протоколы Oracle 11g поддерживает работу со следующими протоколами: • Inter Process Communication (IPC) – для локальных соединений. • TCP/IP • TCP/IP with secure sockets • Windows Named Pipes (NMP) • Sockets Direct Protocol (SDP) – для высокоскоростных сетей Infiniband. Службы Oracle Net Службы Oracle Net Службы Oracle Net: • Позволяют устанавливать сетевые соединения с сервером Oracle. • Обеспечивают поддержание соединения и передачу данных. • Выступают в качестве курьера, передающего информацию между клиентским приложением и сервером БД. • Устанавливаются на каждом компьютере, связывающимся с сервером БД. Службы Oracle Net Oracle Net на клиентском компьютере: • Фоновый компонент, к которому обращается любое приложение, чтобы установить соединение с БД. Oracle Net на сервере БД: • Активный процесс – процесс прослушивания (Listener). • Он координирует установление соединения между БД и внешними приложениями. Использование Oracle Net Oracle Net может использоваться для: • Установления соединения с сервером БД. • Предоставления доступа к внешним процедурам. • Соединения экземпляра Oracle через гетерогенные службы с другими источниками данных (DB2, MS SQL Server, Sybase). Листенер • Является посредником в процессе установления нелокальных соединений. • Один Листенер может обслуживать несколько экземпляров БД. • Параметры Листенера задаются в файле LISTENER.ORA Пример файла LISTENER.ORA LISTENER = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = tcp)(HOST = srv1)(PORT = 1521)) (ADDRESS= (PROTOCOL = ipc)(KEY = extproc)(queuesize = 50))) ) SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (SID_NAME=plsextproc)(ORACLE_HOME=/oracle11g) (PROGRAM=extproc))) Листенер Сервисы БД • Каждая БД представляется одним или более сервисов. • Сервис БД идентифицируется по имени, например: test.myorg.loc • Клиент использует имя сервиса для идентификации БД, к которой он должен иметь доступ. • Информация о сервисе БД и ее расположении в сети хранится в репозитарии. • Репозитарий представляется одним или несколькими методами именования. Сервисы БД Пример: Компания имеет 3 БД, к которым могут обращаться пользователи. Каждая БД имеет уникальное имя. 1. Клиент обращается к репозитарию для поиска информации о БД sales.us.example.com 2. После получения информации устанавливается соединение с БД. Регистрация сервиса БД в Листенере • Листенер должен знать о сервисах БД, для которых он должен обрабатывать запросы на соединение. • Процесс передачи Листенеру данных о сервисах БД называется регистрацией сервиса БД. • Регистрация сервиса БД может быть статической или динамической. • Динамическую регистрацию сервиса БД выполняет фоновый процесс экземпляра PMON. Статическая регистрация • Статическая регистрация выполняется в файле параметров листенера LISTENER.ORA. • Использовалась в старых версиях Oracle (до Oracle 8i). • Используется в новых версиях если:  процесс прослушивания не обслуживает порт по умолчанию 1521 и экземпляр не настроен на регистрацию по другому порту. Приложение требует статическую регистрацию службы. Динамическая регистрация • Динамическую регистрацию сервиса БД выполняет фоновый процесс экземпляра PMON. • PMON выполняет регистрацию сервисов БД в листенере при старте экземпляра. • Регистрация выполняется в Листенере по умолчанию (локальный листенер, порт 1521). • При использовании Листенера с нестандартными параметрами информацию о нем указывают в параметре инициализации LOCAL_LISTENER. • Список сервисов, которые надо зарегестрировать в Листенере, указан в параметре SERVICE_NAMES. Данные для сетевого соединения Для установления сетевого соединения надо знать 4 значения: • Хост, где работает Listener. • Порт, который слушает Listener. • Протокол, используемый Listener’ом. • Имя службы БД, к которой надо присоединиться. Разрешение имен Процесс определения информации, необходимой для установления соединения, называется разрешением имён. Способы разрешения имён: • Easy Connection Naming • Local Naming • Directory Naming • External Naming Easy Connection Naming • Этот метод позволяет устанавливать соединение с сервером БД Oracle, используя строку соединения. • Этот метод не требует конфигурирования на стороне клиента. • Поддерживается только протокол TCP/IP. • Не поддерживаются дополнительные возможности соединения. CONNECT имя/пароль@хост[:порт][/служба] SQL>CONNECT scott/tiger@dbserv:1521/db11g Local Naming • Данные о дескрипторах соединения хранятся в локальном файле TNSNAMES.ORA. • Файл TNSNAMES.ORA должен быть на каждом клиентском компьютере, с которого надо подключаться к БД. • Поддерживаются все протоколы Oracle Net и дополнительные возможности соединения. • При необходимости внесения изменений в дескрипторы соединения надо редактировать файлы TNSNAMES.ORA на всех клиентах. Local Naming • Пользователь должен знать только короткий псевдоним, а не всю строку соединения. • Файл tnsnames.ora хранится в каталоге $ORACLE_HOME/network/admin • Месторасположение файла tnsnames.ora можно изменить с помощью переменной среды TNS_ADMIN. • Этот метод используется в небольших сетях (десятки компьютеров). Содержимое файла TNSNAMES.ORA Directory Naming • Данные о дескрипторах соединения хранятся в LDAP-сервере (Oracle Internet Directory, Microsoft Active Directory). • Поддерживает все протоколы Oracle Net и дополнительные возможности соединения. • Централизованное хранение дескрипторов соединения облегчает их сопровождение. • Клиент должен иметь доступ к LDAP-серверу. • Этот метод применяется в крупных сетях с большим количеством БД. Directory Naming External Naming • Алгоритм работы этого метода концептуально похож на алгоритм метода Directory Naming, только вместо сервера каталогов используется внешняя служба. • Имена сетевых служб хранятся в службе имен сторонней фирмы. • Поддерживаются следующие службы других фирм: - Network Information Service (NIS) - Cell Directory Services (CDS) Установка соединения • Соединение между клиентом и сервером БД устанавливается с помощью Листенера. • Возможны два варианта установления соединения в зависимости от ОС: 1. Порожденный Листенером серверный процесс наследует параметры сетевого соединения. 2. Порожденный Листенером серверный процесс не может наследовать параметры сетевого соединения. 1. Установка соединения 1. Клиент посылает запрос на соединение с БД. 2. Листенер принимает запрос и создает процесс выделенного сервера, который наследует параметры сетевого соединения. 3. Серверный процесс посылает сообщение клиенту с указанием порта, который он слушает. 4. Клиент подтверждает установления соединения. 2. Установка соединения 1. Клиент посылает запрос на соединение с БД. 2. Листенер принимает запрос и создает процесс выделенного сервера, который не может наследовать параметры сетевого соединения. 3. Листенер возвращает клиенту параметры сетевого соединения с серверным процессом (номер порта). 4. Клиент посылает сообщение серверному процессу на порт, который слушает серверный процесс. 5. Серверный процесс подтверждает клиенту установление соединения. Утилита tnsping Проверку сетевого соединения Oracle Net выполняют утилитой tnsping: • tnsping проверят возможность соединения клиента и листенера. • Не проверяет доступность запрошенного сервиса. C:\>tnsping mydb Проблема с выделенными серверами Когда много пользователей подключаются к серверу БД в режиме выделенного сервера, то значительно возрастают накладные расходы со стороны ОС на обслуживание серверных процессов. Разделяемый сервер • Листенер не порождает серверный процесс. • Листенер отдает запрос на соединение наименее загруженному диспечеру. • Один диспетчер может обслуживать много пользователей. • Диспетчеры не выполняют запросы пользователей. Разделяемый сервер • Диспетчер передает запрос в общую очередь запросов, расположенную в SGA. • Свободный разделяемый сервер выбирает запрос из очереди и выполняет его. • Разделяемый сервер помещает результат в очередь ответов конкретного диспетчера. • Диспетчер берет ответ из своей очереди ответов и передает его клиенту. Конфигурирование разделяемых серверных процессов • Выполняется только на сервере, на клиенте не требуется. • На стороне сервера БД надо настроить экземпляр. • В файле параметров инициализации надо указать два параметра: - dispatchers - shared_servers • Листенер автоматически настроен на работу с разделяемыми серверами через динамическую регистрацию. Параметр SHARED_SERVERS • Управляет количеством процессов разделяемого сервера, которые будут созданы при старте экземпляра. • Чтобы не было простоев, количество разделяемых серверов д.б. равно ожидаемому числу одновременно работающих активных сеансов. • В процессе работы Oracle может создавать дополнительные разделяемые сервера, пока их число меньше чем значение параметра MAX_SHARED_SERVERS. Параметр DISPATCHERS • Управляет количеством процессов диспетчеров, которые будут созданы при старте экземпляра, и их поведением. • Имеет много опций, из которых обычно используют две: - сколько диспетчеров стартовать; - какой протокол они должны слушать. • Параметр MAX_DISPATCHERS устанавливает лимит на число диспетчеров, но дополнительные диспетчеры надо запускать вручную. Пример конфигурирования • Конфигурируем диспетчеры: SQL>alter system set dispatchers='(pro=tcp)(dis=2)' scope=memory; • Конфигурируем разделяемые серверы: SQL>alter system set shared_servers=4 scope=memory; • Регистрируем диспетчеры в Листенере: SQL>alter system register; SGA и PGA • При использовании разделяемых серверов некоторые структуры PGA перемещаются в SGA. Большой пул В случае использования разделяемых серверов надо: • Увеличить общий размер SGA. • Сконфигурировать большой пул (параметр LARGE_POOL_SIZE). Ограничения разделяемых серверов Некоторые виды работ в БД нельзя выполнять через разделяемые серверы: • Администрирование БД • Резервное копирование и восстановление БД. • Операции массовой загрузки данных. • Операции в хранилищах данных. Сравнение выделенных и разделяемых серверов Итоги • Для подключения пользователей к БД используется Листенер. • СУБД Oracle поддерживает несколько способов разрешения имен. • СУБД Oracle может использовать архитектуру выделенного или разделяемого сервера. Курс: Администрирование Oracle 11g Тема: Безопасность БД Автор: Барабанщиков И.В. Учетная запись пользователя БД • Для получения доступа к БД пользователь должен пройти процедуру аутентификации. • Каждый пользователь должен иметь свою учетную запись в БД. • Отдельные учетные записи облегчают проведение аудита. 224 Учетная запись пользователя БД Учетная запись пользователя БД содержит: • Уникальное имя пользователя • Метод аутентификации • Табличное пространство по умолчанию • Временное табличное пространство • Профиль пользователя • Группа потребителей • Статус блокирования 225 Создание пользователя с помощью оператора SQL 226 Аутентификация пользователей При создании пользователя надо решить какой метод аутентификации будет использоваться: • Password – аутентификация по паролю. • External – внешняя аутентификация . • Global – глобальная аутентификация. 227 Метод аутентификации Password • Аутентификация выполняется базой данных. • При попытке соединения с БД пользователь должен указывать свой пароль. • Пароль хранится в БД в зашифрованном виде. • При передаче по сети пароль автоматически и прозрачно шифруется. • Пароль назначает администратор БД при создании пользователя. 228 Метод аутентификации External • Аутентификация выполняется ОС. • Пользователи могут соединяться с БД без указания имени и пароля. • БД полагается на ОС. • В БД надо установить параметр OS_AUTHENT_PREFIX (значение по умолчанию OPS$). Пользователь ОС: tsmith Пользователь БД: OPS$tsmith 229 Метод аутентификации Global • Аутентификация выполняется с помощью опции Oracle Advansed Security. • Это строгая аутентификация. • Глобальная аутентификация позволяет аутентифицировать пользователей: - биометрически; - на основе сертификатов X509; - с помощью Oracle Internet Directory. 230 Привилегии Привилегия – это право на выполнение конкретной команды SQL или право доступа к объектам другой схемы. Привилегии делятся на две категории: • Системные • Объектные 231 Системные привилегии • Позволяют выполнять в БД конкретные операции (создать сеанс, создать таблицу). • Выдаются администратором БД. • Имеется более 100 системных привилегий. • Опция ADMIN OPTION позволяет выдавать привилегию другим пользователям. • Могут быть выданы в ЕМ, либо SQL командой GRANT. 232 Примеры системных привилегий Права на работу с объектами своей схемы: • ALTER TABLE • CREATE TABLE • DROP TABLE • CREATE INDEX • DROP INDEX • CREATE VIEW Права на работу с объектами любой схемы: • ALTER ANY TABLE • CREATE ANY TABLE • DROP ANY TABLE • CREATE ANY INDEX • DROP ANY INDEX • CREATE ANY VIEW 233 Назначение и отмена привилегий 234 Объектные привилегии • Каждая объектная привилегия, выданная пользователю, позволяет ему выполнять конкретные действия над определенным объектом «чужой» схемы. • Без специального разрешения пользователи имеют доступ только к своим собственным объектам. • Объектные привилегии выдаются владельцем объекта, либо пользователем, которому явно предоставлено право выдавать привилегии на объект. 235 Объектные привилегии Oracle • • • • • • • • ALL – все действия с объектом ALTER – изменение определения объекта DELETE – удаление строк из таблицы EXECUTE – выполнение хранимой процедуры INSERT – вставка строк в таблицу REFERENCES – создание ограничений SELECT – выборка строк из таблицы UPDATE – изменение строк в таблице 236 Назначение объектных привилегий Объектные привилегии на таблицу в целом: • Все привилегии: GRANT all ON emp TO ivan; • Конкретные привилегии: GRANT select, insert, update ON emp TO ivan; Объектные привилегии на столбцы таблицы: GRANT insert(ename, sal), update(ename, sal) ON emp TO ivan; 237 Опция GRANT OPTION • Если пользователь получил объектную привилегию с опцией WITH GRANT OPTION он может выдать эту привилегию другому пользователю. GRANT select ON mytable TO ivan WITH GRANT OPTION • Если объектная привилегия предоставлялась с опцией WITH GRANT OPTION, то отмена этой привилегии будет каскадной. 238 Упрощение сопровождения привилегий 239 Роли • Для облегчения сопровождения привилегий используют роли. • Роль – это именованная группа связанных привилегий, которая предоставляются пользователям или другим ролям. 240 Характеристики ролей • Привилегии выдаются и отбираются у ролей с помощью тех же команд, которые используют для выдачи и отмены привилегий пользователю (команды GRANT и REVOKE). • Роли могут состоять как из системных, так и объектных привилегий. • Роль можно включать и выключать для пользователя, кому она предоставлена. • Для включения роли может требоваться пароль. • Роли никому не принадлежат, они не находятся ни в чьей схеме. 241 Управление привилегиями с помощью ролей 242 Создание роли 243 Предопределенные роли • CONNECT – create session • RESOURCE – create table, create sequence, create type, create procedure … • DBA – большинство системных привилегий • SELECT_CATALOG_ROLE – привилегии доступа к словарю данных 244 Профили • Профили – это именованные наборы ограничений на использование ресурсов БД и экземпляра. • Профили также содержит ограничения на пароли пользователя (длина, срок действия). 245 Использование профилей Пользователю назначается только один профиль в данный момент времени. Профили: • Контролируют потребление ресурсов. • Сопровождают пароли пользователей. 246 Ограничения на ресурсы Профиль позволяет АБД контролировать потребление системных ресурсов: • Процессора (на уровне сеанса и SQL-команды) • Памяти • Сети • Дискового Вв\Выв 247 Квоты Квота – это ограничение на использование дискового пространства. Квоты на ТП надо выдать явно. Виды квот: • Unlimited • Конкретное значение • Системная привилегия Unlimited Tablespace 248 Итоги • Обеспечение безопасности БД – важная функция АБД. • СУБД Oracle обладает большими возможностями для обеспечения безопасности данных. 249
«Основные задачи администратора БД» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ

Тебе могут подойти лекции

Смотреть все 70 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot