将Oracle分区和存储选项与Redgate架构比较一起使用失败

将Oracle分区和存储选项与Redgate架构比较一起使用失败,oracle,redgate,schema-compare,Oracle,Redgate,Schema Compare,我正试图为我们的项目引入新的审计表。在部署过程中,我们使用redgate的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 TIME

我正试图为我们的项目引入新的审计表。在部署过程中,我们使用redgate的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论坛上发布,我的帖子已经按原样贴了两天了

我使用的是脚本文件夹比较,上面提到的源文件,目标文件没有,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>

埃列文

我询问了redgate的支持人员,并得到了答复

当您直接使用模式时,它似乎工作得很好(我自己没有尝试过)。只有在对“脚本”文件夹与“脚本”文件夹进行比较时,才会出现此问题

要使分区工作,必须删除NOCACHE关键字。然后一切都正常了

Redgate现在有一个支持这些关键字的bug报告(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;