powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как увеличить онлайн размер ключа in reference partitioning
9 сообщений из 9, страница 1 из 1
как увеличить онлайн размер ключа in reference partitioning
    #39943160
AlexVin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
oracle 18

сабж вообще онлайн возможен? или только оффлайн?
примерчик для наглядности взял тут же на форуме 21723547

Код: 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.
37.
38.
39.
40.
41.
create table in_doc3 (
  in_id    number(10)
 ,doc_date timestamp default systimestamp not null
 ,constraint pk_in_doc3 primary key (in_id)
) partition by range(doc_date) (
  partition p_2017 values less than (to_date('01.01.2018','dd.mm.yyyy'))
 ,partition p_default values less than (maxvalue)
);
create table out_doc3 (
  out_id   number
 ,in_id    number(10) not null
 ,constraint pk_out_doc3 primary key (out_id)
 ,constraint fk_out_doc3$in_id foreign key (in_id) references in_doc3 (in_id)
) partition by reference (fk_out_doc3$in_id);
create index ik_out_doc3$in_id on out_doc3 (in_id) local;

ALTER TABLE in_doc3 MODIFY in_id NUMBER(19,0);
ALTER TABLE out_doc3 MODIFY in_id NUMBER(19,0);

ERROR at line 1:
ORA-14060: data type or length of a table partitioning column may not be
changed


begin
  dbms_redefinition.can_redef_table(uname => user, tname => 'IN_DOC3');
end;
/

ERROR at line 1:
ORA-23549: table "YOU"."IN_DOC3" involved in reference partitioning
ORA-06512: at "SYS.DBMS_REDEFINITION", line 283
ORA-06512: at "SYS.DBMS_REDEFINITION", line 5808
ORA-06512: at line 2

alter table OUT_DOC3 drop constraint FK_OUT_DOC3$IN_ID;
ERROR at line 1:
ORA-14650: operation not supported for reference-partitioned tables

drop table out_doc3;
drop table in_doc3;

...
Рейтинг: 0 / 0
как увеличить онлайн размер ключа in reference partitioning
    #39943213
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexVin,

вот смотрю я на документацию (а теперь ещё и на вас) и думаю - стоят ли все понциальные плюшки (а они действительно очень вкусны, особенно с недавно пофикшенными багами) всего этого геморроя?
причём ваш-то случай достаточно просто обойти при проектировании (используй сурогатные ключи, Люк), но ведь этот самый ключ может ещё и потребоваться перепартиционировать...
...
Рейтинг: 0 / 0
как увеличить онлайн размер ключа in reference partitioning
    #39943232
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...
а они действительно очень вкусны

ммм?
...
Рейтинг: 0 / 0
как увеличить онлайн размер ключа in reference partitioning
    #39943326
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous,

партишн-вайз джойн при соединении таблиц, партиционированных по референсу ИЗ РАЗНЫХ ВЕТОК референсов.
т.е., например.
операции партиционированы по дню, товарный состав - по референсу на операцию, финансовое движение - тоже по референсу на операцию. соединение товарного состава и финансового движения между собой может использовать партишн-вайз джоин. ТЕПЕРЬ может...
...
Рейтинг: 0 / 0
как увеличить онлайн размер ключа in reference partitioning
    #39944244
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...
ТЕПЕРЬ может...

А без reference partitioning типа не мог? :)
...
Рейтинг: 0 / 0
как увеличить онлайн размер ключа in reference partitioning
    #39974459
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrey_anonymous
проходил мимо...
ТЕПЕРЬ может...

А без reference partitioning типа не мог? :)

проходил мимо...
операции партиционированы по дню, товарный состав - по референсу на операцию, финансовое движение - тоже по референсу на операцию

расскажите как. разумеется, интересует выборка за период.
...
Рейтинг: 0 / 0
как увеличить онлайн размер ключа in reference partitioning
    #39974466
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...
расскажите как. разумеется, интересует выборка за период.

хранить в указанных таблицах поле "дата операции" и секционировать по нему. первичным ключом в таблице "операции" всё равно будет два поля.
...
Рейтинг: 0 / 0
как увеличить онлайн размер ключа in reference partitioning
    #39974603
проходил мимо...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кит северных морей
проходил мимо...
расскажите как. разумеется, интересует выборка за период.

хранить в указанных таблицах поле "дата операции" и секционировать по нему. первичным ключом в таблице "операции" всё равно будет два поля.

это требование может быть неприемлемо по ряду причин. например, "указанных таблиц", несколько десятков на разных ветвях и уровнях мастер-деталей. а дата операции всё же может измениться (например, мы ведём учёт по дате проведения операции, а не дате создания), и что, каскадно менять все подчинённые таблицы?

и два поля в первичном ключе тут явно не нужно и вредно, в том числе и по той же самой причине.

да, нужен глобальный индекс на PK, но это не так страшно, как кажется на первый взгляд, и, более того, в реальной жизни это, скорее всего, будет не единственный глобальный индекс.

ЗЫ. я, в целом, не спорю, что можно даже гланды через неподходящее отверстие удалять. я просто радуюсь наличию механизма делать это ... мнээ... более естественным путём.
ЗЗЫ. но накладываемые ограничения заставляют задуматься об управляемости структуры. см. 22109979
...
Рейтинг: 0 / 0
как увеличить онлайн размер ключа in reference partitioning
    #39974627
Фотография кит северных морей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
проходил мимо...
это требование может быть неприемлемо по ряду причин.

любое требование может быть неприемлемо по ряду причин. например, в систему через direct-path идет загрузка партиями, размер партии - до сотен миллионов строк, асинхронно (detail может загрузиться раньше, чем master). каким боком мне там глобальный ПК, не говоря уже о декларативной ссылочной целостности?

я вообще не очень понимаю, если честно, какой сценарий вы описываете. чтобы и PWJ, и изменяемый ключ секции, и ссылочная целостность. OLTP система со 100500 миллионов вставок в секунду, по которой вы одновременно гоняете аналитику с DOP >> 1?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / как увеличить онлайн размер ключа in reference partitioning
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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