Можно задать запрос к V$SORT_USAGE (представление доступно, начиная с Oracle 8.0), чтобы увидеть, сколько пространства используется текущей операцией сортировки. После завершения операции сортировки в этом представлении не содержится никакой информации. В приведенном ниже примере
показано, как два сеанса сортируют данные, используя для этого временный сегмент в табличном пространстве TEMP. В дается номер блока начального
сегмента для каждой из этих сортировок, а в
blocks -
количество блоков, использованных каждой из них во время выполнения запросов.О SQL> select User, Session_Addr Saddr, Session_Num SerNbr,
2 Extents, Blocks, Segblkft
3 from V$SORT_USAGE;
USER
SADDR SERNBR TABLESPACE EXTENTS BLOCKS SEGBLKS
ACME APPS 2 rows
SQL>
Если для операции сортировки применяются настоящие временные табличные пространства, Oracle создает один сегмент сортировки для каждого временного табличного пространства сразу же после старта экземпляра, как только происходит первая сортировка с использованием дисков. Представление V$SORT_SEGMENT предлагает вполне достаточное количество информации об использовании пространства для всех операций сортировки в базе данных. Следующий пример показывает часть такой информации, в то время как в системе проходит процесс сортировки:
SQL> select Tablespace_Name TSNAME, CurrentJJsers USERS, Total_Extents TOTEXT,
2 Total_Blocks TOTBLKS, Used_Extents USEDEXT, Used_Blocks USEDBLKS
3 from V$S0RT .SEGMENT;
TSNAME
USERS
TOTEXT
TOTBLKS USEDEXT USEDBLKS
TEMP 2
1 row selected.
211
27430
211
27430
Однако после завершения данной операции сортировки предыдущий запрос покажет следующее, суммируя общее количество блоков, когда-либо созданных всеми операциями сортировки:
TSNAME
USERS
TOTEXT
TOTBLKS USEDEXT USEDBLKS
TEMP 0
1 row selected.
220
28600
О
О
Отслеживание использования пространства сортировками в базе данных при помощи запроса к представлению V$SORT_SEGMENT поможет правильно задать размер временного табличного пространства. В следующем запросе показана дополнительная информация из этого представления.
Мы получаем максимальное пространство, когда-либо использовавшееся для сортировок в базе данных:
О SGL> select TablespaceJJame TSNAME, Max._BI.ocks,
2 Max_Used_Blocks, Max_Sort_Size, Max_Sort_Blocks
3 from V$SORT_SEGMENT;
TSNAME MAX_B LOCKS MAX_USED_BLOCKS MAX_SORT_SIZE MAX_.S0RT_BL0CKS
TEMP 28600 28600 111 14430
1 row selected.
SQL>
За дополнительной информацией о представлениях VSSORT USAGE и . V$SORT SEGMENT можно обратиться к справочному руководству по Oracle8i.
В начале этого раздела мы кратко упомянули о глобальных временных табли-
цах, впервые появившихся в OracleSi. Глобальные временные таблицы создают-
ся как временные сегменты во временных табличных пространствах
пользователей. Они обсуждаются в разделе "Глобальные временные таблицы и
временные табличные пространства" главы "Настройка базы данных". Сейчас
мы просто хотим разъяснить, что если используются глобальные временные
таблицы и пользователь выполняет операции сортировки, применение времен-
ных сегментов возрастает. Желательно использовать различные временные
табличные пространства для глобальных временных таблиц групп пользовате-
лей, которые выполняют такие глобальные вре-
менные таблицы. Это, конечно, поможет минимизировать конкуренцию и
повысить производительность операций сортировки, как и использование гло-
бальных временных таблиц.
цах, впервые появившихся в OracleSi. Глобальные временные таблицы создают-
ся как временные сегменты во временных табличных пространствах
пользователей. Они обсуждаются в разделе "Глобальные временные таблицы и
временные табличные пространства" главы "Настройка базы данных". Сейчас
мы просто хотим разъяснить, что если используются глобальные временные
таблицы и пользователь выполняет операции сортировки, применение времен-
ных сегментов возрастает. Желательно использовать различные временные
табличные пространства для глобальных временных таблиц групп пользовате-
лей, которые выполняют такие глобальные вре-
менные таблицы. Это, конечно, поможет минимизировать конкуренцию и
повысить производительность операций сортировки, как и использование гло-
бальных временных таблиц.
Чтобы фактически устранить конкуренцию за ресурс постановки ST в оче-
редь во время выполнения операций сортировки в нужно предполо-
жить, что используются локально управляемые временные табличные
пространства. Обратитесь за дополнительной информацией к разделу "Конфи-
гурирование локально управляемых табличных пространств" в главе "Настрой-
ка базы данных". Как говорилось ранее, используя Oracle, можно управлять
редь во время выполнения операций сортировки в нужно предполо-
жить, что используются локально управляемые временные табличные
пространства. Обратитесь за дополнительной информацией к разделу "Конфи-
гурирование локально управляемых табличных пространств" в главе "Настрой-
ка базы данных". Как говорилось ранее, используя Oracle, можно управлять
конкуренцией даже за единственный в своем роде ресурс.
< Предыдущая | Следующая > |
---|