Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 TX - row lock contention  [new]
-=Koba=-
Member

Откуда: Минск
Сообщений: 1972
Подскажите с чем может быть связана ошибка enq: TX - row lock contention

Заметил тут
UPDATE SEQUENCES_TABLE SET SEQ_COUNT = SEQ_COUNT + :1 WHERE SEQ_NAME = :2

Таблица SEQUENCES_TABLE используется в качестве хранения ключей

    @Id
    @Column(name = "ID", length = 36)
    @GeneratedValue(generator = "admin_id_gen")
    @TableGenerator(name = "admin_id_gen", table = "SEQUENCES_TABLE",
            pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
            pkColumnValue = "adminId",
            initialValue = 1, allocationSize = 1)
    public String getId() {
        return id;
    }


/* Formatted on 14/04/2017 10:37:56 (QP5 v5.300) */
ALTER TABLE SEQUENCES_TABLE
	DROP PRIMARY KEY CASCADE;

DROP TABLE SEQUENCES_TABLE CASCADE CONSTRAINTS;

CREATE TABLE SEQUENCES_TABLE
(
	SEQ_NAME	VARCHAR2 (50 BYTE) NOT NULL,
	SEQ_COUNT	NUMBER (38)
)
TABLESPACE USERS
PCTUSED 0
PCTFREE 10
INITRANS 1
MAXTRANS 255
STORAGE (INITIAL 64 K
		 NEXT 1 M
		 MINEXTENTS 1
		 MAXEXTENTS UNLIMITED
		 PCTINCREASE 0
		 BUFFER_POOL DEFAULT)
LOGGING
NOCOMPRESS
NOCACHE
MONITORING;

ALTER TABLE SEQUENCES_TABLE ADD (
  PRIMARY KEY
  (SEQ_NAME)
  USING INDEX
	TABLESPACE USERS
	PCTFREE    10
	INITRANS   2
	MAXTRANS   255
	STORAGE    (
				INITIAL 		 64K
				NEXT			 1M
				MINEXTENTS		 1
				MAXEXTENTS		 UNLIMITED
				PCTINCREASE 	 0
				BUFFER_POOL 	 DEFAULT
			   )
  ENABLE VALIDATE);


Доп. инфа
http://rgho.st/6gHR8xLwS
http://rgho.st/7qYcf8PtH
http://rgho.st/6kVxxpjbw
14 апр 17, 10:37    [20401552]     Ответить | Цитировать Сообщить модератору
 Re: TX - row lock contention  [new]
Elic
Member

Откуда:
Сообщений: 29979
-=Koba=-
Подскажите с чем может быть связана ошибка enq: TX - row lock contention

Заметил тут
UPDATE SEQUENCES_TABLE SET SEQ_COUNT = SEQ_COUNT + :1 WHERE SEQ_NAME = :2
Во-первых, не мудрено, что конкуренция.
Во-вторых, "ключи" ещё не повторялись?
14 апр 17, 10:43    [20401569]     Ответить | Цитировать Сообщить модератору
 Re: TX - row lock contention  [new]
-=Koba=-
Member

Откуда: Минск
Сообщений: 1972
Elic
-=Koba=-
Подскажите с чем может быть связана ошибка enq: TX - row lock contention

Заметил тут
UPDATE SEQUENCES_TABLE SET SEQ_COUNT = SEQ_COUNT + :1 WHERE SEQ_NAME = :2
Во-первых, не мудрено, что конкуренция.
Во-вторых, "ключи" ещё не повторялись?


Не знаю, а как проверить?
14 апр 17, 10:44    [20401579]     Ответить | Цитировать Сообщить модератору
 Re: TX - row lock contention  [new]
Elic
Member

Откуда:
Сообщений: 29979
-=Koba=-
Не знаю, а как проверить?
dup_val_on_index в логах
14 апр 17, 10:51    [20401601]     Ответить | Цитировать Сообщить модератору
 Re: TX - row lock contention  [new]
-=Koba=-
Member

Откуда: Минск
Сообщений: 1972
Elic
-=Koba=-
Не знаю, а как проверить?
dup_val_on_index в логах

А логи отсюда брать?
https://docs.oracle.com/cd/B28359_01/server.111/b28310/diag001.htm#CHDJBHBJ
14 апр 17, 11:36    [20401774]     Ответить | Цитировать Сообщить модератору
 Re: TX - row lock contention  [new]
123йй
Member

Откуда:
Сообщений: 1637
-=Koba=-,
лучше поискать эти
14 апр 17, 11:53    [20401831]     Ответить | Цитировать Сообщить модератору
 Re: TX - row lock contention  [new]
-=Koba=-
Member

Откуда: Минск
Сообщений: 1972
123йй
-=Koba=-,
лучше поискать эти

Не совсем понял...

Это мне переделать на sequence или ссылка не та
14 апр 17, 15:51    [20402738]     Ответить | Цитировать Сообщить модератору
 Re: TX - row lock contention  [new]
-=Koba=-
Member

Откуда: Минск
Сообщений: 1972
И второй вопрос это же стандартная аннтоация JPA

@GeneratedValue(generator = "admin_id_gen")
@TableGenerator(name = "admin_id_gen", table = "SEQUENCES_TABLE",
pkColumnName = "SEQ_NAME", valueColumnName = "SEQ_COUNT",
pkColumnValue = "adminId",
initialValue = 1, allocationSize = 1)

Почему она вылилась в такие проблемы, если конечно она
14 апр 17, 15:52    [20402741]     Ответить | Цитировать Сообщить модератору
 Re: TX - row lock contention  [new]
рукотворный сиквенс
Guest
Elic
"ключи" ещё не повторялись?

Не будут повторяться, если селектят "ключ" после апдейта.
14 апр 17, 15:55    [20402747]     Ответить | Цитировать Сообщить модератору
 Re: TX - row lock contention  [new]
-=Koba=-
Member

Откуда: Минск
Сообщений: 1972
https://vladmihalcea.com/2017/01/04/why-you-should-never-use-the-table-identifier-generator-with-jpa-and-hibernate/
14 апр 17, 16:47    [20402911]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить