エクスポート・ファイルはEXPORT:V10.02.01によって従来型パス経由で作成されました。 IMP-00013:DBAのみ別のDBAがエクスポートしたファイルをインポートできます IMP-00000:エラーが発生したためインポートを終了します。
というメッセージが出た時の対処。
エクスポートをDBA権限で実行した場合、インポートユーザもDBA権限がないと実行できないのが原因です。
対処方法1.DBAユーザでインポートする
コマンドプロンプト等のターミナルより、以下を実行。
(impを使用する場合) imp \"<ユーザ名>/<パスワード>@<net_service_name> AS SYSDBA"\ file=<dmpファイル(フルパス)> fromuser=<スキーマ名> touser=<スキーマ名> (impdを使用する場合) impdp \"<ユーザ名>/<パスワード>@<net_service_name> AS SYSDBA\" DIRECTORY=<DIRECTORY OBJECT> DUMPFILE=<dmpファイル> SCHEMAS=<スキーマ名>
対処方法2.インポートユーザにDBA権限を付与する
以下のコマンドで、インポートユーザのDBA権限を付与。(要管理者権限)
GRANT DBA TO <ユーザ名>
対処方法3.DBAでエクスポートしない
以下のコマンドで、エクスポートユーザのDBA権限を解除。(要管理者権限)
REVOKE DBA FROM <ユーザ名>
すでに取ってしまったdmpは仕方ないけど、こっちが一番いい思う。(インポート/エクスポート くらいは、DBA権限でなくても出来ていいと思う。)
DBA権限が付与されているかどうかは、以下のSQLで確認できます。
select * from DBA_ROLE_PRIVS order by GRANTEE
GRANTED_ROLE に、「DBA」のレコードが存在している場合、そのユーザはDBA権限を保持しています。
スポンサーリンク