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(マルチテナント・コンテナ・データベース)に接続します。
コマンドプロンプトを起動し、次のコマンドを実行してください。
sqlplus sys/sys@ORCL as sysdba
認証エラーが発生した場合は、インストール時に設定したユーザー/パスワードを確認してください。
TNSエラーが発生した場合は、サービスが起動していることを確認してください。
起動しているのにエラーが出る場合は Google さんに聞いてみてください。
PDB作成コマンドを実行
続けて次のコマンドを実行します。
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」状態となっています。
このままだと操作できませんので起動しましょう。
alter pluggable database SAMPLE open;
また、状態を確認する場合は次のコマンドを実行します。
show pdbs;
PDBに直接接続する設定をする
PDBに直接、簡単に接続するためにTNSを追加します。
デフォルトでは次の場所にTNSNAMESファイルが格納されているので、次の情報を追記。
C:\app\OracleUser\product\12.2.0\dbhome_1\network\admin\tnsnames.ora
SAMPLE = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = sample.doraxdora.co.jp) ) )
PDBの自動起動設定
PDBを自動で起動するように設定します。
PDBに sysdba として接続して次のコマンドを実行します。
sqlplus sys/sys@SAMPLE as sysdba alter pluggable database SAMPLE save state;
ユーザー権限の設定
作成した「sample_usr」の権限を設定します。
ひとまずテスト用なので全権を付与。
sqlplus sys/sys@SAMPLE as sysdba GRANT ALL PRIVILEGES TO sample_usr;
以上でPDBの作成・設定はひとまず完了です。
テーブルの作成
続いてテーブルの作成をおこないます。
PDBに接続して次のコマンドを実行。
CREATE TABLE MSTKIND ( KIND_CD CHAR(2) NOT NULL , KIND_NAME VARCHAR2(40) , PRIMARY KEY (KIND_CD) ); CREATE TABLE TBLCAT ( NO NUMBER(2) NOT NULL , NAME VARCHAR2(20) NOT NULL , SEX CHAR(3) NOT NULL , AGE NUMBER(1) DEFAULT 0 NOT NULL , KIND_CD CHAR(2) DEFAULT '00' NOT NULL , FAVORITE VARCHAR2(40) , PRIMARY KEY (NO) );
エラーが発生しなければOKです。
データ追加
続けて作成したテーブルにデータを追加します。
INSERT INTO MSTKIND VALUES ('01', 'キジトラ'); INSERT INTO MSTKIND VALUES ('02', '長毛種(不明)'); INSERT INTO MSTKIND VALUES ('03', 'ミケ(っぽい)'); INSERT INTO MSTKIND VALUES ('04', 'サビ'); INSERT INTO MSTKIND VALUES ('09', 'その他'); INSERT INTO TBLCAT VALUES('1','そら','♂','6','01','犬の人形'); INSERT INTO TBLCAT VALUES('2','りく','♂','5','02','人間'); INSERT INTO TBLCAT VALUES('3','うみ','♀','4','03','高級ウェットフード'); INSERT INTO TBLCAT VALUES('4','こうめ','♀','2','04','横取りフード');
エラーが発生しなければOKです。
データ抽出
PDBに接続して次のコマンドを実行します。
SET PAGESIZE 10000 SET LINESIZE 10000 SELECT * FROM MSTKIND; SELECT * FROM TBLCAT;
まとめ
ひとまず、今まで(11g以前)通りの感じでテーブルの操作ができました。
そのうち時間が出来たらC#やJavaなどから接続するのを試してみようと思います。
何かのお役に立てれば。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません