我的问题是,用于主键索引的表空间与用于表本身的表空间不同。 Oracle会使用这个索引还是变得不可用?用于索引的Oracle数据库不同表空间
因为当我试图将模式导入到包含该表的Oracle。 Oracle抱怨警告称该主键的索引不可用。我已经通过更改表空间修复了主键索引的模式,并再次导出它,并将其导入到数据库中而没有警告。
这是否意味着主键索引表空间必须始终与表本身的表空间相同?或者是否适用于任何类型的索引(例如列索引)?
此规则是否也适用于DB2?
我的问题是,用于主键索引的表空间与用于表本身的表空间不同。 Oracle会使用这个索引还是变得不可用?用于索引的Oracle数据库不同表空间
因为当我试图将模式导入到包含该表的Oracle。 Oracle抱怨警告称该主键的索引不可用。我已经通过更改表空间修复了主键索引的模式,并再次导出它,并将其导入到数据库中而没有警告。
这是否意味着主键索引表空间必须始终与表本身的表空间相同?或者是否适用于任何类型的索引(例如列索引)?
此规则是否也适用于DB2?
将索引和数据存储在不同的表空间中是完全可以接受的。当您执行以下操作时会发生什么:
alter index index_name rebuild;
之后索引仍然不可用?如果没有,请在表格上检查您的导入参数。例如,SQL * Loader可以通过直接路径加载使索引无效(这只是一个猜测,你没有提到你如何加载数据)。
如果索引仍然不可用,请检查数据异常,尤其是重复键。希望你解决它!
改变索引重建有诀窍。感谢您的提示 – Troydm 2010-11-19 19:18:20
对于DB2,将索引和表存储在不同的表空间中也不是问题。但是,在大多数情况下,您必须在表创建时指定索引表空间。 – 2010-11-19 23:20:04