Oracle:ユーザー作成時に「ORA-65096」エラーが出た場合の原因と対応方法

Oracleのインストール後にSQL*Plusなどでユーザー作成しようとした際、「ORA-65096」エラーが発生した場合の原因と対応方法についてメモしておきます。

「ORA-65096:共通ユーザーまたはロール名が無効です」の原因

  • ルートコンテナにローカルユーザーを作成しようとした場合に発生するエラーとなります。
    ルートコンテナには共有ユーザー(common user) と呼ばれる特殊なユーザーしか作成することはできません。
    Oracle 11gまでと違いOracle 12c以降からは一つのインスタンスには一つのコンテナ・データベース(CDB)と、プラガブル・データベース(PDB)と呼ばれる子DBが存在しています。sysなどのユーザーでログイン直後はコンテナ・データベース(CDB)に接続されている状態となっているため、そのままローカルユーザーを作成しようとしてもエラーが発生してしまうということになります。

「ORA-65096:共通ユーザーまたはロール名が無効です」の対処方法

原因が分かってしまえば対応はシンプルです。接続先がコンテナ・データベース(CDB)であるのがまずいのであればプラガブル・データベース(PDB)に変更してしまえばいいだけです。

  1. まずは「show con_name;」で現在接続されているデータベースを確認します。
  2. 次に「select name, open_mode from v$pdbs;」でPDBの名前と現在のOPEN_MODEを確認します。
  3. PDBの名前が「ORCLPDB」というのがわかったのでデータベースの接続先を「ORCLPDB」へ変更します。
  4. もう一度「show con_name;」を実行して接続先が変更されていることを確認します。
  5. 接続先がPDBへ変更されたのでもう一度ユーザー作成を実行すると正常に実行されます。

 

コメントを残す

メールアドレスが公開されることはありません。

email confirm*

post date*