Использование разделов Oracle и параметров хранения с Redgate Schema Compare завершается неудачно

Я пытаюсь представить новые таблицы аудита для нашего проекта. В процессе развертывания мы используем 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. Неожиданный символ токена "PARTITION" (строка 35, столбец 1) Id символа

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

Я использую сравнение папок сценариев, упомянутый выше файл для исходного кода, а не файл для цели, сценарии 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;

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

Alain

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

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

1 ответ

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

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

Чтобы раздел заработал, вам нужно удалить ключевое слово 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;
Другие вопросы по тегам