|
|
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Всем добрый день! БД: Oracle Database EE 11.2.0.2 (OLTP) Cистема: AIX 6 Недавно выяснилось с помощью EM, что на продуктивной БД большая нагрузка на SYS.STANDART.SYSDATE (Top PL/SQL) В силу особенностей БД, мы действительно очень часто используем sysdate. БД очень нагружена (OLTP). Может кто-нибудь встречался с такой проблемой? Хотелось бы услышать мнения и админов и программистов. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 10:38:14 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
в чем измеряется "нагрузка на"?Scorpion_TSNSTANDAR T ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 10:43:07 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
-2-, Activity (%) CPU+CPU Wait - 30% Действительно не правильно выразился. Нагрузка на процессор при использовании SYS.STANDART.SYSDATE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 11:07:53 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Scorpion_TSN-2-, Activity (%) CPU+CPU Wait - 30% Действительно не правильно выразился. Нагрузка на процессор при использовании SYS.STANDART.SYSDATE ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 11:21:15 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Fogel Activity (%) CPU+CPU Wait - 30% Действительно не правильно выразился. Нагрузка на процессор при использовании SYS.STANDART.SYSDATE Это не на сисдэйт нагрузка, а на кривом запросе, который занимается хардпарсингом данных при сравнении столбца даты с текущей путём вызова сисдэйт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 11:23:40 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
А можно по подробнее.. Если можно пример такого запроса. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 11:34:36 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Scorpion_TSNпример такого запроса. примеров, как неправильно, можно привести много. вам надо смотреть конкретный запрос/операцию PL/sql блока и по нему уже думать над оптимизацией. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 11:51:55 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Просто непонятна ни мне, ни коллегам фраза "...кривом запросе, который занимается хардпарсингом данных при сравнении столбца даты с текущей путём вызова сисдэйт...." Буквально по пунктам, что Вы имеете в виду??: 1) "хардпарсингом данных" 2) "текущей путём вызова сисдэйт" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 12:47:41 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Можно хоть какой-то неправильный пример? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 12:49:53 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Еще раз Объясни, с чего ты взял что основную нагрузку вызывает SYS.STANDARD.SYSDATE? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 13:00:37 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
В Oracle EM вижу в Top Activity Activity (%) CPU+CPU Wait - 30% ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 13:41:59 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Остальные PL/SQL вызывают куда более меньшую нагрузку, хотя клиентами могут вызываться до 4000 раз в минуту... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 13:48:31 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Scorpion_TSNМожно хоть какой-то неправильный пример? пожалуйста, пример абсолютного идиотизма, который может быть по нагрузке похож на вашу ситуацию: Код: plsql 1. 2. 3. 4. 5. 6. 7. но ваш код естественно совершенно другой. Scorpion_TSNБуквально по пунктам, что Вы имеете в виду??: 1) "хардпарсингом данных" 2) "текущей путём вызова сисдэйт" 2 - вы исказили мою фразу, по ней - см. выше. 1. hard parse очень-очень кратко ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 14:47:30 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Fogel1. hard parse очень-очень кратко хардпарс внутри sysdate? не могу представить. а вот то, что приложение использует пул и каждый запрос предваряет проверкой соединения получением сисдаты, причем не sql-функцией, а селектом именно сис.стандард, запросто. также напрашивается, что большинство целевых запросов также являются непрерывным пингом, типа есть что в пустой очереди или нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 15:01:30 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
SYS.STANDARD.SYSDATE не вызывается в SQL при обращении к SYSDATE (если, конечно, кто-то явно его не вызывает именно как COLUMN > SYS.STANDARD.SYSDATE, но это уж совсем клиника) Он вызывается из PL/SQL в конструкциях VAR := SYSDATE; Но даже в этом случае -- там внутренний вызов функций ораклового ядра, поэтому заставить его как-то сильно участвовать в топе активности -- это бесконечный цикл в вызовом VAR := SYSDATE;, причем единственной активной сессией При этом в топ скорее попадет тот самый анонимный блок или програмная единица, содержащая этот цикл Интересно бы посмотреть, каким запросом EM определил виновника ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 15:02:29 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
FogelScorpion_TSNМожно хоть какой-то неправильный пример? пожалуйста, пример абсолютного идиотизма, который может быть по нагрузке похож на вашу ситуацию: Код: plsql 1. 2. 3. 4. 5. 6. 7. но ваш код естественно совершенно другой. Scorpion_TSNБуквально по пунктам, что Вы имеете в виду??: 1) "хардпарсингом данных" 2) "текущей путём вызова сисдэйт" 2 - вы исказили мою фразу, по ней - см. выше. 1. hard parse очень-очень кратко Спасибо. Идея понятна. Будем проверять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 15:07:03 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровИнтересно бы посмотреть, каким запросом EM определил виновникаplsql_entry_object_id, plsql_entry_subprogram_id в ASH. Scorpion_TSNСпасибо. Идея понятна. Будем проверять.Идея - маразм. Перечитай что выше написал Любомудров. Для дополнительных деталей - смотри sql_id, top_level_sql_id в ASH. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 15:12:35 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopВячеслав ЛюбомудровИнтересно бы посмотреть, каким запросом EM определил виновникаplsql_entry_object_id, plsql_entry_subprogram_id в ASH. Т.е. блок Код: plsql 1. 2. 3. 4. 5. 6. 7. Как раз и выведет в топ обращение (единственное) к SYS.STANDARD.SYSDATE и сам этот анонимный блок? Или оно меняется при возврате из вызванной процедуры/функции? Я как-то никогда не обращал на это внимания ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 15:33:39 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Вячеслав Любомудровdbms_photoshopпропущено... plsql_entry_object_id, plsql_entry_subprogram_id в ASH. Т.е. блок Код: plsql 1. 2. 3. 4. 5. 6. 7. Как раз и выведет в топ обращение (единственное) к SYS.STANDARD.SYSDATE и сам этот анонимный блок? Или оно меняется при возврате из вызванной процедуры/функции? Я как-то никогда не обращал на это внимания Если в цикле нет вызова хранимого кода, то и plsql_entry_object_id, plsql_entry_subprogram_id будут null. Запусти и загляни в ash. Код: plsql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 15:39:54 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровSYS.STANDARD.SYSDATE не вызывается в SQL при обращении к SYSDATE если вызывает пользователь в своей сессии, то да. а если работает джоб? вопрос на засыпку: если пользователь обращается к синониму на свой же объект, обработка запроса пойдёт по синониму или напрямую (т.е. с указанием полного пути)? у любого dbms_джоба владелец sys... про var: = sysdate вы стопроцентно правы, тут даже не поспоришь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 15:55:16 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Ты еще не понял, что SQL и PL/SQL разные языки? И функции у них у каждого свои Где-то совпадают по имени (sysdate), где-то отсутствуют (decode) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 16:00:06 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
Вячеслав ЛюбомудровТы еще не понял, что SQL и PL/SQL разные языки? И функции у них у каждого свои Где-то совпадают по имени (sysdate), где-то отсутствуют (decode) )) NDS - специфика исключительно PL/SQL -это к вопросу о моём понимании различий в языках на основе приведённого мной примера. Если по вашей логике SYS.STANDARD.SYSDATE - исключительно прерогатива вызова SQL, то где же тогда хранится то, что вызывает PL/SQL, обращаясь к sysdate? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 16:09:26 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 16:39:19 |
|
||
|
Большая нагрузка на SYS.STANDART.SYSDATE
|
|||
|---|---|---|---|
|
#18+
dbms_photoshopFogel, sysdate() NDS при распарсивании переводится в SQL и происходит переключение контекста. NDS для того и придуман был, чтобы облегчить применение чистого sql-движка в PL/SQL. поэтому он и специфика PL/SQL. самому sql ещё один переводчик sql не нужен. "про var: = sysdate" - тоже возможная причина (как я и сказал без какого либо подвоха, но видимо поняли наоборот) при нагрузке на CPU, но тут уже работает PL/SQl движок и как вы выяснили все дороги все равно ведут в рай SYS.STANDARD.SYSDATE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2016, 21:53:57 |
|
||
|
|

start [/forum/topic.php?fid=52&msg=39281321&tid=1887785]: |
0ms |
get settings: |
7ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
292ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 609ms |

| 0 / 0 |
