前回のおさらい
こんにちは。プラチナホルダー浜辺です。
前回はPDBの自動起動をお伝えしました。
本ビジネスブログの右側の「最新の投稿」の下にある
カテゴリー > [連載]マルチテナント
から確認できます。
こちらに更新していきますので、宜しくお願いします。
PDBの作成方法
皆様、お待たせしました。
第5回目にして、ようやくPDB作成方法のご紹介です!
敢えて基本操作を先にご紹介したのは、PDB作成にあたって、CDB/PDBへの接続切替や起動停止が発生するためです。
と言うことで、上記基本操作も今回出てきますので、「基本操作を忘れた・分からない」「まだ読んでない」という方は過去回も含めて読んでいただけますと幸いです。
それでは、はじめていきたいと思います!
今回はPDBの新規作成を目的に、最もポピュラーな「シードを使用したPDBの作成」方法をご紹介します。
クローニングやプラグインの方法については、別の回にて紹介しますね。
引用元)
Oracle® Database管理者ガイド 12cリリース2 (12.2) 38 SQL*Plusを使用したPDBの作成および削除
https://docs.oracle.com/cd/E82638_01/ADMIN/creating-and-removing-pdbs-with-sql-plus.htm
PDBの作成
それでは、” SAMPLE ” というPDBを作成してみましょう!
DBCAからも作成可能ですが、今回もこれまで同様コマンドにて操作していきます。
はじめに、CDBに接続します。
[oracle@12r2db1 /]$ sqlplus / as sysdba SQL*Plus: Release 12.2.0.1.0 Production on 火 5月 22 00:46:48 2018 Copyright (c) 1982, 2016, Oracle. All rights reserved. Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production に接続されました。 SQL> show con_name CON_NAME ------------------------------ CDB$ROOT
次に、作成するPDBの元のなるシードのデータファイルの位置を確認します。
SQL> alter session set container=PDB$SEED; セッションが変更されました。 SQL> select file_name from dba_data_files; FILE_NAME -------------------------------------------------------------------------------- /u01/app/oracle/product/12.2.0.1/oradata/test122cdb/pdbseed/system01.dbf /u01/app/oracle/product/12.2.0.1/oradata/test122cdb/pdbseed/sysaux01.dbf /u01/app/oracle/product/12.2.0.1/oradata/test122cdb/pdbseed/undotbs01.dbf
Hmmm…… 結構、階層が深くなってしまってますね…
が、それは置いておいて~
再び、CDBに接続します。
SQL> conn / as sysdba 接続されました。
シードと別のフォルダに” sample “PDBのデータファイルを配置するので事前にフォルダを作成しておきます。
SQL> !mkdir /u01/app/oracle/product/12.2.0.1/oradata/test122cdb/sample
いよいよ、PDB作成です!
SQL> create pluggable database sample admin user sample_adm identified by sample_adm file_name_convert = ('/u01/app/oracle/product/12.2.0.1/oradata/test122cdb/pdbseed/', '/u01/app/oracle/product/12.2.0.1/oradata/test122cdb/sample/'); プラガブル・データベースが作成されました。
ものの数分で出来上がりました!
え!?これだけ!!!という方もいるかと思います。
この手軽に作成できるのもPDB利用の魅了の一つです。
念のため、DBファイルが作成されているか 等を確認していきたいと思います。
SQL> ! ls -l /u01/app/oracle/product/11.2.0.4/oradata/test122cdb/sample/ 合計 696408 -rw-r----- 1 oracle oinstall 346038272 5月 22 01:09 2018 sysaux01.dbf -rw-r----- 1 oracle oinstall 262152192 5月 22 01:09 2018 system01.dbf -rw-r----- 1 oracle oinstall 67117056 5月 22 01:09 2018 temp012018-02-28_14-20-42-159-PM.dbf -rw-r----- 1 oracle oinstall 104865792 5月 22 01:09 2018 undotbs01.dbf
うん、バッチリ!
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 TEST122PDB READ WRITE NO 4 TEST122PDB2 READ WRITE NO 5 SAMPLE MOUNTED
おお、PDB作成直後はMOUNT状態なのですね!
起動できるか試してみましょう。
SQL> alter pluggable database SAMPLE open; プラガブル・データベースが変更されました。 SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 TEST122PDB READ WRITE NO 4 TEST122PDB2 READ WRITE NO 5 SAMPLE READ WRITE NO
問題なく起動できましたね!
シードにはPDBの新規作成にて使用する情報が全てテンプレートとして格納されているので、シードの情報を元に新規PDBが簡単に作成できます。
なお、上記については、マルチテナントとは?でもご紹介しておりますので、宜しければ確認して下さいね。
以上で、PDB作成方法の紹介は終わりです。
いかがでしたでしょうか?
やってみると以外とマルチテナントって簡単ですよね!
次回は何をご紹介しようかなぁ…?ネ、ネタ切れ?
いつもと変わりのない締めとなりますが…
乞うご期待!!!