powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как создать индекс с партицией
15 сообщений из 15, страница 1 из 1
Как создать индекс с партицией
    #39719883
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
v_alter_table_stmt02 := 'ALTER TABLE ' || v_table_owner || '.' || v_table_name || ' ADD CONSTRAINT '||v_Constraint||' PRIMARY KEY (FEED_SRC, AGRMT_ID, NETTCOL_ID, CRXM_ID, COMP_CODE, CRXMCNTRY, BRANCH_ID, PRODUCT_ID, DOX_TYPE, CP_BRANCH, IFRS_NET_IND, RELATIONSHIP_TYPE, AGREEMENT_TEMPLATE) USING INDEX TABLESPACE MOUSETRAP_DATA';
	  EXECUTE IMMEDIATE v_alter_table_stmt02;



Создаю PK. При этом индекс unique создается автоматически, но не партицированный.
Таблица партицирована была до этого.

Как сделать индекс партицированный?
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39719897
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x17.mstu,

ключ секционирования является префиксом в составе полей вашего PK?
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39719906
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

PARTITION BY LIST ("FEED_SRC") в sql таблицы
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39719943
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x17.mstu,

1) для начала создайте соответствующий глобально-секционированный индекс с префиксом.
2) после - создайте PK с фразой using index <тут имя вашего индекса с шага 1>
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39719955
Вячеслав Любомудров
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
USING INDEX LOCAL [PARTITION p1 TABLESPACE ...]
Не срабатывает ?
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39719976
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вячеслав Любомудров,

неа
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39719991
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна,

Спасибо, работает
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39720007
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Щукина Анна1) для начала создайте соответствующий глобально-секционированный индекс с префиксом.
2) после - создайте PK с фразой using index <тут имя вашего индекса с шага 1>

Все прекрсно работает в одном флаконе:

Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
SQL> CREATE TABLE TBL(
  2                   ID NUMBER,
  3                   VAL VARCHAR2(10)
  4                  )
  5  /

Table created.

SQL> ALTER TABLE TBL
  2    ADD CONSTRAINT PK_TBL
  3      PRIMARY KEY(ID)
  4      USING INDEX
  5      GLOBAL
  6      PARTITION BY RANGE(ID)
  7      (
  8       PARTITION P_ALL VALUES LESS THAN(MAXVALUE)
  9      )
 10  /

Table altered.

SQL> 



SY.
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39720011
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И на секционированной таблице:

Код: 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.
SQL> DROP TABLE TBL PURGE
  2  /

Table dropped.

SQL> CREATE TABLE TBL(
  2                   ID NUMBER,
  3                   VAL VARCHAR2(10)
  4                  )
  5    PARTITION BY RANGE(ID)
  6    INTERVAL(10)
  7    (
  8     PARTITION P0 VALUES LESS THAN(11)
  9    )
 10  /

Table created.

SQL> ALTER TABLE TBL
  2    ADD CONSTRAINT PK_TBL
  3      PRIMARY KEY(ID)
  4      USING INDEX
  5      LOCAL
  6  /

Table altered.

SQL> 



SY.
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39720018
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,
Получилось, только статус индекса перешел в n/a.
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39720019
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x17.mstu,

Select status from dba_ind_partitions
where index_name ='MST_DOX_STAGEME_PK'

status -> usable
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39720021
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ALTER INDEX MST_DOX_STAGEME_PK REBUILD PARTITION DOX

не помогло
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39720023
Фотография SY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x17.mstuПолучилось, только статус индекса перешел в n/a.

Естественно, теперь каждая секция имеет свой статус а среднюю по больнице Oracle не считaет.

SY.
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39720088
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x17.mstuALTER INDEX MST_DOX_STAGEME_PK REBUILD PARTITION DOX

не помоглои не поможет. если индекс/таблица секционированы, то подробности о их самочувствии нужно искать в %partitions-вьюхах. ибо сама таблица/индекс в случае секционирования - не более чем "обобщающая" логическая обертка для физических секций/подсекций.
...
Рейтинг: 0 / 0
Как создать индекс с партицией
    #39720111
x17.mstu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SY,
Спасибо)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как создать индекс с партицией
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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