2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Oracle PDBについて

Last updated at Posted at 2020-11-08

##はじめに
Oracle Database12cをインストールし、スキーマ作成にはまったのでメモ。

インストールが完了した後、スキーマを作成しようとするとエラーが発生。
「ORA-65096: 共通ユーザーまたはロール名が無効です」

今までこんなことなかったのになぜだろうと調べると、
デフォルトの接続先がCDB(コンテナデータベース)になっているため
PDB(プラガブルデータベース)に接続が必要とのことでした。

##接続手順
1.ログイン
 as sysdba でログインします。

sqlplus SYSユーザ名/パスワード@ネットワークサービス名 as sysdba
.....に接続されました

2.接続先確認
 現在の接続先を確認します。

SQL>show con_name;
CON_NAME
------------------------------
CDB$ROOT

CDB$ROOTと表示されているのでCDBに接続しているということがわかります。

3.PDB確認
 PDB名を確認します。(わかる場合は飛ばします。)

SQL>select name, open_mode from v$pdbs;
NAME
------------------------------
OPEN_MODE
--------------------
PDB$SEED
READ ONLY

ORCLPDB
READ WRITE

$SEEDではない方ががPDB名となります。
そのため(この場合)ORCLPDBがPDB名だとわかります。

4.PDB起動
 PDBを起動します。

SQL> alter pluggable database ORCLPDB open;

すでに起動している場合は下記が表示されます。(表示されても問題ないです。)

alter pluggable database ORCLPDB open
*
行1でエラーが発生しました。:
ORA-65019: プラガブル・データベースORCLPDBはすでにオープンしています

5.接続先変更
 CDBからPDBに接続先を変更します。

SQL> alter session set comtainer = ORCLPDB;
セッションが変更されました。

6.接続先確認
 PDBに接続できているか確認します。

SQL> show con_name;

CON_NAME
------------------------------
ORCLPDB

PDB名が表示されていれば接続成功です。

##スキーマ作成
PDBに接続ができたらスキーマを作成します。

SQL>create user スキーマ名 identified by パスワード
ユーザが作成されました

*必要に応じて権限付与を行ってください。

##tnsnames.ora追記
作成したスキーマをPDBで接続するために下記をtnsnames.oraに追記します。

ネットワークサービス名 =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ホスト名)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = PDB名)
)
)

##ログイン
作成したスキーマでログインをします。

sqlplus スキーマ名/パスワード@ネットワークサービス名
.....接続されました
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?