Oracleユーザー名の変更
Oracleのユーザー名を変更するSQLは用意されていません。
ユーザー名を変更するには、新しいユーザーを作成し、そこへIMPORT(インポート)とEXPORT(エクスポート)を使ってデータを移動させていきます。
ここでは「test」ユーザーを「satou」ユーザーにユーザー名を変更します。
- 変更前ユーザー・・・test
- 変更後ユーザー・・・satou
1.新ユーザーを作成する
-- Oracleユーザーを作成する CREATE USER satou IDENTIFIED BY pass1;
まずは変更後のユーザーを作成します。ユーザー作成の詳細はこちらを参照してください。
参照:Oracleのユーザーを作成するCREATE USER【SQL】
2.旧ユーザーをEXPORTする
-- EXPORTする(コマンドプロンプトで実行) EXPDP system/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_file.dmp LOGFILE=exp.log SCHEMAS=test
変更したいユーザーのデータをエクスポートします。ここでは「test」をエクスポートします。エクスポートはコマンドプロンプトで実施します。
「DIRECTORY=dp_dir」は事前に作成したディレクトリ「dp_dir」を使っています。ディレクトリの作成方法はこちらを参照してください。
インポート・エクスポートの詳細はこちらを参照してください。
3.新ユーザーへIMPORTする
-- IMPORTする(コマンドプロンプトで実行) IMPDP system/pass@orcl DIRECTORY=dp_dir DUMPFILE=dmp_file.dmp LOGFILE=imp.log SCHEMAS=satou
2でエクスポートされたデータを1で作成したユーザー「satou」へインポートします。
4.旧ユーザーを削除する
-- Oracleユーザーを削除する DROP USER test CASCADE;
最後に残ったユーザー「test」を削除します。ユーザー削除の詳細はこちらを参照してください。
これで旧ユーザー「test」から新ユーザー「satou」へ移動し、ユーザー名を変更することができました。
以上、Oracleのユーザー名を変更する手順でした。
コメント
IMPORTとEXPORTが逆です
ご指摘ありがとうございます。
気づきませんでした(汗)修正しました。