Oracleユーザー名を変更する【SQL】

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のユーザー名を変更する手順でした。

コメント

  1. HN より:

    IMPORTとEXPORTが逆です

    • Oracleマスター より:

      ご指摘ありがとうございます。
      気づきませんでした(汗)修正しました。