【问题标题】:2222: Index name is not unique (TimesTen)2222:索引名称不唯一(TimesTen)
【发布时间】:2013-10-23 11:05:33
【问题描述】:

我在 TimesTen 中为不同的物化视图创建了两个同名的索引,现在不能删除它们。如果尝试我会收到以下错误消息:

2222: Index name is not unique

您能否告诉我如何摆脱这些索引中的一个(或至少两个)?

谢谢!

【问题讨论】:

    标签: sql database oracle indexing timesten


    【解决方案1】:

    Oracle 不允许在同一架构中创建同名索引。您的索引是否在单独的模式中?如果是,请在删除时指定您的 schema.index_name。要检查 index 的架构,您可以查询 all_indexes。

    select * from all_indexes where index_name = 'put your index name here';

    然后您可以登录到其中一个模式并运行删除模式名称.索引名称。这一定是权限问题,因此您遇到错误

    【讨论】:

    • 感谢您的回复,是的,我的索引是在不同的架构上创建的,但是,如果我在删除时指定架构名称 schema_name.indexName,我会得到:“2223:命名索引不存在”。我想强调一下,我在 Times Ten 中遇到了这个问题,而不是在纯 Oracle 中,此外,我忘了提到索引是在物化视图上创建的。
    • 我没有在 timesten 上工作过,但这看起来像是特权问题。您可以登录到创建此索引的架构之一并尝试“drop index schema_name.index_name”;
    • 感谢您的帮助,您说得对,这是一个特权问题!
    • @user2342436,虽然有帮助,但您的回答实际上并没有以当前形式回答问题。你能用上面cmet中的发现结果编辑它吗?
    【解决方案2】:

    要删除两个不同架构中同名物化视图 [或表] 的索引,您需要:

    1. 登录到第一个模式并删除 MV 索引 登录到第二个模式并删除 MV 索引
    2. 作为实例管理员 [您安装 TimesTen 的操作系统用户] 并限定要被架构删除的索引。例如

      ttIsql yourDbDSN 删除 schema1.index; 删除 schema2.index;

    【讨论】:

      猜你喜欢
      • 2019-01-01
      • 2015-11-18
      • 2022-01-02
      • 2018-07-28
      • 1970-01-01
      • 2020-11-13
      • 2011-09-24
      • 2012-05-01
      相关资源
      最近更新 更多