今天要把測試環境DB的數據更新成最新Production環境的數據,期間發生了一些問題:
1.首先從正式環境exp出想要用戶的dmp檔
2.drop掉測試環境底下相應用戶
3.create測試環境底下相應用戶
4.imp 正式環境導出的dmp檔
5.在測試環境底下explain plan sql時報:ORA-00980: synonym translation is no longer valid
用以下語句查下失效的synonym
select 'drop ' || decode (s.owner, 'PUBLIC', 'public synonym ', 'synonym ' || s.owner || '.') || s.synonym_name || ';' as "Dropping invalid synonyms:" from dba_synonyms s where table_owner not in ('SYSTEM', 'SYS') and db_link is null and not exists (select null from dba_objects o where s.table_owner = o.owner and s.table_name = o.object_name)
發現有個TOAD_PLAN_TABLE的synonym失效,應該是我在砍User的時候,沒有把這個同義詞相應的砍掉
解決:drop public synonym TOAD_PLAN_TABLE;