最近のトラックバック

最近のコメント

2017年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

« 文字列を横に連結する方法 | トップページ | Exception in thread "main" java.lang.NoClassDefFoundError »

2006年11月29日 (水)

ORA-00980

【現象】

リモートのDBに存在するテーブルからSELECTするPL/SQLプログラムを流したところ以下のエラーが発生

ORA-00980: synonym translation is no longer valid
Cause: The synonym used is based on a table, view, or synonym that no longer exists.
Action: Replace the synonym with the name of the object it references or re-create the synonym so that it refers to a valid table, view, or synonym.

その時点で確認したことは

  • テーブルはちゃんと存在
  • テーブルへのアクセス権限も付与済み(直接ユーザではなくロールに対してですけど)
  • DBリンクもOK
  • SQL*PLUSからSELECTするSQLを実行するとOK

掲示板等インターネットで検索してみると同じエラーが発生している人は日米あわせても結構いたんですが、これだっ!!という回答は見つからず。

たいていの場合は、

  • シノニムが指しているテーブル等が存在しない
  • シノニムが指しているテーブル等への権限がない(直接ユーザに権限を振ったほうがよいらしい)

  →PL/SQLで実行したらダメな場合はこれに該当するらしい

  • シノニムを作り直す
  • Create public synonym権限を付与する

といったところが対策らしい。

こちらは上記の対策はクリアしていたので原因不明だったが、インスタンスを立ち上げなおしたら正常にアクセスできるようになってしまった。このまま迷宮入りしそう。

« 文字列を横に連結する方法 | トップページ | Exception in thread "main" java.lang.NoClassDefFoundError »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/181317/12869577

この記事へのトラックバック一覧です: ORA-00980:

« 文字列を横に連結する方法 | トップページ | Exception in thread "main" java.lang.NoClassDefFoundError »