powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-02266: unique/primary keys in table referenced by enabled foreign keys
5 сообщений из 5, страница 1 из 1
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    #39565929
Фотография Takurava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При попытке удалить секцию из таблицы получаю
Код: plsql
1.
ORA-02266: unique/primary keys in table referenced by enabled foreign keys


При этом не могу найти что на неё ссылается:
Код: plsql
1.
2.
3.
4.
select OWNER, TABLE_NAME, CONSTRAINT_NAME from dba_constraints
  where R_CONSTRAINT_NAME in
    (select CONSTRAINT_NAME from dba_constraints
      where TABLE_NAME='SYSTEMTRACE' and CONSTRAINT_TYPE in ('P','U'));


Может это быть из-за хитрого поля в конце с пользовательским типом TYPTRACE?
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
SQL> desc SYSTEMTRACE
 Name                                 Null?    Type                                                                             
 ------------------------------------ -------- ---------------
 RNO                                  NOT NULL NUMBER(10)                                                                             
 DBDATETIMESTAMP                      NOT NULL TIMESTAMP(2)                                                                             
 DBUSERID                                      VARCHAR2(30)                                                                             
 DBSESSIONID                                   NUMBER                                                                             
 DBSESSIONSERIALNUM                            NUMBER                                                                             
 DBINSTANCE                                    NUMBER                                                                             
 DBSCHEMA                                      VARCHAR2(30)                                                                             
 DBLOGGROUPKEY                                 NUMBER                                                                             
 DBLOGGROUPKEYSOURCE                           NUMBER(2)                                                                             
 SOURCEPACKAGENAME                             VARCHAR2(100)                                                                             
 SOURCEPACKAGEVERSION                          VARCHAR2(100)                                                                             
 SOURCEOBJECTDESCRIPTION                       VARCHAR2(255)                                                                             
 SOURCETYPE                                    NUMBER(5)                                                                             
 LOGCODE                                       VARCHAR2(10)                                                                             
 LOGMSG                                        VARCHAR2(4000)                                                                             
 ERRSTACK                                      VARCHAR2(4000)                                                                             
 LOGTRACE                                      TYPTRACE


Оно сделано вот из такого типа:
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
SQL> desc TYPTRACE
 TYPTRACE TABLE OF TRACERECORD
 Name                           Null?    Type                                                                                   
 --------------------------------------- ----------------------------------------------------------------------------------------------- ---------------------------------------------------------------
 VAR                                     VARCHAR2(30)                                                                                   
 EXP                                     VARCHAR2(255)                                                                                   
 REM                                     VARCHAR2(50)                                                                                   
 TRACENO                                 NUMBER(10)                                                                                   

METHOD
------
 FINAL CONSTRUCTOR FUNCTION TRACERECORD RETURNS SELF AS RESULT
 Argument Name                  Type                    In/Out Default?
 ------------------------------ ----------------------- ------ --------
 VAR                            VARCHAR2                IN
 EXP                            VARCHAR2                IN
 REM                            VARCHAR2                IN     DEFAULT
...
Рейтинг: 0 / 0
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    #39565949
Фотография Sayan Malakshinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Takurava,

Nested table есть дочерний где этот тип хранится
...
Рейтинг: 0 / 0
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    #39565952
Фотография Takurava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xtenderNested table есть дочерний где этот тип хранитсяЭто понятно, непонятно другое - может ли оно мешать команде drop partition и, если это так, можно ли это победить?
...
Рейтинг: 0 / 0
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    #39565972
Фотография AmKad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Создать на тесте партиционную таблицу с этим типом и без констраинтов, чтобы дропнуть партицию, уже пробовали?
...
Рейтинг: 0 / 0
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
    #39565992
Фотография Takurava
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AmKad, да, попробовал - проблема в том, что это поле, оказывается, не просто поле, а IOT, мать его.
С простой nested table проблем не возникает:
Код: 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.
SQL> create table qwe (dat date, s TYPTRACE) nested table s store as sss
partition by list (dat)
(PARTITION one VALUES (TO_DATE('1-7-2007', 'DD-MM-YYYY')),
PARTITION two VALUES (TO_DATE('2-7-2007', 'DD-MM-YYYY')));

Table created.

SQL> insert into qwe select TO_DATE('1-7-2007', 'DD-MM-YYYY'), null from dual;

1 row created.

SQL> insert into qwe select TO_DATE('2-7-2007', 'DD-MM-YYYY'), null from dual;

1 row created.

SQL> commit;

Commit complete.

SQL> alter table qwe drop partition two;

Table altered.

SQL> drop table tctdbs.qwe;

Table dropped.



А вот с IOT - хрен там (( PRIMARY KEY ("NESTED_TABLE_ID", "TRACENO") ENABLE) ORGANIZATION INDEX)
Код: 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.
SQL> create table qwe (dat date, s tctdbs.TYPTRACE) nested table s store as sss
(( PRIMARY KEY ("NESTED_TABLE_ID", "TRACENO") ENABLE) ORGANIZATION INDEX) RETURN AS VALUE
partition by list (dat)
(PARTITION one VALUES (TO_DATE('1-7-2007', 'DD-MM-YYYY')),
PARTITION two VALUES (TO_DATE('2-7-2007', 'DD-MM-YYYY')));

Table created.

SQL> insert into qwe select TO_DATE('1-7-2007', 'DD-MM-YYYY'), null from dual;

1 row created.

SQL> insert into qwe select TO_DATE('2-7-2007', 'DD-MM-YYYY'), null from dual;

1 row created.

SQL> commit;

Commit complete.

SQL> alter table qwe drop partition two;
alter table tctdbs.qwe drop partition two
*
ERROR at line 1:
ORA-02266: unique/primary keys in table referenced by enabled foreign keys
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / ORA-02266: unique/primary keys in table referenced by enabled foreign keys
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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