12 вариант 2 (954078), страница 21

Файл №954078 12 вариант 2 (12 вариант 2) 21 страница12 вариант 2 (954078) страница 212017-12-26СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 21)

SQL_TRACE Будучи установленным в TRUE, заставляет записывать файл трассировки для каждого пользователя, подключившегося к базе данных. В связи с увеличением потребности в дисковом пространстве и издержек базы данных им следует пользоваться осторожно.

TIMED_STATISTICS Будучи установленным в TRUE, заставляет базу данных собирать статистику базы данных TRUE. Он вызывает непроизводительные издержки, равные 4—8 процентам.

USER_DUMP_DEST Путь каталога, где должны быть записаны файлы трассировки. 'Установив эти параметры INIT.ORA, можно вызвать утилиту SQL*Trace вручную. Если установлен параметр SQLJTRACE, вызывать SQLTrace вручную не требуется, поскольку файл трассировки будет записан авто­матически, однако принято вызывать эту утилиту вручную. Чтобы вызвать SQL*Trace, используйте либо SQL, либо PL/SQL.

Используйте SQL, чтобы проанализировать определенный запрос. Например:

% sqlplus SQL> ALTER SESSION SET SQL_TRACE = TRUE;

SQL> @/tmp/enter_your_query.sql

SQL> ALTER SESSION SET SQL_TRACE = FALSE;

SQL> EXIT

Можно либо набрать запрос в подсказке SQL, либо подать его на вход из внешнего файла, содержа­щего запрос. -»

Во многих случаях, особенно в таких приложениях, как SQL*Forms, необходимо вызывать утилиту трас­сировки с использованием PL/SQL. Это особенно полезно во время работы с приложением стороннего разработчика, в коде SQL которого сложно разобраться. Для вызова SQL'Trace используйте следующий оператор PL/SQL:

BEGIN

DBMS_SESSION.SET_SQL_TRACE (TRUE);

/* Здесь должен быть код PL/SQL */

Как и при использовании SQL*Plus, трассировка собирает информацию, пока сеанс не будет отклю­чен или выведен из активного состояния.

/* Здесь должен быть код PL/SQL */

DBMS_SESSION.SET_SQL_TRACE (FALSE) ;

END;

Полученный файл трассировки необходимо преобразовать в удобный для чтения формат. В Oracle для этой цели предусмотрена утилита TKPROF, позволяющая преобразовать необработанный файл трассировки? в удобный для чтения отчет.

Найдя файл трассировки, необходимо выполнить для него утилиту TKPROF для получения удобного для чтения вывода. Эта информация статистическая и показывает, как выполняются запросы на уровне, базы данных и операционной системы. Отчет, выработанный TKPROF, содержит показатели загрузки про­цессора и использования диска, а также число строк, возвращенных запросом (или запросами), которые включены в вывод файла трассировки. Можно также заставить TKPROF возвратить информацию EXPLAIN PLAN из каждого запроса в трассе. Утилиту TKPROF можно вызвать следующим образом:

% tkprof ora_4952.trc ora_4952.1og

Этот оператор получает входные данные из файла трассировки SQL*Trace ORA_4952.TRC и направляет свой вывод в файл ORA_4952.LOG. Данный конкретный оператор не вырабатывает EXPLAIN PLAN

для запросов, содержащихся в файле трассировки. Управлять объемом вырабатываемой информации по­зволяют дополнительные опции:

EXPLAIN Позволяет указать имя пользователя и пароль для получения EXPLAIN PLAN каждого запроса, проанализированного утилитой TKPROF

INSERT Указывает, что нужно вывести в дамп и операторы SQL в файле трассировки, и данные, содержащиеся в операторах вставки

PRINT Показывает число запросов, которые должны быть обработаны в файле трассировки, — особенно полезна для файлов трассировки, содержащих много операторов SQL RECORD Позволяет указать выходной файл, который будет содержать все операторы в файле трассировки

SORT Дает возможность управлять порядком отображения проанализированных запросов SYS Показывает, учитывать ли в выводе трассировки запросы к таблицам SYS (словарю данных)

TABLE Указывает таблицу schema, tablename для использования при выработке отчета с опцией EXPLAIN

После обработки файла трассировки утилитой TKPROF вырабатывается отчет. Например:

************************************************************

select o.ordid, p.partid, o.qty, p.cost, (o.qty * p.cost) from part p, order о where o.partid = p.partid

call count cpu elapsed disk query current rows

Parse 1 0.02 0.02 0 0 0 0

Execute 1 0.00 0.00 0 0 0 0

Fetch 4 0.03 0.03 1 20 10 50

total 6 0.05 0.05 1 20 10 50

Misses in library cache during parse: 0

Misses in library cache during execute: 1

Optimizer hint: CHOOSE

Parsing user id: 22 (MERLIN)

***********************************************************

Как и при анализе отчета utibstat/utlestat и EXPLAIN PLAN, анализ результатов, выработанных TKPROF SQL*Trace, — это, скорее, искусство, чем наука. Полезны следующие рекомендации:

• Итоги столбцов query и current представляют объем логического ввода/вывода (в блоках), накоп­ленный запросом. Сравните их с итогом столбца rows. За исключением особых случаев, число блоков логического ввода/вывода должно быть меньше числа возвращенных строк. Оптимальное соотноше­ние составляет примерно 1:2.

• В большинстве случаев значение execute (выполнение) должно быть выше значения parse (интер­претация). Если число операций интерпретации равно числу операций выполнения, это может ука­зывать на необходимость увеличить размер совместно используемого пула.

• Сравните объем физического ввода/вывода (итог столбца disk) с объемом логического ввода/вы­вода (сумма итогов столбцов query и current). Объем логического ввода/вывода должен намного пре­вышать физический ввод/вывод.

Динамические таблицы производительности (V$)

Еще одним полезным инструментальным средством настройки базы данных являются динамические таблицы производительности, именуемые также таблицами V$ (несмотря на это название, в действитель-ности они являются представлениями). Представления V$ создаются на таблицах Х$ Oracle — структурах памяти, которые хранятся в SGA и создаются базой данных при запуске. Эти таблицы и их представления изменяются в реальном времени в процессе работы базы данных и дают DBA возможность получить всю информацию о текущем состоянии базы данных. Некоторые приложения независимых разработчиков исполььзуют таблицы V$ для доступа к данным контроля статистики или производительности. Эти представления используются также компонентом monitor программы Oracle Server*Manager. Сразу после создания базы данных к таблицам V$ может обращаться только пользователь по имени SYS (привилегированная учетная запись пользователя Oracle, владеющая таблицами V$), который может предоставить разрешения на доступ к ним другим пользователям.

Представления V$ применяются во многих приложениях, таких как резервное копирование и восстанов­ление, в административном текущем контроле и настройке производительности. Ниже приведены некоторые наиболее широко используемые представления, которые относятся к настройке производительности:

V$DB_OBJECT_CACHE

Содержит информацию обо всех объектах базы данных, существующих в настоящее время в библиотечном кэше SGA

V$FILESTAT

Содержит число физических операций чтения и записи, выполненных на конкретном файле данных, относящемся к базе данных.

V$LATCH

Содержит текущую статистику по всем защелкам в базе данных

V$LATCHHOLDER

Содержит имя текущего владельца каждой защелки, указанной в V$LATCHNAME Содержит имя каждой защелки в представлении V$LATCH

V$LIBRARYCACHE

Содержит статистику общей производительности области библиотечного кэша SGA

V$ROLLSTAT

Содержит статистику всех оперативных сегментов отката базы данных

V$ROLLCACHE

Содержит статистическую информацию о производительности кэша словаря данных SGA

V$SESSION_WAIT

Предоставляет информацию о сеансах, ожидающих другие сеансы для завершения задачи или события

VSSESSTAT

Содержит текущую статистическую информацию для каждого активного сеанса базы данных,

V$SESS_IO

Содержит текущую информацию логического и физического ввода/вывода для каждого активного сеанса базы данных

V$SGASTAT

Содержит итоговую статистическую информацию для всей SGA

VSSQLAREA

Содержит статистическую информацию о кэше курсора SGA

V$STATNAME

Содержит имена всех статистических показателей в V$SESSTAT

V$WA1TSTAT

Содержит информацию о конкуренции за блоки — представление активно, только если параметр TIMEDJSTATISTICS установлен в TRUE

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

Ниже приведен запрос, использующий представления V$. Он отображает имя и текущее значение каж­дого статистического показателя базы данных. Он применим для быстрого просмотра состояния работы базы данных.

select n.statistic* , п.name , s.value

from v$statname n , v$sysstat s

where n.statistic# = s.statistic# and value > 0 /

Существует гораздо больше представлений V$, чем я смог здесь указать. Многие из них собирают статистику ввода/вывода, кэша и буферизации, весьма полезную при настройке производительности.

Настройка SGA базы данных

Проблемы приложений базы данных часто связаны с памятью и дисководами. Если производительность процессора превышает пропускную способность устройств ввода/вывода (например, дисководов), систе­му называют ограниченной по вводу/выводу, если наоборот — систему называют ограниченной по процессору.

Большинство систем ограничены по вводу/выводу, поэтому легко списать низкую производительность на низкую пропускную способность устройств ввода/вывода. В связи с этим многие DBA для оптимиза­ции производительности пытаются уравновесить нагрузку и устранить конкуренцию. Однако при этом они забывают, что зачастую многие проблемы производительности усугубляются плохим управлением опера­тивной памятью. Нерациональное использование доступной памяти может внести свой вклад в уменьше­ние пропускной способности. Например, можно оптимизировать операции сортировки, чтобы они выполнялись в оперативной памяти, а не на диске, или уменьшить страничный обмен операционной си­стемы и выгрузку процессов на диск.

Поэтому важно понимать, как работает единственная, занимающая наибольший объем оперативной памяти составная часть RDBMS Oracle — системная глобальная область (SGA). По определению, SGA, обеспечивающая работу базы данных, — это просто сочетание буферов и кэшей, хранящихся в виртуальной памяти. Для обеспечения эффективности Oracle выполняет большинство операций в памяти и записыва­ет на диск только большими объемами, чтобы свести к минимуму потерю производительности. Это вы­годно, поскольку с точки зрения разработки программного обеспечения доступ к дисководу является дорогим, а выполнение процесса в памяти — дешевым (если говорить об оплате производительности).

Как показано на рис. 1, SGA состоит из трех основных компонентов:

• Буфер журнала обновлений

• Буферный кэш базы данных

• Совместно используемая область SQL (совместно используемый пул)

РИСУНОК 1. Архитектура SGA Oracle.

Важно убедиться в том, что SGA достаточно велика, чтобы все ее объекты полностью разместились в существующей оперативной памяти системы. Она должна быть также достаточно мала, чтобы сосущество­вать с другими приложениями и не занимать больше памяти, чем ей требуется. Столь же важно следить за наличием достаточного объема совместно используемой памяти — семафоров — для поддержки экзем­пляра базы данных. Как и во всех других аспектах настройки производительности, управление памятью сводится к соблюдению равновесия между доступными и необходимыми ресурсами и к достижению дей­ственного компромисса.

Изучение текущей SGA

Характеристики

Список файлов домашнего задания

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6353
Авторов
на СтудИзбе
311
Средний доход
с одного платного файла
Обучение Подробнее