Oracle Database 19cでプラガブル・データベース(PDB)を新規作成して接続できるようにするまでの方法を知りたい方へ
Oracle Databaseのマルチテナント・コンテナ・データベース(CDB)の上に、
プラガブル・データベース(PDB)を新規をしたい、作成したプラガブル・データベース(PDB)に接続できるようにしたい、と考えていませんか?
あと、オラクルデータベースの勉強ができるおススメの勉強法があれば知りたい、と考えていませんか?
Oracle 19c でPDBを新規作成する手順(SQLコマンド)を解説します
本記事では、下記の内容を解説します。
- Oracle 19c でプラガブル・データベース(PDB)を新規作成する手順【SQLコマンド】
- プラガブル・データベース(PDB)に接続できるようにするためにtnsnames.oraを編集する手順
- オラクルデータベースのおススメの勉強法の紹介
この記事を書いている私は、某SIerに勤務しながら、WEB系エンジニア・インフラエンジニアに憧れて、プログラミングおよびインフラ技術の勉強をしています。
私が実機で試したコマンドや画像を載せて書いています。
実際にこの記事に書いた方法で、
Oracle Linux8.1上にインストールしたOracle Database 19cのコンテナデータベース上に新規のプラガブル・データベースを作成して、SQL*PlusやOsqlEditから接続できるようになりました(30分もかからず)ので、
記事の信頼性担保に繋がると思います。
- Oracle Database 19cでプラガブル・データベース(PDB)を新規作成して接続できるようにするまでの方法を知りたい方へ
- Oracle19cにプラガブル・データベース(PDB)を新規作成する手順
- 新規作成したプラガブル・データベース(PDB)に接続できるようにする手順
- オラクルデータベースのおススメの勉強法の紹介
Oracle19cにプラガブル・データベース(PDB)を新規作成する手順
CDBルートに接続
OS認証でOracleへ接続
sqlplus / as sysdba
[oracle@SV-PLUTO ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on 土 1月 25 11:35:23 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 に接続されました。
接続先がCDBルートであることを確認
show con_name
SQL> show con_name
CON_NAME
------------------------------
CDB$ROOT
現在のPDBを確認
show pdbs
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB1 READ WRITE NO
プラガブル・データベース(PDB)の作成
CREATE PLUGGABLE DATABASE
CREATE PLUGGABLE DATABASE <新規作成するPDB名(8文字以下)> ADMIN USER <ユーザー名> IDENTIFIED BY <パスワード>
FILE_NAME_CONVERT = ('/opt/oracle/oradata/ORCLCDB/pdbseed/', '/opt/oracle/oradata/<新規作成するPDB名>/')
今回作成したPDBの情報
SQL> CREATE PLUGGABLE DATABASE FINDTPDB ADMIN USER findtadm IDENTIFIED BY ●●●●●●●●● FILE_NAME_CONVERT = ('/opt/oracle/oradata/ORCLCDB/pdbseed/', '/opt/oracle/oradata/findtpdb/'); プラガブル・データベースが作成されました。
作成されたPDBを確認します。(作成した直後は「MOUTED」状態になっています)
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB1 READ WRITE NO 5 FINDTPDB MOUNTED
ディレクトリが作成されて、データファイルが作られました。
「CREATE PLUGGABLE DATABASE ~」のコマンド1発で簡単にプラガブル・データベースが作成できました。
プラガブル・データベース(PDB)のオープン・自動起動の設定
プラガブル・データベースのオープン
alter pluggable database <PDB名> open;
SQL> alter pluggable database findtpdb open; プラガブル・データベースが変更されました。
状態が「MOUNTED」から「READ WRITE」に変わりました
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB1 READ WRITE NO 5 FINDTPDB READ WRITE NO
プラガブル・データベースの自動起動の設定
alter pluggable database <PDB名> save state;
SQL> alter pluggable database findtpdb save state; プラガブル・データベースが変更されました。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB1 READ WRITE NO 5 FINDTPDB READ WRITE NO
新規作成したプラガブル・データベース(PDB)に接続できるようにする手順
OS認証でまずCDBに接続して、alter session set container = ~
でPDBに接続することができます。
sqlplus / as sysdba
alter session set container = findtpdb;
[oracle@SV-PLUTO ~]$ sqlplus / as sysdba SQL*Plus: Release 19.0.0.0.0 - Production on 土 1月 25 12:05:15 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 に接続されました。
SQL> alter session set container = findtpdb; セッションが変更されました。 SQL> show con_name CON_NAME ------------------------------ FINDTPDB
直接、PDB用のユーザーでSQL*Plusで最初からPDBに接続できるようにしたいので、tnsnames.ora
を編集します。
Linuxサーバ上のtnsnames.oraを編集して、SQL*Plusで接続できるようにする
vi /opt/oracle/product/19c/dbhome_1/network/admin/tnsnames.ora
16 FINDTPDB = 17 (DESCRIPTION = 18 (ADDRESS = (PROTOCOL = TCP)(HOST = SV-PLUTO)(PORT = 1521)) 19 (CONNECT_DATA = 20 (SERVER = DEDICATED) 21 (SERVICE_NAME = FINDTPDB) 22 ) 23 )
PDB用のユーザー名とパスワードでSQL*Plusで接続してみます。
[oracle@SV-PLUTO admin]$ sqlplus findtadm/●●●●●●●●●@findtpdb SQL*Plus: Release 19.0.0.0.0 - Production on 土 1月 25 12:12:45 2020 Version 19.3.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 に接続されました。 SQL> show con_name CON_NAME ------------------------------ FINDTPDB
Windows端末上のtnsnames.oraを編集して、OsqlEditから接続できるようにする
WindowsパソコンのOracle Instant Clientのフォルダにあるtnsnames.ora
ファイルをエディタで開いて編集します。
FINDTPDB = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = SV-PLUTO)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = FINDTPDB) ) )
SQL*Plusで接続できるようになった。
C:\WINDOWS\system32>sqlplus findtadm/●●●●●●●●●@findtpdb SQL*Plus: Release 19.0.0.0.0 - Production on 土 1月 25 13:23:35 2020 Version 19.5.0.0.0 Copyright (c) 1982, 2019, Oracle. All rights reserved. 最終正常ログイン時間: 土 1月 25 2020 12:18:56 +09:00 Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production Version 19.3.0.0.0 に接続されました。 SQL> show user ユーザーは"FINDTADM"です。 SQL>
OsqlEditでも接続できるようになりました。
参考にしたサイト
【Oracle】プラガブル・データベース(PDB)を作成する:DBAlone
Oracle DB 12c PDBへの接続:Slowly But Surely(アプリやインフラなど気になる技術/話題の技術について)
オラクルデータベースのおススメの勉強法の紹介
私は、某SIerに勤務しながら、入社以来10年以上、オラクルデータベースを使用したシステムに関わる仕事をしています。
オラクルデータベースについて、仕事場以外でも勉強をしたい、おススメの勉強法を知りたい、と考えている方のために、
①おすすめの書籍と、②おすすめのオンライン学習サイト、
を紹介します。
働きながら勉強するための、おススメの書籍とオンラインで学習できるサイトの紹介です
オラクルデータベースの勉強ができるおススメ書籍
朝の通勤時や帰宅時の電車の中や、社外打合せへの移動中などに勉強するなら、やはり書籍が一番だと思います。
Oracleの基本 ~データベース入門から設計/運用の初歩まで
技術エキスパートとして認定されたOracle ACEの渡部亮太さんの書かれた本です。
https://twitter.com/wrcsus4twitter.com
本書では、Oracle初心者/新人エンジニアが押さえておくべき知識とスキルを、現場で活躍するOracleエンジニアたちが、わかりやすく丁寧に解説。
Oracleの使い方はもちろん、データベースの基礎知識から、データ操作のためのSQL、テーブル設計、データベース運用/管理の基礎までしっかり押さえ、実務で使える入門スキルを身につけられます。
Oracleを学びたいすべての人に最適な入門書です。
Oracleの基本 ~データベース入門から設計/運用の初歩まで |
プロとしてのOracleアーキテクチャ入門【第2版】
もう1冊、こちらもOracle ACEの渡部亮太さんの書かれた本です。
本書は、Oracle Databaseのアーキテクチャ(内部構成)について解説した入門書です。 本書の内容を理解することで「Oracleの動作の仕組み」を本質的に理解することができます。 これからOracleを使用する初心者の方から、実際にシステムの開発や運用管理を行っている DBエンジニアやシステムエンジニアの方を対象としています。
プロとしてのOracleアーキテクチャ入門【第2版】(12c、11g、10g 対応) 図解と実例解説で学ぶ、データベースの仕組み (Oracle現場主義) |
オラクルデータベースの勉強ができるオンライン学習サイト
iStudy
オラクルのeラーニングサイトといえば、「iStudy」です。
オラクル関連のいろいろなコースが用意されています。