Oracle 12c 初期設定メモ

概要

Oracle 12c ではPDB(プラガブル・データベース)がちょっとややこしいので行ったことメモに残しておきます。

1.PDBを起動

sqlplus / as sysdba

PDBを起動するためにsysadminで接続し、下記のSQLを実行します。
SQL> alter pluggable database pdb open;

PDBを停止する場合は、下記のSQLを実行します。
SQL> alter pluggable database pdb close immediate;

2.PDBへ接続するために「tnsnames.ora」を編集

C:\app\oracle\product\12.1.0\dbhome_1\NETWORK\ADMIN\tnsnames.ora

ORCLPDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = WinPro)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = pdb)
    )
  )

ORCLCDB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = WinPro)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

3.SQLPLUSからPDBの自動起動設定

○現在の接続先を確認する
SQL> show con_name

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

○PDB確認
SQL> show pdbs
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 PDB                            READ WRITE NO

○自動起動となるように設定
SQL> alter pluggable database all save state;
プラガブル・データベースが変更されました。

4.SQLPLUSからPDBへ接続

○接続先を変更する
SQL> alter session set container = pdb;
セッションが変更されました。

○現在の接続先を確認する
SQL> show con_name
CON_NAME
------------------------------
PDB

○ログインユーザーのテーブル一覧を取得する
SQL> SELECT * FROM  USER_TABLES ORDER BY TABLE_NAME;

○ログインユーザーがアクセスできるすべてのテーブル一覧を取得する
SQL> SELECT * FROM  ALL_TABLES ORDER BY OWNER,TABLE_NAME;

○データベース内のすべてのテーブル一覧を取得する
SQL> SELECT * FROM  DBA_TABLES ORDER BY OWNER,TABLE_NAME;

○指定した表領域にあるテーブル一覧を取得する
SQL> SELECT TABLE_NAME FROM  * WHERE  TABLESPACE_NAME = ‘<表領域名>’ ORDER BY TABLE_NAME;
タイトルとURLをコピーしました