Использование разделов Oracle и параметров хранения с Redgate Schema Compare завершается неудачно - PullRequest
0 голосов
/ 10 января 2019

Я пытаюсь представить новые таблицы аудита для нашего проекта. В процессе развертывания мы используем Redgate Schema Compare для Oracle (версия 4.0.8.420).

Таблица выглядит примерно так:

create table MY_SCHEMA.MY_TEST_AUDT (
    TEST_ID                        NUMBER(19),
    -- all sorts of business fields, omitted for clarity
    AUDT_CRT_DTM                   TIMESTAMP DEFAULT SYSTIMESTAMP,
    AUDT_ACTN_CODE                 VARCHAR2(1),
    AUDT_CRT_USR_NM                VARCHAR2(128) DEFAULT USER,
    AUDT_CLIENT_IDENTIFIER         VARCHAR2(256),
    AUDT_CLIENT_INFO               VARCHAR2(256)
)
TABLESPACE MY_TABLESPACE
PCTFREE 0
INITRANS 10
STORAGE (
    INITIAL          64K
    NEXT             1M
    MINEXTENTS       1
    MAXEXTENTS       UNLIMITED
    PCTINCREASE      0
    BUFFER_POOL      DEFAULT
)
COMPRESS FOR OLTP
NOCACHE
PARTITION BY RANGE (AUDT_CRT_DTM)
INTERVAL(interval '1' month)
(
    PARTITION P0 VALUES LESS THAN (date '2018-11-01')
    PCTFREE 0
    INITRANS 10
)
/

При первом запуске я получил ошибку, касающуюся пункта хранения

Не удалось выполнить синтаксический анализ с сообщением SyntaxError. Неожиданный токен 'K'

Когда я избавился от предложения хранилища (поскольку я могу использовать значения по умолчанию), он начал жаловаться на предложение разделения, и вот тут я не очень доволен программным обеспечением.

Не удалось выполнить синтаксический анализ с сообщением SyntaxError. Неожиданный символ «РАЗДЕЛ» (строка 35, столбец 1), идентификатор Id

Я попытался включить и выключить все варианты хранения, ничего не получалось. Я попробовал последнюю версию 5.2 с простым сравнением файлов, и это тоже не сработало. Я пытался опубликовать его на форумах Redgate, и мое сообщение застряло в черновиках уже два дня.

Я использую сравнение папок scripts, вышеупомянутый файл для источника и нет файла для цели, сценарии Oracle 11g.

Мне удалось заставить его работать без раздела. Мне пришлось заменить косую черту точкой с запятой и переключить 8K и 1M на полные значения. Но я все еще не могу создавать разделы.

create table MY_SCHEMA.MY_TEST_AUDT (
    TEST_ID                        NUMBER(19),
    -- all sorts of business fields, omitted for clarity
    AUDT_CRT_DTM                   TIMESTAMP DEFAULT SYSTIMESTAMP,
    AUDT_ACTN_CODE                 VARCHAR2(1),
    AUDT_CRT_USR_NM                VARCHAR2(128) DEFAULT USER,
    AUDT_CLIENT_IDENTIFIER         VARCHAR2(256),
    AUDT_CLIENT_INFO               VARCHAR2(256)
)
TABLESPACE MY_TABLESPACE
PCTFREE 0
INITRANS 10
STORAGE (
    INITIAL          65536
    NEXT             1048576
    MINEXTENTS       1
    MAXEXTENTS       UNLIMITED
    PCTINCREASE      0
    BUFFER_POOL      DEFAULT
)
COMPRESS FOR OLTP
NOCACHE;

Любая помощь очень ценится.

Алена

Для полноты вот мой файл DatabaseInformation.xml

<?xml version="1.0" encoding="utf-16" standalone="yes"?>
<ScriptsFolderInformation version="2" type="ScriptsFolderInformation">
  <DatabaseVersion>ElevenG</DatabaseVersion>
</ScriptsFolderInformation>

1 Ответ

0 голосов
/ 18 января 2019

Я попросил поддержки у redgate и получил ответ.

Кажется, что все работает нормально, когда вы работаете со схемами напрямую (сам не пробовал). Проблема возникает только при сравнении папки scripts с папкой scripts.

Чтобы раздел заработал, вам нужно удалить ключевое слово NOCACHE. Тогда все работает.

Redgate теперь имеет отчет об ошибке поддержки этих ключевых слов (OC-1026)

Вот версия, которая работает:

create table MY_SCHEMA.MY_TEST_AUDT (
    TEST_ID                        NUMBER(19),
    -- all sorts of business fields, omitted for clarity
    AUDT_CRT_DTM                   TIMESTAMP DEFAULT SYSTIMESTAMP,
    AUDT_ACTN_CODE                 VARCHAR2(1),
    AUDT_CRT_USR_NM                VARCHAR2(128) DEFAULT USER,
    AUDT_CLIENT_IDENTIFIER         VARCHAR2(256),
    AUDT_CLIENT_INFO               VARCHAR2(256)
)
TABLESPACE MY_TABLESPACE
PCTFREE 0
INITRANS 10
STORAGE (
    INITIAL          65536
    NEXT             1048576
    MINEXTENTS       1
    MAXEXTENTS       UNLIMITED
    PCTINCREASE      0
    BUFFER_POOL      DEFAULT
)
COMPRESS FOR OLTP;
...