Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Deadlock ora-00060 / 10 сообщений из 10, страница 1 из 1
27.03.2017, 13:07
    #39427709
Deadlock-ora00060
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
Добрый день!

Есть java-код который вставляет данные в таблицу. Вставляет в параллели, самостоятельно разбивая по критерию, условно по id (1-1000 первый поток, 1001-2000 второй и т д). При интенсивной нагрузке на БД иногда прерывается по ORA-00060: deadlock detected while waiting for resource. При повторной загрузке такого не происходит.

Детали:

1) Deadlock graph

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
Deadlock graph:
                       ---------Blocker(s)--------  ---------Waiter(s)---------
Resource Name          process session holds waits  process session holds waits
TX-001c0017-005ced8f       288      48     X            391     863           S
TX-00170003-006e393c       391     863     X            288      48           S

session 48: DID 0001-0120-00F10BB0      session 863: DID 0001-0187-0121903D
session 863: DID 0001-0187-0121903D     session 48: DID 0001-0120-00F10BB0

Rows waited on:
  Session 48: obj - rowid = 00103185 - AAEDGFACfAAN/12AAA
  (dictionary objn - 1061253, file - 159, block - 3669366, slot - 0)
  Session 863: obj - rowid = 0010317C - AAEDF8ACdAAHOm0AAA
  (dictionary objn - 1061244, file - 157, block - 1894836, slot - 0)

----- Information for the OTHER waiting sessions -----
Session 863:
  sid: 863 ser: 5427 audsid: 269256947 user: 100/BDAP_NEW
    flags: (0x41) USR/- flags_idl: (0x1) BSY/-/-/-/-/-
    flags2: (0x40009) -/-/INC
  pid: 391 O/S info: user: oracle, term: UNKNOWN, ospid: 5514
    image: oracle@bl8
  client details:
   O/S info: user: root, term: unknown, ospid: 1234
    machine: vm1 program: JDBC Thin Client
    application name: JDBC Thin Client, hash value=2546894660
  current SQL:
  INSERT INTO BDAP_NEW.BDAP_FACT (ID, COMMIT_PACKAGE, CSI_ID, CSI_INSTANCE_ID, DATA_TYPE_ID, DT, REPORTING_PERIOD, RYEAR, SPACE_ELEMENT_SET_ID, SKFD, SPACE_ID, VALUE) VALUES (:1 , :2 , :3 , :4 , :5 , :6 , :7 , :8 , :9 , :10 , :11 , :12 )

----- End of information for the OTHER waiting sessions -----

Information for THIS session:

----- Current SQL Statement for this session (sql_id=7bkps2ytgmwa8) -----
INSERT INTO BDAP_NEW.BDAP_FACT (ID, COMMIT_PACKAGE, CSI_ID, CSI_INSTANCE_ID, DATA_TYPE_ID, DT, REPORTING_PERIOD, RYEAR, SPACE_ELEMENT_SET_ID, SKFD, SPACE_ID, VALUE) VALUES (:1 , :2 , :3 , :4 , :5 , :6 , :7 , :8 , :9 , :10 , :11 , :12 )
===================================================





2) Объекты из Deadlock graph - objn - 1061253,1061244


Код: plsql
1.
2.
3.
4.
OBJECT_NAME		       OBJECT_TYPE	    OBJECT_ID
------------------------------ ------------------- ----------
FACT_KEY2		       INDEX PARTITION	      1061244
FACT_KEY2		       INDEX PARTITION	      1061253





Код: plsql
1.
2.
3.
4.
5.
6.
7.
SQL> select index_name, uniqueness
  from all_indexes 
  where index_name='FACT_KEY2'  2    3  ;

INDEX_NAME		       UNIQUENES
------------------------------ ---------
FACT_KEY2		       NONUNIQUE




FACT_KEY2 - имеет REFERENCE CONSTRAINT на другую таблицу, столбец имеет индекс



3) Версия

Код: plsql
1.
2.
3.
4.
5.
6.
7.
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE	11.2.0.2.0	Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production



Помогите пожалуйста разобраться, что-то нигде похожую ситуацию не встречал, вроде и металинк прошерстил.
...
Рейтинг: 0 / 0
27.03.2017, 16:34
    #39427882
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
Первый вопрос саппорта будет opatch lsinventory -detail.
И пока не поставите крайний PSU они ничего делать не будут.
...
Рейтинг: 0 / 0
27.03.2017, 17:15
    #39427918
ORA__SQL
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
Deadlock-ora00060,
Причины у дедлоков разные бывают. Разбор полетов начинается holds waits <-> holds waits
Код: plsql
1.
2.
3.
4.
5.
Deadlock graph:
                       ---------Blocker(s)--------  ---------Waiter(s)---------
Resource Name          process session holds waits  process session holds waits
TX-001c0017-005ced8f       288      48     X           391     863           S
TX-00170003-006e393c       391     863     X            288      48          S


Вот тут есть похожий пример https://jonathanlewis.wordpress.com/2016/05/09/ri-locks/
...
Рейтинг: 0 / 0
27.03.2017, 19:35
    #39427984
veep_in_office
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
Vivat!SanПервый вопрос саппорта будет opatch lsinventory -detail.
И пока не поставите крайний PSU они ничего делать не будут.

Вот не правда.
Opatch inventory спрашивают. Но ниразу не просили последний psu поставить. Разбирались с тем что есть. (Правда мы больше чем на две psu не отстаем)

Известно что psu перекрывает максимум 5% багов и то очень критичных.

Так как 95% багов psu не перекрываются, то и требовать их установку глупо.
...
Рейтинг: 0 / 0
27.03.2017, 19:42
    #39427988
deadlock_ora-00060
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
ORA__SQL,

Обычно такая картина указывает на непроиндексиованый foreign key, но не наш вариант.

Дополнительно: Таблица не IOT, индексы не bitmap, вариант с недосточным INITRANS тоже маловероятен, ожиданий ITL нет
...
Рейтинг: 0 / 0
27.03.2017, 23:04
    #39428080
Vivat!San
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
veep_in_office,

за последние полгода около 50-ти SR заведено по ORA-600, ORA-7445 и т.д.
Рекомендаций установить крайний PSU много, а так же свежую прошивку на exasoft.
Не важно сколько процентов перекрывает PSU, если конкретный баг закрыт
в PSU и нет отдельного патча, то обычно рекомендуют установить его.
...
Рейтинг: 0 / 0
28.03.2017, 10:01
    #39428202
veep_in_office
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
Vivat!Sanveep_in_office,

за последние полгода около 50-ти SR заведено по ORA-600, ORA-7445 и т.д.
Рекомендаций установить крайний PSU много, а так же свежую прошивку на exasoft.
Не важно сколько процентов перекрывает PSU, если конкретный баг закрыт
в PSU и нет отдельного патча, то обычно рекомендуют установить его.

Если баг закрыт в PSU, то сам бог велел, как говорится или если патч есть.

Но по моему опыту я в 50% попадаю на баги(600,7445) на которые не только патчей нет, но и в Knowledge не описан.
...
Рейтинг: 0 / 0
09.04.2017, 11:57
    #39435388
orac_list
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
Deadlock-ora00060,

Рекомендую ознакомиться (если еще не сделали)

Troubleshooting "ORA-00060 Deadlock Detected" Errors (Doc ID 62365.1)
Waits for 'Enq: TX - ...' Type Events - Transaction (TX) Lock Example Scenarios (Doc ID 62354.1)
How to Identify ORA-00060 Deadlock Types Using Deadlock Graphs in Trace (Doc ID 1507093.1)
Troubleshooting Assistant: ORA-00060 error on a Single Instance (Non-RAC) Database (Doc ID 1916802.2)
...
Рейтинг: 0 / 0
09.04.2017, 13:22
    #39435414
DВА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
deadlock_ora-00060 вариант с недосточным INITRANS тоже маловероятен, ожиданий ITL нет

как проверяли?
...
Рейтинг: 0 / 0
09.04.2017, 13:23
    #39435417
DВА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Deadlock ora-00060
и каким местом ora-60 к ora-600 и багам оракла?
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Deadlock ora-00060 / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]