standingzzz's Oracle memo

OracleSQLチューニングの豊富な経歴を生かして、主に11gと12cのオプティマイザ動作の違いなどについて、実用的な検証結果をメモしています。

Oracle12c 接続中のPDBをSQLPLUSからSQLで確認する

概要

11gまでは接続先を確認する場合、v$instance見て、show userして、
という具合で良かったのですが、12cでPDBに繋いでいる場合の
確認方法がサッと出てこなかったので、メモです。

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production
CentOS Linux release 7.3.1611 (Core) 

確認

接続先instanceを確認します。

  1  select instance_name
  2      , host_name
  3      , startup_time
  4      , status
  5*   from v$instance
SQL> /

INSTANCE_NAME        HOST_NAME              STARTUP_TIME          STATUS
-------------------- ------------------------------ ------------------------- ------------
orcl             oracle12c.test         2017/09/18 11:34:49       OPEN

接続userを確認します。

SQL> show user
USER is "TEST01"

11gまではここまでで良いのですが。

v$pdbsに問い合わせて、接続中のPDBを確認します。

  1  select DBID
  2      , NAME
  3      , OPEN_MODE
  4      , OPEN_TIME
  5*  from v$pdbs
SQL> /

      DBID NAME         OPEN_MODE  OPEN_TIME
---------- -------------------- ---------- ---------------------------------------------------------------------------
3547537298 ORCLPDB2        READ WRITE 17-10-13 17:48:53.484 +09:00

1 row selected.

接続情報を確認するだけなら、これで十分ですね。