とある企業が主催するハンズオンセミナーに行ってきました。
とても勉強になりましたので、概要とコマンドの一部をメモとして残します。
マルチテナントとは
・今後のスタンダード
・12cの目玉として登場したオプション機能
・CDBではない従来型のデータベースは非推奨(12cR1)
・データベースの中に仮想的なデータベースを構築できる機能
テナント構成の物理構造
・オンライン、REDOログ、アーカイブ・ログ、制御ファイルをPDBで共有
プロビジョニングの仕組みの理解と活用イメージ
・Unplug/plug :カット&ペーストの感覚でPDBを移動
・クローン:コピー&ペーストの感覚でPDBを複製
・ホットクローン:ソースPDBを稼働させたままPDBを複製
リフレッシュ(PDBを最新同期)
・PDB再配置:アプリケーションを止めずに別のCDBに移動
リソース制御はCDB、PDBの順に検討する
・CDBに割り当てたリソースの中でPDBが動画
1、CDBで利用するCPU、メモリを設定
2、CDBに割り当てたリソースの中でPDBで利用するCPU、メモリを設定
コマンド
マルチテナント接続先確認から起動・停止までの手順を記載します。
◇接続先を確認
CDBに接続していることがわかる
$SQL>show con_name
CON_NAME
CDB$ROOT
◇PDBに接続
sqlplus sys/PW @pdb1 as sysdba
$SQL>show con_nameCON_NAME
PDB1
◇CDB$ROOTに移動する
$SQL
alter session set container = CDB$ROOT;
セッションが変更されました。
$SQL>show con_nameCON_NAME
CDB$ROOT
◇PDBの情報を表示
$SQL>show pdbs
CON_IN CON_NAME OPEN MODE RESTERICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
◇マルチテナント起動・停止
データベース再起動前にPDBの状態を確認
$SQL>show pdbs
CON_IN CON_NAME OPEN MODE RESTERICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
CDB停止
shutdown immediate
データベースがクローズされました。
データベースがディスマウントされました。
CDB起動
startup
ORACLEインスタンスが起動しました。データベースがマウントされました。
データベースがオープンされました。
PDBの状態確認
$SQL>show pdbs
CON_IN CON_NAME OPEN MODE RESTERICTED
2 PDB$SEED READ ONLY NO
3 PDB1 MOUNTED
『MOUNTED』なのでALTER文でOPENする必要があります。alter pluggable database pdb1 open;
プラガブル・データベースが変更されました。$SQL>show pdbs
CON_IN CON_NAME OPEN MODE RESTERICTED
2 PDB$SEED READ ONLY NO
3 PDB1 READ WRITE NO
個人的な感想
マルチテナントは今後のスタンダードになるようです。
ハード部分が変わりますし、新しいV$表も増えるのですが
便利なショートカットもありますし、概念を理解できれば手軽に使いこなせそうだと感じました。
PDB毎に簡単に複製できたり、PDB毎にCPU・メモリ管理できるのはいいですね。
これをきっかけに12cの他の昨日も学んでいきたいと思います。