tech_memo / ORACLE / 12cR1


tech_memo/ORACLE

JDBC接続

  • 12cR1 or 11gR2
    jdbc:oracle:thin:@${IP}:${PORT}/${SID} 
  • 11gR2 (12cR1だとERROR)
    jdbc:oracle:thin:@${IP}:${PORT}:${SID}

Install手順

新機能

In Memory

CONTAINER DB + PLUGGABLE DB


テーブルスペース作成等

  • テーブルスペース、データファイル、ユーザ等は、コンテナDBではなく、プラガブルDBに作る
  • コンテナDBにユーザ作成しようとすると、ORA-65096が発生してERRORになる
  • コンテナDBにテーブルスペースの作成は可能。ただし、プラガブルDBからは参照できなそう。

PLUGGABLE DBの操作

  • ステータス確認
    SQL> select name,open_mode from v$pdbs;
    
    NAME                           OPEN_MODE
    ------------------------------ ----------
    PDB$SEED                       READ ONLY
    TESTPDB1                       READ WRITE
    TESTPDB2                       READ WRITE
  • 停止しているはMOUNTEDになる
    SQL> select name,open_mode from v$pdbs;
    
    NAME                           OPEN_MODE
    ------------------------------ ----------
    PDB$SEED                       READ ONLY
    TESTPDB1                       MOUNTED
    TESTPDB2                       MOUNTED
  • open
    SQL> alter pluggable database all open;
  • close
    alter pluggable database all close immediate;
    or
    alter pluggable database <PDB名> close immediate;
    

Enterprize Manager

起動

  • emctlコマンドはなくなり、プロシージャファンクションで起動するようになった
    SQL> EXEC DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
    • ただし、なぜかローカルPCおよび、gold(testserver07(DBサーバ))、silver(silver02)サーバから接続できない
  • ポート番号確認
    SQL> SELECT DBMS_XDB_CONFIG.GETHTTPSPORT() FROM DUAL;
    
    DBMS_XDB_CONFIG.GETHTTPSPORT()
    ------------------------------
                              5500
  • HTTPSでなく、HTTPでも接続する方法
    SQL> EXEC DBMS_XDB_CONFIG.SETHTTPPORT(8080)
    • HTTPの場合は、ログイン画面は表示されるが、ログイン後、セキュリティエラーのポップアップが出て、ログイン画面に戻される

ログインURL

  • https://<IP>:<PORT>/em
  • http://<IP>:<PORT>/em

silver02からk1のEMにログインできない

  • testserver07からはログインできた。
  • silver02からだとログインユーザ・パスワード入力後、「Security token does not match. You must login again... 」とダイアログが表じされてログインできない
  • 以下の権限追加で解消された
    grant EM_EXPRESS_ALL to system;
    grant EM_EXPRESS_BASIC to system;
  • ただ、21ローカルPCだと問題は解決されない。。。

SELECT DISTNCT + ORDER BY

  • 下記のように、DistinctとOrder by を同時に実行すると、ORA-01791が発生する
    select distinct job_id from job_queue order by job_id
  • 11gR2では発生しない。10gでは発生するらしい。11gR2で許容するようになって、12cでまた許容しなくなった?