将Oracle分区和存储选项与Redgate架构比较一起使用失败
我正试图为我们的项目引入新的审计表。在部署过程中,我们使用redgate的Oracle模式比较(版本4.0.8.420) 该表如下所示:将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
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;