Database

Oracle12cでユーザを作成する方法

スポンサーリンク

SQLコマンドを使用したユーザ作成

Oracle12cからマルチテナント・アーキテクチャが採用されており、以前までの手順ではユーザが作成できません。
ここではPDBに接続してユーザを作成する方法を記載します。

接続先の変更

ユーザ作成時にコンテナ・データベース(CDB)からプラガブル・データベース(PDB)に接続先を変更する必要があります。

最初に現在の接続先を確認します。
現在の接続先がCDBの場合は「CDB$ROOT」と表示されます。

sqlplus / as sysdba

SQL> SHOW CON_NAME

CON_NAME
------------------------------
CDB$ROOT

接続するPDBの状態を確認します。
PDB(PDB$SEED以外)の状態が「MOUNTED」と表示される場合は、PDBを起動する必要があります。

SQL> SHOW PDBS

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDBORCL                        MOUNTED

PDBが停止している場合は、PDBを起動します。
PDBの状態が「READ WRITE」変わったことを確認します。

SQL> ALTER PLUGGABLE DATABASE <PDB名> OPEN;

プラガブル・データベースが変更されました。

SQL> SHOW PDBS

    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDBORCL                        READ WRITE NO

PDBに接続先を変更します。

SQL> ALTER SESSION SET CONTAINER = <PDB名>;

セッションが変更されました。

SQL> SHOW CON_NAME

CON_NAME
------------------------------
PDBORCL

ユーザの作成

PDBに接続後にユーザを作成します。

SQL> CREATE USER <ユーザ名> IDENTIFIED BY <パスワード>

ユーザーが作成されました。

作成したユーザに必要に応じて権限を付与します。

SQL> GRANT CONNECT, RESOURCE TO <ユーザ名>; -- CONNECTとRESOURCE権限を付与する場合

権限付与が成功しました。

Oracleにログインする

作成したユーザでPDBに接続するにはtnsnames.oraに定義を追加する必要があります。

<ネットサービス名> =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <ホスト名>)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = <PDB名>)
    )
  )

tnsnames.oraの編集後にOracleに接続します。

sqlplus <ユーザ名>/<パスワード>@<ネットサービス名>

タイトルとURLをコピーしました