Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
Размышления в догонку.
Если
optimizer_features_enable = '9.2.0'
То
select * from dba_jobs_running 
выполняется 1-2 минут.
Если
optimizer_features_enable = '8.1.7'

то 1 секунду.
Если кто знает подскажите что можно сделать, чтобы и при '9.2.0' запрос отрабатывал быстро. (трейсы обоих вариантов могу выложить).
28 мар 07, 08:10    [3948257]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
Подскажите как в RAC поднять 2 узла, но на один из них пускать только определенных пользователей. А остальные должны уходить на второй сами.
alter system enable restricted session
не предлагать, так как при коннекте пользователи иногда будут получать сообщение об ошибке, а иногда не будут. Триггер на подключение, тоже не подходит.
28 мар 07, 08:29    [3948290]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
автор
трейсы обоих вариантов могу выложить

Да. Выложи выложи трейс select * from dba_jobs_running. Достаточно при optimizer_features_enable = '9.2.0'
28 мар 07, 11:05    [3949154]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
Если позволит размер то желательно выложить и сырой трейс. Трейсы обязательно с событиями ожиданий.
28 мар 07, 11:08    [3949187]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6876
Зачем такие сложности? Просто добавить хинт rule.

...'Cause there's nothin' strange about an axe with bloodstains in the barn,
There's always some killin' you got to do around the farm...
28 мар 07, 11:17    [3949286]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
автор
При подъеме второго узла, в нем не стартуют задания(job).

У Вас не получается запустить джобы на двух узлах? Или этот конкретный джоб 'сервер лицензий' не стартует на двух узлах ?
28 мар 07, 11:25    [3949360]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
трейс при optimizer_features_enable = '9.2.0'

К сообщению приложен файл (1.txt - 13Kb) cкачать
28 мар 07, 11:25    [3949362]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
сырой трейс

К сообщению приложен файл (test_ora_29830.trc - 10Kb) cкачать
28 мар 07, 11:25    [3949369]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
автор
Зачем такие сложности? Просто добавить хинт rule

И действительно попробывать использовать хинт rule.
28 мар 07, 11:28    [3949388]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
Scott Tiger
Зачем такие сложности? Просто добавить хинт rule.

Понятно, что использованием хинтов можно помочь запросу. Но это же обращение к внутреннему("родному" для БД) представлению... И если настройка требуется уже здесь, то что говорить про большие, сложные запросы...
28 мар 07, 11:31    [3949419]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Scott Tiger
Member

Откуда: вмваре
Сообщений: 6876
Denis Tch
Scott Tiger
Зачем такие сложности? Просто добавить хинт rule.

Понятно, что использованием хинтов можно помочь запросу. Но это же обращение к внутреннему("родному" для БД) представлению... И если настройка требуется уже здесь, то что говорить про большие, сложные запросы...


Плюха с dba_jobs_running широко известна, не понимаю, чего здесь париться... Большие сложные запросы вокруг словарных вьюшек вообще лучше не строить.
28 мар 07, 11:41    [3949499]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
Rule помогает возможно потому что убирает MERGE JOIN CARTESIAN в этом запросе. Хотя у меня и с MERGE JOIN CARTESIAN на 10g на большой базе выполняется select * from dba_jobs_running достаточно быстро. Но без него быстрее.

Такой баг уже был опубликован на metalink. Oracle предлагает использовать DBMS_STATS.GATHER_FIXED_OBJECTS_STATS в период средней нагрузки базы. Но это есть только в Oracle10g. А в Oracle 9i они предлагают использовать хинт rule :). Настройки базы тут не причем. Это ошибка Oracle.
28 мар 07, 12:12    [3949761]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
Denis Tch
Подскажите как в RAC поднять 2 узла, но на один из них пускать только определенных пользователей. А остальные должны уходить на второй сами.
alter system enable restricted session
не предлагать, так как при коннекте пользователи иногда будут получать сообщение об ошибке, а иногда не будут. Триггер на подключение, тоже не подходит.

используй для разных узлов разный SERVICE_NAME
28 мар 07, 12:32    [3949956]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
Di 76
Rule помогает возможно потому что убирает MERGE JOIN CARTESIAN в этом запросе. Хотя у меня и с MERGE JOIN CARTESIAN на 10g на большой базе выполняется select * from dba_jobs_running достаточно быстро. Но без него быстрее.

Такой баг уже был опубликован на metalink. Oracle предлагает использовать DBMS_STATS.GATHER_FIXED_OBJECTS_STATS в период средней нагрузки базы. Но это есть только в Oracle10g. А в Oracle 9i они предлагают использовать хинт rule :). Настройки базы тут не причем. Это ошибка Oracle.

Спасибо, буду иметь ввиду.

Запустил 'сервер лицензий' (чтоб он работал хорошо. а тот кто его придумал, чтоб его переписал). Статс пак буду ставить и смотреть завтра.
28 мар 07, 15:18    [3951371]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
После возврата в боевой строй второго узла, ситуация изменилась в лучшую сторону. (правда, и распределение памяти изменилось).
Выкладываю отчет с одного узла из 2х. Кому не сложно, выскажитесь.
Кодировка UTF-8. Это 17 минут боевой нагрузки.

К сообщению приложен файл (apak2_1_2.rar - 20Kb) cкачать
29 мар 07, 11:59    [3955014]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
Denis Tch

Выкладываю отчет с одного узла из 2х. Кому не сложно, выскажитесь.

virtual circuit status 61,199 17 7,983 130 17.2

глянь в сторону увеличения параметров Shared сервера
29 мар 07, 13:48    [3955906]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
Жаль конечно что между снимками прошло всего 18 минут. Пару часов было бы поинтересней. Но начнем.

Замечательный запрос.
SELECT RN FROM FCPRODREPORT WHERE TRIM(PREFIX) = :B2 AND TRIM(NUMB) = :B1
Он дает почти половину физического I/O.
У Вас случаем PREFIX и NUMB не поля фиксированной длины char ?
Если переменной длины то тому кто написал этот запрос надо в голову дать.
Если переменной то можно подправить этот запрос функциональным индексом физический I/O сразу в два раза упадет. Правда возможно прийдется его закриплят с помощью stared outline.
29 мар 07, 14:37    [3956209]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
Ошибся
автор
Если переменной то можно подправить этот запрос функциональным индексом физический I/O сразу в два раза упадет. Правда возможно прийдется его закриплят с помощью stared outline

Если фиксированной длины.
29 мар 07, 14:52    [3956303]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
Этот запрос, во всех его вариантах (а их я увидел немало), то же нужно изменить. Он делает очень много логических чтений. Что есть плохо.

select D$.*, substr(AGF_DICNOMNS_MODIF(NRN), 1, 240) S184434942
from (select V_NOMENMODIFPART1.* from V_NOMENMODIFPART1 where up
per(SNOMNMODIFPACK) like 'АНГАРСК%' and upper(SJUR_PERS) = 'com
p' and upper(SSTORE) = 'СКЛАД ГП' and  NVERSION=:"VERSION
" and NCOMPANY=:"COMPANY" and NIDENT=:"IDENT" ) D$  order by SNO
29 мар 07, 15:28    [3956527]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
denix1
глянь в сторону увеличения параметров Shared сервера

Из изменений предполагаю сделать следующее: уменьшить large_pool_size, pga_aggregate_target. Так как они не используются в 2х узловом режиме так сильно, как в 1 узловом. И отдать всю высвободившуюся память под db_cache_size. Что должно привести к снижению физических чтений.
Это имелось ввиду?

Di 76

Борьба с "лидерами" рейтингов уже началась. Собираю статистику за пол дня, чтобы точнее выявить "лидеров".
29 мар 07, 16:20    [3956826]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
denix1
Member

Откуда: Киев
Сообщений: 4656
выкиньте сюда результат
show parameter shared
29 мар 07, 17:55    [3957462]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
автор
Denis Tch


А сделайте выборки
select * from V$SHARED_SERVER_MONITOR
select * FROM V$QUEUE

И из v$parameter значения параметров
circuits
max_shared_servers
SHARED_SERVERS
29 мар 07, 18:17    [3957616]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
denix1
выкиньте сюда результат
show parameter shared

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
hi_shared_memory_address             integer     0
max_shared_servers                   integer     20
shared_memory_address                integer     0
shared_pool_reserved_size            big integer 89758105
shared_pool_size                     big integer 1795162112
shared_servers                       integer     1
shared_server_sessions               integer     1100
30 мар 07, 09:21    [3959002]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Denis Tch
Member

Откуда: г.Ростов-на-Дону
Сообщений: 236
select * from V$SHARED_SERVER_MONITOR
MAXIMUM_CONNECTIONS MAXIMUM_SESSIONS SERVERS_STARTED SERVERS_TERMINATED SERVERS_HIGHWATER
------------------- ---------------- --------------- ------------------ -----------------
                597              596           43194              43192                20

select * FROM V$QUEUE 
PADDR            TYPE           QUEUED       WAIT     TOTALQ
---------------- ---------- ---------- ---------- ----------
00               COMMON              1 2103872003    7107574
0000000110CE8070 DISPATCHER          1   69243190   10783373


select * from v$parameter v where v.NAME in ('circuits')

       NUM NAME                                                                   TYPE VALUE                                                                            ISDEFAULT ISSES_MODIFIABLE ISSYS_MODIFIABLE ISMODIFIED ISADJUSTED DESCRIPTION                                                      UPDATE_COMMENT
---------- ---------------------------------------------------------------- ---------- -------------------------------------------------------------------------------- --------- ---------------- ---------------- ---------- ---------- ---------------------------------------------------------------- --------------------------------------------------------------------------------
       531 circuits                                                                  3 1105                                                                             TRUE      FALSE            FALSE            FALSE      FALSE      max number of circuits                                           
30 мар 07, 09:26    [3959018]     Ответить | Цитировать Сообщить модератору
 Re: RAC 1 узел хорошо, 2 - плохо...  [new]
Di 76
Member

Откуда:
Сообщений: 16
Вам следует увеличить max_shared_servers. Попробуйте max_shared_servers=40
И еще стоит попробовать сделать shared_servers = 10.
30 мар 07, 11:22    [3959781]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Oracle Ответить