ORACLE データベース サーバーが DMP 形式でエクスポートすると、アクセス許可ソリューションがないことを示すプロンプトが表示されます

Oracle データベースでは、データを DMP 形式にエクスポートする必要がある場合、PLSQL を使用してエクスポートすることはできず、データベース サーバーを介してエクスポートする必要があります。

操作方法は以下の通りです。

1. データベースサーバーにログインします。

2. データベースユーザーを切り替えます。
ここに画像の説明を挿入します
3. エクスポートするテーブルデータのコマンドを実行します。

例としてテーブル APPLSYS.FND_ID_FLEX_SEGMENTS を取り上げます。

exp gl/gl file=/data03/bakdmp/test.dmp log=/data03/bakdmp/test.log tables=APPLSYS.FND_ID_FLEX_SEGMENTS

コマンドの説明:

exp: エクスポート (インポートコマンドは imp)

gl/gl: ユーザー名とシークレット
file=/data03/bakdmp/test.dmp: エクスポートされたファイル名とパス
log=/data03/bakdmp/test.log: エクスポートされたログ名とパス テーブル
=APPLSYS.FND_ID_FLEX_SEGMENTS: エクスポートされるテーブル
プロンプトデータの実行後: EXP-00009: APPLSYS のテーブル FND_ID_FLEX_SEGMENTS をエクスポートする権限がありません (テーブルをエクスポートする権限がありません)
ここに画像の説明を挿入します
理由は、ユーザーがデータベース データをエクスポートする権限ロール EXP_FULL_DATABASE を持っていないためです。したがって、
ここに画像の説明を挿入します
最初に EXP_FULL_DATABASE ロールを割り当てます。ユーザーへ:

alter user 此处填用户名 default role EXP_FULL_DATABASE;

ユーザーに EXP_FULL_DATABASE ロールが割り当てられた後のクエリは次のとおりです:
ここに画像の説明を挿入します
EXP_FULL_DATABASE ロールが割り当てられた後でも、データベースは DMP 形式ファイルをエクスポートするときに、アクセス許可がないことを示すエラーを報告します。エクスポート ロール権限 EXP_FULL_DATABASE は NO です。

解決策は次のとおりです。

次のコマンドを実行します。

alter user 此处填用户名 default role all;

コマンドの解釈: デフォルトで、このユーザーのすべてのロール権限を有効にします。

実行後のクエリは次のようになります。
ここに画像の説明を挿入します
4. エクスポート コマンドを再度実行します。
ここに画像の説明を挿入します
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/qq_38696286/article/details/125975861