Практические занятия № 1-19 по дисциплине "Администрирование и оптимизация СУБД Oracle" (Установка программного обеспечения Oracle. Разделяемый сервер Oracle), страница 6

13.  Вы получили сообщение от разработчиков, что есть определенный тип запросов, которые будут выполняться очень часто и Вы хотите быть уверенными что время их выполнения будет не больше одной секунды. Вам необходимо выполнить запрос и оценить время его выполнения. Сначала выполните скрипт lab_07_11_a.sql для того, чтобы сгенерировать данные для теста. Затем несколько раз выполните запрос из файла  lab_07_11_b.sql для того, чтобы оценить среднее время выполнения запроса. На каждое выполнение запроса требуется несколько секунд. Создайте индекс, основанный на функции, для столбца , CODE_FUNC который позволит существенно уменьшить время выполнения запроса.

14.  Используя iSQL*Plus, определите имя представления словаря данных, которое Вы  должны просмотреть для того, чтобы узнать, какие ограничения может видеть пользователь INVENTORY. Какое имя этого представления?

15.  Каким числом индексов владеет пользователь INVENTORY?


Практическое занятие по теме 8: сопровождение данных и параллелизм

Описание ситуации. В службу поддержки позвонила Susan Mavris, представитель пользователей, использующих схему HR, с жалобой на то, что база данных "висит" ("frozen"). Из разговора с ней выяснилось, что она попыталась изменить номер телефона в записи о сотруднике John Chen. Но, когда она ввела новые данные, сеанс "подвис", и она ничего не смогла больше сделать.

Задачи:

•  Выяснить, какой сеанс вызвал конфликт блокировок.

•  Разрешить конфликт в пользу сеанса пользователя, который к вам обратился.

1.  Смоделируйте конфликт. Выполните изменение строк, запустив командный файл $HOME/labs/lab_08_01.sql. Не волнуйтесь из-за того, что сеанс кажется "подвисшим". Это результат ситуации, которую вы пытаетесь воспроизвести.

2.  Попытайтесь изменить ту же  самую строку в отдельном сеансе, запустив в отдельном XTerm окне скрипт  lab_08_02.sql.  Прежде чем двигаться дальше, убедитесь, что появилось сообщение “Update is being attempt now”.

3.  Используя ссылку Blocking Session на странице Performance, определите, какая сессия вызвала конфликт блокировки.

4.  Какой была последняя SQL команда, которую выполнила блокирующая сессия?

5.  Разрешите конфликт в пользу сеанса пользователя, который к вам обратился, убив блокирующую сессию.

Какая SQL команда разрешает конфликт?

6.  Вернитесь в окно SQL*PLUS и заметьте, что  изменения SMAVRIS завершились успешно. Может потребоваться несколько секунд, пока появится сообщение об успешном выполнении операции.


Практическое занятие по теме 9: управление информацией отмены

Описание ситуации. Новая версия приложения содержит несколько отчетов, которые используют очень долго выполняемые запросы. Сконфигурируйте систему для поддержки этих отчетов.

Задачи:

•  Подсчитать размер пространства отмены, требуемого для поддержки отчета, который выполняется два дня.

•  Изменить размер табличного пространства типа undo так, чтобы поддерживался период удержания, требуемый новыми отчетами.

1.  Используйте консультанта (Undo Advisor) для подсчета размера пространства отмены, требуемого для поддержки отчета, выполняемого в течение двух дней, на основе анализируемого периода в последние семь дней. (Administration > Advisor Central > Undo Management > Undo Advisor).

Вопрос. Какая рекомендация получена после анализа, выполненного консультантом, для “Required Tablespace  Size  for New Undo Retention?”

2.  Увеличьте размер табличного пространства типа undo так, чтобы поддерживался период удержания, требуемый новыми отчетами (к примеру, сделайте 200Мб, если текущий размер 100Мб).

Вопрос. Какими двумя способами увеличивают табличное пространство?


Практическое занятие по теме 10: безопасность БД (часть 1)

Описание ситуации. В ходе обучения пользователей выяснилось, что они используют слишком простые пароли. Поэтому можно предположить, что кто-то захочет попытаться угадать пароль привилегированного пользователя и получить доступ к секретным данным. Сконфигурируйте вашу базу данных так, чтобы предотвратить простые пароли. Фиксируйте попытки угадывания паролей.