Oracleデータ移行時、移行対象スキーマにデータベースリンクを使ったシノニムが含まれているとORA-2063,ORA-942が発生する

2019/06/29

t f B! P L
Oracleデータ移行中にエラーが発生した。

インスタンスA、スキーマA1、スキーマA2 
インスタンスB、スキーマB1がある。

A1のテーブル参照権限をA2に付与し、
B1からA2にDBLinkで接続し、
B1にそのシノニムを定義している場合、

select * from USER_SYNONYMS;

で取得されるTABLE_OWNERはA1とならず、nullになる。
この状態で、データ移行を行うとnullとなっているTABLE_OWNERに、
B1が補完されてしまう。

解決策としては、移行後にB1のシノニムを再定義する必要がある。
このエラーが発生する場合、対象シノニムの移行は諦めて、
移行完了後、シノニムを再定義する。

関連記事:Oracleデータ移行



QooQ