Pessoal boa noite! Preciso uma ajuda de vocês para entender se é uma situação normal ou posso ter algum problema.
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit > Eu fiz um teste simulando o que temos no banco aqui > > CREATE TABLE TAB_TYPE_1 > (ID NUMBER(10) PRIMARY KEY, > CODE VARCHAR2(10) NOT NULL); > > CREATE TABLE TAB_TYPE_2 > (ID NUMBER(10) PRIMARY KEY, > CODE VARCHAR2(10) NOT NULL); > > -- Tabela principal que depende das 2 tabelas acima de configuração: > CREATE TABLE TAB_A > (ID NUMBER(10) PRIMARY KEY, > CODE VARCHAR2(10) NOT NULL, > TYPE_1_ID NUMBER(10), > TYPE_2_ID NUMBER(10)); > > ALTER TABLE tab_a ADD CONSTRAINT fk_tab_a_type_1 FOREIGN KEY (type_1_id) > REFERENCES tab_type_1 (id); > > ALTER TABLE tab_a ADD CONSTRAINT fk_tab_a_type_2 FOREIGN KEY (type_2_id) > REFERENCES tab_type_2 (id); > > CREATE INDEX idx_tab_a_type_1 ON tab_a (type_1_id) TABLESPACE indx; > CREATE INDEX idx_tab_a_type_2 ON tab_a (type_2_id) TABLESPACE indx; > > -- Quando faço a inserção na tabela principal, mesmo SEM valor nos > atributos de tipos verifico que existe a seguinte indicação em * > v$locked_object*: > > INSERT INTO tab_a (id, code) VALUES (1,1); > > OBJECT_NAME LOCKED_MODE > ------------------ --------------- > TAB_A Row-X (SX) > TAB_TYPE_1 Row-X (SX) > TAB_TYPE_2 Row-X (SX) > > Eu entendo que os valores de v$locked_object.locked_mode são: > 0, 'None', > 1, 'Null (NULL)', > 2, 'Row-S (SS)', > 3, 'Row-X (SX)', > 4, 'Share (S)', > 5, 'S/Row-X (SSX)', > 6, 'Exclusive (X)', > > SID Lock Type Mode Held Blocking? > ----- --------------- --------------- --------------- > 579 DML Row-X (SX) Not Blocking > 579 DML Row-X (SX) Not Blocking > 579 DML Row-X (SX) Not Blocking > 579 Transaction Exclusive Not Blocking > 579 AE Share Not Blocking > > Apesar de aparecer conforme acima, NÃO está impedindo nenhuma > alteração/remoção em relação a dados para as tabelas de tipos, apenas > segurando alterações de estrutura. > > Isso impacta em algo em relação a contenção ou é um comportamento normal? > Por que o indicativo "Row" se não há nenhuma contenção de linha? > > Obrigada > Luciana > > [As partes desta mensagem que não continham texto foram removidas]