ORA-30364: this level has the same set of columns as another
Cause: The level definition contained the same set of columns as another level.
Action: Eliminate the redundant level definition.
错误说明
ORA-30364:此级别具有与另一个相同的列集(ORA-30364:This level has the same set of columns as another)是ORACLE数据库中一种常见的错误,当程序在尝试创建重复的表级别(属性组)时即会报出此错误。此错误是指在层次中现有列在另一个层次中存在。此错误也会发生在度量表中,当尝试将列添加到度量中时,此错误也会发生。
常见案例
案例一:假如我有一个 OLAP cube (Cube1),cube 中有一些表维度(属性组),该表可以分解为子表,每个子表具有各自的表级别(attribute groups),这时误将子表的一个表级别(attribute group)添加到父表的表级别( attribute group)中就可能导致ORA-30364错误发生。
案例二:假如我们试图将相同的列添加到度量表的某个层次,也会触发ORA-30364错误。
解决方法
解决此ORA-30364错误的常用方法有使用ALTER加以修复,重命名当前错误的属性组,或者将添加了重复列的表删除。
1. 检查表(OLAP cube)维度(dimension tables)是否有任何重复的列
2. 将表维度(dimension table)的某一列的名称更改
3. 使用以下语句更新表
ALTER CUBE DISABLE ALTER
4. 使用以下语句激活表
ALTER CUBE ENABLE ALTER
另一种解决办法就是将重复的表级别(attribute group)重新命名,可使用以下语句实现:
ALTER TABLE