Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
alikon1
Member

Откуда:
Сообщений: 247
Раньше стоял Windows Server 2003 32bit Oracle 10.2 с 4Гб ОЗУ. Обновили до Linux 64bit Oracle 11.2 8Гб. памяти.
Параметры использования памяти:
ПараметрЗначение
Automatic Memory Management Enabled
Total Memory Size 7232MB
Total SGA Size 6720MB
Shared Pool 1216MB
Buffer Cache 5312MB
Large Pool 64MB
Java Pool 64MB
Other 64MB

total used free shared buffers cached
Mem: 8174556 8122872 51684 0 95560 4332940

Получается эти дополнительные 4Гб не используются?
Вся база: таблицы ~7Гб и индексы ~14Гб.

Скорость в новой конфигурации стала даже чуть помедленне чем было раньше.

Как можно память по-максимуму задействовать?
6 окт 10, 14:41    [9562029]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
Андрей Панфилов
Member

Откуда: Москва > Melbourne
Сообщений: 3778
alikon1
Вся база: таблицы ~7Гб и индексы ~14Гб.
при таких "объемах" нужно ломать руки архитекторам
6 окт 10, 14:44    [9562051]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
Сергей Арсеньев
Member

Откуда:
Сообщений: 4118
alikon1
Получается эти дополнительные 4Гб не используются?

Не вижу ни одной причины для такого вывода.

alikon1
Скорость в новой конфигурации стала даже чуть помедленне чем было раньше.

Какие запросы замедлились и что стало с их планами?
Компьютер тот же?
6 окт 10, 15:02    [9562240]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
Oracle® Database Quick Installation Guide.10g Release 2 (10.2) for Linux on POWER.Configuring Kernel Parameters.
6 окт 10, 15:16    [9562357]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
Pavel Ghost
Member

Откуда: UK
Сообщений: 151
semenar
Oracle® Database Quick Installation Guide.10g Release 2 (10.2) for Linux on POWER.Configuring Kernel Parameters.


А зачем человеку для Linux 64bit Oracle 11.2 параметры от POWER? ;-)
Перепутали, наверное, ссылочку.
Да и тут это не требуется, т.к. если бы shm% были неправильные, то и экземпляр бы не поднялся с теми значениями SGA, что приведены (8Гб).
6 окт 10, 17:26    [9563774]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
Хохлов
Member

Откуда:
Сообщений: 1169
Андрей Панфилов
alikon1
Вся база: таблицы ~7Гб и индексы ~14Гб.
при таких "объемах" нужно ломать руки архитекторам

С какой стати?
6 окт 10, 17:31    [9563841]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
И всё о том же
Guest
Надо включиь directio:
1) alter system set filesystemio_options='setall' scope=spfile;
2) рестартовать инстанс

На windows он включён сразу, а на linux оракл почему-то так не делает.
6 окт 10, 19:36    [9564645]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
alikon1
Member

Откуда:
Сообщений: 247
Сергей Арсеньев
alikon1
Получается эти дополнительные 4Гб не используются?

Не вижу ни одной причины для такого вывода.

alikon1
Скорость в новой конфигурации стала даже чуть помедленне чем было раньше.

Какие запросы замедлились и что стало с их планами?
Компьютер тот же?


Читал про пункт cached, было сказано что это память, которую система готова отдать приложениям если потребуется. Но раз она никогда не меняется, постоянно ~4Гб, то и подумал, что Оракл ее не использует. Компьютер тестовый, 1 в 1 конфигурация с продуктивным (оба кластеры из 2-х узлов), только памяти добавлено и Linux64bit.

Судя по ADDM, запрос с id fdyxawwxdw8t9 занимает 91-94% времени.

SELECT count(*)
FROM emvNominationPoint A0
WHERE (( ( ((A0.nomProgIntervalStart >= :1) AND A0.nomProgIntervalEnd <= :2) AND A0.fromArea = :3) AND (A0.nomProgType = :4 OR (A0.nomProgType = :5)))
AND (A0.descStateStatusValue = :6 OR (A0.descStateStatusValue = :7)
OR (A0.descStateStatusValue = :8) OR (A0.descStateStatusValue = :9) OR (A0.descStateStatusValue = :10)
OR (A0.descStateStatusValue = :11) OR (A0.descStateStatusValue = :12)
OR (A0.descStateStatusValue = :13) OR (A0.descStateStatusValue = :14)))
AND A0.scheduletype = :15 OR ((( ( ((A0.nomProgIntervalStart >= :16) AND A0.nomProgIntervalEnd <= :17)
AND A0.toArea = :18) AND (A0.nomProgType = :19 OR (A0.nomProgType = :20)))
AND (A0.descStateStatusValue = :21 OR (A0.descStateStatusValue = :22) OR (A0.descStateStatusValue = :23) OR (A0.descStateStatusValue = :24)
OR (A0.descStateStatusValue = :25) OR (A0.descStateStatusValue = :26) OR (A0.descStateStatusValue = :27) OR (A0.descStateStatusValue = :28)
OR (A0.descStateStatusValue = :29))) AND A0.scheduletype = :30)

[Select to collapse] SELECT STATEMENT

16 0 0 0 36,924 100 0:0:0
[Select to collapse] SORT AGGREGATE

15 1 221 0 0
0:0:0 SEL$A4371058
[Select to collapse] NESTED LOOPS

14 0 0 0 0
0:0:0
[Select to collapse] NESTED LOOPS

12 1 221 0 36,924 0 0:7:24
[Select to collapse] NESTED LOOPS

10 1 197 0 36,923 0 0:7:24
[Select to collapse] HASH JOIN

7 1 127 81.352M 36,919 0 0:7:24
[Select to collapse] HASH JOIN

5 1,066,240 69.146M 38.641M 17,971 0 0:3:36
[Select to collapse] VIEW
VW_SQ_1 3 1,066,240 26.438M 0 9,091 0 0:1:50 SEL$3696862B / VW_SQ_1@SEL$6B7A66BA
[Select to collapse] HASH GROUP BY

2 1,066,240 12.202M 20.508M 9,091 0 0:1:50 SEL$3696862B
TABLE ACCESS FULL
EMDB.EMTTSDESCSTATE 1 1,070,492 12.251M 0 4,218 0 0:0:51 SEL$3696862B / TSDS2@SEL$15
TABLE ACCESS FULL
EMDB.EMTTSDESCSTATE 4 1,070,492 42.878M 0 4,220 0 0:0:51 SEL$A4371058 / TSDS@SEL$14
TABLE ACCESS FULL
EMDB.EMTTSDESC 6 2,446,748 137.671M 0 6,683 0 0:1:21 SEL$A4371058 / TSD@SEL$14
[Select to collapse] TABLE ACCESS BY INDEX ROWID
EMDB.EMTNOMINATIONPROGRESS 9 1 70 0 4 0 0:0:1 SEL$A4371058 / NP@SEL$14
INDEX RANGE SCAN
EMDB.IDX$$_06290002 8 3 0 0 2 0 0:0:1 SEL$A4371058 / NP@SEL$14
INDEX UNIQUE SCAN
EMDB.EMTNOMINATION_PK 11 1 0 0 0
0:0:0 SEL$A4371058 / N@SEL$3
TABLE ACCESS BY INDEX ROWID
EMDB.EMTNOMINATION 13 1 24 0 1 0 0:0:1 SEL$A4371058 / N@SEL$3

Action	Запустите SQL Tuning Advisor для оператора SELECT с SQL_ID "fdyxawwxdw8t9".

SQL TextSELECT count(*) FROM emvNominationPoint A0 WHERE (( ( ((A0.nomProgIntervalStart ...
SQL IDfdyxawwxdw8t9
Rationale SQL затрачивает 100% времени работы базы данных на ожидания ЦП, ввода-вывода и кластера. Это время работы базы данных может быть оптимизировано с помощью SQL Tuning Advisor.
Rationale Время базы данных для этого кода SQL распределено следующим образом: 100% для выполнения кода SQL, 0% для синтаксического анализа, 0% для выполнения PL/SQL и 0% для выполнения Java.
Rationale Оператор SQL с SQL_ID "fdyxawwxdw8t9" выполнялся 27 раз, и суммарное время его выполнения составило 16 сек.
Rationale Полное сканирование TABLE "EMDB.EMTTSDESCSTATE" с объектным идентификатором 75548 потребляет 20% времени базы данных, затраченного на этот оператор SQL.

На рабочей платформе программа отрабатывает за 7-8 сек, а на тестовой 55-60 сек.
7 окт 10, 08:50    [9566116]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
alikon1
Member

Откуда:
Сообщений: 247
И всё о том же
Надо включиь directio:
1) alter system set filesystemio_options='setall' scope=spfile;
2) рестартовать инстанс
На windows он включён сразу, а на linux оракл почему-то так не делает.

ASM используется
7 окт 10, 09:31    [9566322]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
Сергей Арсеньев
Member

Откуда:
Сообщений: 4118
alikon1,

Каковы планы выполнения для этого (и подобных запросов) на 10 и 11 версиях.
Чем они отличаются.

А вообще, читать пор database replay и перенос планов для таких запросов.

Кстати на новой системе статистика собиралась?
7 окт 10, 09:34    [9566331]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
McMurfy
Member

Откуда: Киев
Сообщений: 474
alikon1

Читал про пункт cached, было сказано что это память, которую система готова отдать приложениям если потребуется. Но раз она никогда не меняется, постоянно ~4Гб, то и подумал, что Оракл ее не использует.


http://www.pythian.com/news/741/pythian-goodies-free-memory-swap-oracle-and-everything/

The SGA memory is reported into the “cached” section for Linux
7 окт 10, 09:53    [9566439]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
alikon1
Member

Откуда:
Сообщений: 247
+ С рабочей БД план
Operation Object Order Rows Bytes Cost CPU (%) Time Query Block Name/Object Alias Predicate Filter Projection
SELECT STATEMENT 55 20,233 100
SORT AGGREGATE 54 1 256 SEL$D89DE9A3 (#keys=0) COUNT(*)[22]
CONCATENATION 53 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 28 1 256 10,114 2 0:02:02 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 26 1 251 10,114 2 0:02:02 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 24 1 246 10,114 2 0:02:02 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS 22 1 241 10,114 2 0:02:02 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 20 1 234 10,114 2 0:02:02 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 18 1 229 10,114 2 0:02:02 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS 16 1 224 10,114 2 0:02:02 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS 8 819 145.564K 8,474 2 0:01:42 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 5 819 98.376K 6,013 3 0:01:13 NP.NOMINATIONPK[NUMBER,22]...
HASH JOIN 3 819 94.377K 6,013 3 0:01:13 N.DATAPOINTPK=NP.NOMINA... (#keys=1) NP.NOMINATIONPK[...
TABLE ACCESS FULL EMTNOMINATIONPROGRESS 1 819 60.785K 5,983 3 0:01:12 SEL$D89DE9A3_1 / NP@SEL$14 (INTERNAL_FUNCTION(NP.NOMPR... NP.INTERVALSTART[CHARACTER...
TABLE ACCESS FULL EMTNOMINATION 2 3,18 130.43K 30 3 0:00:01 SEL$D89DE9A3_1 / N@SEL$3 (N.TOAREAPK=:18 AND N.S... N.DATAPOINTPK[NUMBER,22], ...
INDEX UNIQUE SCAN EMTINSTALLATION_PK 4 1 5 0 SEL$D89DE9A3_1 / ENTRYPOINT@SEL$10 ENTRYPOINT.PK=N.ENTRYPO... ENTRYPOINT.ROWID[ROWID,10], ...
TABLE ACCESS BY INDEX ROWID EMTTSDESC 7 1 59 3 0 0:00:01 SEL$D89DE9A3_1 / TSD@SEL$14 (NP.REVISION=TSD.TSREVI... SYS_ALIAS_1.ROWID[ROWID,10],...
INDEX RANGE SCAN IDX$$_3E5010004 6 1 2 0 0:00:01 SEL$D89DE9A3_1 / TSD@SEL$14 NP.NOMINATIONPK=TSD.DAT... SYS_ALIAS_1.ROWID[ROWID,10],...
TABLE ACCESS BY INDEX ROWID EMTTSDESCSTATE 15 1 42 2 0 0:00:01 SEL$D89DE9A3_1 / TSDS@SEL$14 (INTERNAL_FUNCTION(TSDS.STA... TSDS.ROWID[ROWID,10], TSDS...
INDEX UNIQUE SCAN EMTTSDESCSTATE_PK 14 1 1 0 0:00:01 SEL$D89DE9A3_1 / TSDS@SEL$14 TSDS.PK= TSDS.ROWID[ROWID,10], TSDS...
SORT AGGREGATE 13 1 12 SEL$15 (#keys=0) MAX(TSDS2.PK)[22...
TABLE ACCESS BY INDEX ROWID EMTTSDESCSTATE 11 1 12 4 0 0:00:01 SEL$15 / TSDS2@SEL$15 TSDS2.PK[NUMBER,22]
INDEX RANGE SCAN EMTTSDESCSTATE_FK_1_I 9 1 3 0 0:00:01 SEL$15 / TSDS2@SEL$15 TSDS2.TSDESCPK=:B1 TSDS2.ROWID[ROWID,10]
INDEX RANGE SCAN EMTTSDESCSTATE_FK_1_I 10 1 3 0 0:00:01 SEL$15 / TSDS2@SEL$15 TSDS2.TSDESCPK=:B1 TSDS2.ROWID[ROWID,10]
TABLE ACCESS BY INDEX ROWID EMTTSDESCSTATE 12 1 12 4 0 0:00:01 SEL$15 / TSDS2@SEL$15 TSDS2.PK[NUMBER,22]
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 17 1 5 0 SEL$D89DE9A3_1 / MBAFROM@SEL$2 MBAFROM.PK=N.FROMAREAPK... MBAFROM.ROWID[ROWID,10], MB...
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 19 1 5 0 SEL$D89DE9A3_1 / BGFROM@SEL$6 BGFROM.PK=N.FROMBGPK BGFROM.ROWID[ROWID,10], BGF...
INDEX UNIQUE SCAN EMTDATAPOINT_PK 21 1 7 0 SEL$D89DE9A3_1 / DP@SEL$14 N.DATAPOINTPK=DP.PK DP.ROWID[ROWID,10], DP.PK...
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 23 1 5 0 SEL$D89DE9A3_1 / MBATO@SEL$4 MBATO.PK=N.TOAREAPK MBATO.ROWID[ROWID,10], MBAT...
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 25 1 5 0 SEL$D89DE9A3_1 / BGTO@SEL$8 BGTO.PK=N.TOBGPK BGTO.ROWID[ROWID,10], BGTO...
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 27 1 5 0 SEL$D89DE9A3_1 / DOMAIN@SEL$12 DOMAIN.PK=N.DOMAINPK DOMAIN.ROWID[ROWID,10], DOM...
NESTED LOOPS OUTER 52 1 256 8,476 2 0:01:42 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 50 1 251 8,476 2 0:01:42 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS 48 1 246 8,476 2 0:01:42 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 46 1 239 8,476 2 0:01:42 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 44 1 234 8,476 2 0:01:42 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS 42 1 229 8,476 2 0:01:42 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 38 1 187 8,474 2 0:01:42 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS 36 1 182 8,474 2 0:01:42 NP.NOMINATIONPK[NUMBER,22]...
NESTED LOOPS OUTER 33 819 98.376K 6,013 3 0:01:13 NP.NOMINATIONPK[NUMBER,22]...
HASH JOIN 31 819 94.377K 6,013 3 0:01:13 N.DATAPOINTPK=NP.NOMINA... (#keys=1) NP.NOMINATIONPK[...
TABLE ACCESS FULL EMTNOMINATIONPROGRESS 29 819 60.785K 5,983 3 0:01:12 SEL$D89DE9A3_2 / NP@SEL$D89DE9A3_2 (INTERNAL_FUNCTION(NP.NOMPR... NP.INTERVALSTART[CHARACTER...
TABLE ACCESS FULL EMTNOMINATION 30 4,512 185.062K 30 3 0:00:01 SEL$D89DE9A3_2 / N@SEL$D89DE9A3_2 (N.FROMAREAPK=:3 AND N.... N.DATAPOINTPK[NUMBER,22], ...
INDEX UNIQUE SCAN EMTINSTALLATION_PK 32 1 5 0 SEL$D89DE9A3_2 / ENTRYPOINT@SEL$D89DE9A3_2 ENTRYPOINT.PK=N.ENTRYPO... ENTRYPOINT.ROWID[ROWID,10], ...
TABLE ACCESS BY INDEX ROWID EMTTSDESC 35 1 59 3 0 0:00:01 SEL$D89DE9A3_2 / SYS_ALIAS_1@SEL$D89DE9A3_2 (NP.REVISION=TSD.TSREVI... SYS_ALIAS_1.ROWID[ROWID,10],...
INDEX RANGE SCAN IDX$$_3E5010004 34 1 2 0 0:00:01 SEL$D89DE9A3_2 / SYS_ALIAS_1@SEL$D89DE9A3_2 NP.NOMINATIONPK=TSD.DAT... SYS_ALIAS_1.ROWID[ROWID,10],...
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 37 1 5 0 SEL$D89DE9A3_2 / BGFROM@SEL$D89DE9A3_2 BGFROM.PK=N.FROMBGPK BGFROM.ROWID[ROWID,10], BGF...
TABLE ACCESS BY INDEX ROWID EMTTSDESCSTATE 41 1 42 2 0 0:00:01 SEL$D89DE9A3_2 / TSDS@SEL$D89DE9A3_2 (INTERNAL_FUNCTION(TSDS.STA... TSDS.ROWID[ROWID,10], TSDS...
INDEX UNIQUE SCAN EMTTSDESCSTATE_PK 40 1 1 0 0:00:01 SEL$D89DE9A3_2 / TSDS@SEL$D89DE9A3_2 TSDS.PK= TSDS.ROWID[ROWID,10], TSDS...
SORT AGGREGATE 39 1 12 SEL$15 (#keys=0) MAX(TSDS2.PK)[22...
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 43 1 5 0 SEL$D89DE9A3_2 / BGTO@SEL$D89DE9A3_2 BGTO.PK=N.TOBGPK BGTO.ROWID[ROWID,10], BGTO...
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 45 1 5 0 SEL$D89DE9A3_2 / DOMAIN@SEL$D89DE9A3_2 DOMAIN.PK=N.DOMAINPK DOMAIN.ROWID[ROWID,10], DOM...
INDEX UNIQUE SCAN EMTDATAPOINT_PK 47 1 7 0 SEL$D89DE9A3_2 / DP@SEL$D89DE9A3_2 N.DATAPOINTPK=DP.PK DP.ROWID[ROWID,10], DP.PK...
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 49 1 5 0 SEL$D89DE9A3_2 / MBAFROM@SEL$D89DE9A3_2 MBAFROM.PK=N.FROMAREAPK... MBAFROM.ROWID[ROWID,10], MB...
INDEX UNIQUE SCAN EMTFUNCTIONALGROUP_PK 51 1 5 0 SEL$D89DE9A3_2 / MBATO@SEL$D89DE9A3_2 MBATO.PK=N.TOAREAPK MBATO.ROWID[ROWID,10], MBAT...

А при экспорте/импорте планы выполнения и профили тоже переносятся?
7 окт 10, 10:05    [9566509]     Ответить | Цитировать Сообщить модератору
 Re: Использование памяти в Oracle 11.1 и Linux RedHat 64bit  [new]
Сергей Арсеньев
Member

Откуда:
Сообщений: 4118
alikon1,

нет вроде, отдельно это делают
7 окт 10, 11:39    [9567328]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить