Oracle Database 12c Release2 でPDB、テーブルを作成する
おはようございます。
昨日に引き続き、
Oracle 12c に PDB 、テーブルを作成していきたいと思います。
インストールは昨日の記事を参考にしてください。
Oracle Database 12c Release 2 を Windows10 にインストールする
スポンサーリンク
PDBの作成
PDB(プラガブル・データベース)を作成します。
データファイル用のディレクトリを作成
PDBのデータファイルを格納するディレクトリを事前に作成します。
今回は、「SAMPLE」というPDBを作成するため、次の場所にディレクトリを作成します。
C:\app\OracleUser\oradata\orcl\sample
CDBに接続する
CDB(マルチテナント・コンテナ・データベース)に接続します。
コマンドプロンプトを起動し、次のコマンドを実行してください。
1 | sqlplus sys/sys@ORCL assysdba |
認証エラーが発生した場合は、インストール時に設定したユーザー/パスワードを確認してください。
TNSエラーが発生した場合は、サービスが起動していることを確認してください。
起動しているのにエラーが出る場合は Google さんに聞いてみてください。
PDB作成コマンドを実行
続けて次のコマンドを実行します。
1 | create pluggable database sample admin user sample_usr identified by sample_usr file_name_convert=('C:\app\OracleUser\oradata\orcl\pdbseed\', 'C:\app\OracleUser\oradata\orcl\sample\'); |
pdbseed というテンプレートを利用して、PDBを作成するコマンドです。
「プラガブル・データベースが作成されました」と表示されます。
エラーが発生する場合、データファイル用ディレクトリの有無や権限などを確認してみてください。
PDBの起動
PDBは作成後、およびCDB起動後デフォルトで「MOUTED」状態となっています。
このままだと操作できませんので起動しましょう。
1 | alter pluggable database SAMPLE open; |
また、状態を確認する場合は次のコマンドを実行します。
1 | show pdbs; |
PDBに直接接続する設定をする
PDBに直接、簡単に接続するためにTNSを追加します。
デフォルトでは次の場所にTNSNAMESファイルが格納されているので、次の情報を追記。
C:\app\OracleUser\product\12.2.0\dbhome_1\network\admin\tnsnames.ora
1 2 3 4 5 6 7 8 | SAMPLE= (DESCRIPTION= (ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)) (CONNECT_DATA= (SERVER=DEDICATED) (SERVICE_NAME=sample.doraxdora.co.jp) ) ) |
PDBの自動起動設定
PDBを自動で起動するように設定します。
PDBに sysdba として接続して次のコマンドを実行します。
1 2 | sqlplus sys/sys@SAMPLE assysdba alter pluggable database SAMPLE save state; |
ユーザー権限の設定
作成した「sample_usr」の権限を設定します。
ひとまずテスト用なので全権を付与。
1 2 | sqlplus sys/sys@SAMPLE assysdba GRANT ALL PRIVILEGES TOsample_usr; |
以上でPDBの作成・設定はひとまず完了です。
テーブルの作成
続いてテーブルの作成をおこないます。
PDBに接続して次のコマンドを実行。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | CREATETABLEMSTKIND( KIND_CDCHAR(2)NOTNULL ,KIND_NAMEVARCHAR2(40) ,PRIMARYKEY(KIND_CD) ); CREATETABLETBLCAT( NONUMBER(2)NOTNULL ,NAMEVARCHAR2(20)NOTNULL ,SEXCHAR(3)NOTNULL ,AGENUMBER(1)DEFAULT0NOTNULL ,KIND_CDCHAR(2)DEFAULT'00'NOTNULL ,FAVORITEVARCHAR2(40) ,PRIMARYKEY(NO) ); |
エラーが発生しなければOKです。
データ追加
続けて作成したテーブルにデータを追加します。
1 2 3 4 5 6 7 8 9 | INSERTINTOMSTKINDVALUES('01','キジトラ'); INSERTINTOMSTKINDVALUES('02','長毛種(不明)'); INSERTINTOMSTKINDVALUES('03','ミケ(っぽい)'); INSERTINTOMSTKINDVALUES('04','サビ'); INSERTINTOMSTKINDVALUES('09','その他'); INSERTINTOTBLCATVALUES('1','そら','♂','6','01','犬の人形'); INSERTINTOTBLCATVALUES('2','りく','♂','5','02','人間'); INSERTINTOTBLCATVALUES('3','うみ','♀','4','03','高級ウェットフード'); INSERTINTOTBLCATVALUES('4','こうめ','♀','2','04','横取りフード'); |
エラーが発生しなければOKです。
データ抽出
PDBに接続して次のコマンドを実行します。
1 2 3 4 | SET PAGESIZE10000 SET LINESIZE10000 SELECT *FROM MSTKIND; SELECT *FROM TBLCAT; |
まとめ
ひとまず、今まで(11g以前)通りの感じでテーブルの操作ができました。
そのうち時間が出来たらC#やJavaなどから接続するのを試してみようと思います。
何かのお役に立てれば。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません