Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Как создать индекс с партицией / 15 сообщений из 15, страница 1 из 1
19.10.2018, 12:40
    #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
19.10.2018, 12:48
    #39719897
Щукина Анна
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать индекс с партицией
x17.mstu,

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

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

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

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

Спасибо, работает
...
Рейтинг: 0 / 0
19.10.2018, 15:01
    #39720007
SY
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
19.10.2018, 15:05
    #39720011
SY
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
19.10.2018, 15:18
    #39720018
x17.mstu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать индекс с партицией
SY,
Получилось, только статус индекса перешел в n/a.
...
Рейтинг: 0 / 0
19.10.2018, 15:24
    #39720019
x17.mstu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как создать индекс с партицией
x17.mstu,

Select status from dba_ind_partitions
where index_name ='MST_DOX_STAGEME_PK'

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

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

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

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

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


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