使用脚本来克隆架构从或 this 来源,它在oracle 11g中的工作正常很好我们正在使用。最近,我们切换到Oracle 19c,克隆不再正常。乍一看,一切都还不错,经过仔细检查,索引有组织的表是空的。当我检查这些表的结构时,缺少索引和约束。
索引架构中有组织的表的示例:
CREATE TABLE some_table
(
id1 INTEGER NOT NULL,
id2 INTEGER NOT NULL,
CONSTRAINT pk_some_table PRIMARY KEY (id1, id2) ENABLE VALIDATE
)
ORGANIZATION INDEX
/
CREATE INDEX ix_some_table_01
ON some_table (id1)
/
CREATE INDEX ix_some_table_02
ON some_table (id2)
/
ALTER TABLE some_table
ADD (CONSTRAINT fk_some_table_01 FOREIGN KEY (id1) REFERENCES parent_table1 (id) ENABLE VALIDATE)
/
ALTER TABLE some_table
ADD (CONSTRAINT fk_some_table_02 FOREIGN KEY (id2) REFERENCES parent_table2 (id) ENABLE VALIDATE)
/
以及目的地(克隆)架构中的同一表:
CREATE TABLE some_table
(
id1 INTEGER NOT NULL,
id2 INTEGER NOT NULL,
CONSTRAINT pk_some_table PRIMARY KEY (id1, id2) ENABLE VALIDATE
)
ORGANIZATION INDEX
/
而且,正如我提到的那样,没有克隆的数据和克隆的索引有组织的表是空的。
我怀疑克隆过程试图在索引自己并且失败之前创建约束(使用索引),但我不确定这是原因。
任何帮助将不胜感激。谢谢!
When using scripts for cloning a schema from this or this source, it works perfectly ok in Oracle 11g we are using. Recently we switched to Oracle 19c and cloning doesn't work properly anymore. While, at first glance, everything looks ok, on closer inspection, index organized tables are empty. When I checked the structure of these tables, indexes and constraints were missing.
The example of index organized table in the source schema:
CREATE TABLE some_table
(
id1 INTEGER NOT NULL,
id2 INTEGER NOT NULL,
CONSTRAINT pk_some_table PRIMARY KEY (id1, id2) ENABLE VALIDATE
)
ORGANIZATION INDEX
/
CREATE INDEX ix_some_table_01
ON some_table (id1)
/
CREATE INDEX ix_some_table_02
ON some_table (id2)
/
ALTER TABLE some_table
ADD (CONSTRAINT fk_some_table_01 FOREIGN KEY (id1) REFERENCES parent_table1 (id) ENABLE VALIDATE)
/
ALTER TABLE some_table
ADD (CONSTRAINT fk_some_table_02 FOREIGN KEY (id2) REFERENCES parent_table2 (id) ENABLE VALIDATE)
/
And the same table in the destination (cloned) schema:
CREATE TABLE some_table
(
id1 INTEGER NOT NULL,
id2 INTEGER NOT NULL,
CONSTRAINT pk_some_table PRIMARY KEY (id1, id2) ENABLE VALIDATE
)
ORGANIZATION INDEX
/
And, as I mentioned, no data is cloned and cloned index organized tables are left empty.
I suspect that cloning procedure tries to create constraints (using indexes) before indexes themselves and it fails, but I'm not sure that this is the cause.
Any help would be appreciated. Thanks!
发布评论
评论(1)
感谢您使用我的脚本:-),但对不起,我无法在19.14中复制
Thanks for using my script :-) but sorry I can't reproduce in 19.14