【问题标题】:ORA-01775: looping chain of synonyms while executing select command on all_objects?ORA-01775: 在 all_objects 上执行 select 命令时循环同义词链?
【发布时间】:2014-12-19 15:35:48
【问题描述】:

我正在对 all_objects 执行选择查询:

select * from all_objects;

我遇到以下错误:

从所有对象中选择 * *

第 1 行出现错误:ORA-01775:同义词循环链

我不太确定为什么会出现此错误。我从这个错误中了解到的是,定义了一个以某种方式引用自身的同义词。但是从 all_objects 中选择任何内容时不应出现该错误。我的数据库是否已损坏。

附注我知道关于这个错误的问题已经足够了,但是给出的所有答案都没有回答我的问题。我真的是 oracle 新手,这个问题的解决方案会有很大帮助。

【问题讨论】:

  • 如果您将其限制为特定模式,您会收到错误消息吗? WHERE OWNER='SchemaName' 也可能意味着缺少同义词目标:stackoverflow.com/questions/23251876/…
  • 也许:select * from user_synonyms where (table_owner, table_name) not in ( SELECT owner, object_name from all_objects );
  • 如果同义词所引用的视图或表名称已更改,或者视图或表已被删除,您可能会收到此错误。
  • 您是否为all_tables 视图创建了自己的私有同义词?如果是这样,xQbert 的查询应该表明这一点。
  • Odd... 因此,无论您限制的架构名称如何,您都会得到相同的错误。这意味着系统公共同义词已以某种方式更改。我们已经超越了我的基本故障排除,可能需要更擅长 Oracle 的 DBA 活动的人提供见解。除非这里有人是 DBA,否则我建议将此帖子移至 dba.stackexchange.com,因为我认为该错误比代码更改更深入。

标签: sql oracle oracle10g


【解决方案1】:

试试这个选择找出有问题的同义词..

来自此link。我无法检查它是否有效。

SELECT *
FROM dba_synonyms
WHERE table_owner = 'SYSADM'
    AND (
        NOT EXISTS (
            SELECT *
            FROM dba_tables
            WHERE dba_synonyms.table_name = dba_tables.TABLE_NAME
            )
        AND NOT EXISTS (
            SELECT *
            FROM dba_views
            WHERE dba_synonyms.table_name = dba_views.VIEW_NAME
            )
        AND NOT EXISTS (
            SELECT *
            FROM dba_sequences
            WHERE dba_synonyms.table_name = dba_sequences.sequence_NAME
            )
        AND NOT EXISTS (
            SELECT *
            FROM dba_dependencies
            WHERE type IN (
                    'PACKAGE'
                    ,'PROCEDURE'
                    ,'FUNCTION'
                    )
                AND dba_synonyms.table_name = dba_dependencies.NAME
            )
        )

【讨论】:

  • 不,它也给出了同样的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-07
  • 1970-01-01
  • 2012-12-13
  • 1970-01-01
  • 2012-10-16
相关资源
最近更新 更多