Oracle12cR2をインストールしていく4/4【自宅検証用】
Oracle12cR2をインストールしていくの最後の記事です。
今回はソフトウェアのインストールが完了したサーバで、データベースを構成していきます。
せっかくなので、プラガブルデータベースも構成します。
書く事よりも作業を進めていきましょう。
それでは進めていきます。
データベース作成
まずはリスナーを構成します。
GUI上のoracleユーザで作業をしていきます。
netca
Oracle Net Configuration Assistantが起動します。
Listener Configurationを選択してNEXTで進みます。
AddのままNEXTへ行きます。
とりあえずデフォルトのLISTENERでNEXTへ行きます。
商用環境ではサービス名_listenerなどが多いですね。
次も変えた記憶がないのでTCPで行きます。
Gold試験でも全然気にしたことがありません。。。。
次はポート番号です。
セキュリティ的な要件がないので、デフォルトの1521で行きます。
これは商用環境で変更する事もあります。(11g時代に1度だけ)
最後は他にリスナーを構成するのか確認です。
NOで終了したいと思います。
「Listener configuration complete!」が表示されたらNEXTしてFINISHで完了です。
データベース作成
データベースを作成していきます。
ちなみに先ほどのリスナーですが、先に作らなくてもデータベース作成中に作る事も出来ます。
ですが、Oracle Masterの試験に出てくるのであえてnetcaを使いました。あえてね。
dbca
正常に起動すると以下の画面になります。
「Create Database」でNEXTします。
次の画面では「Advanced Mode」を選択します。
色々いじるので。
「Custom Database」を選択します。
色々いじるので。
グローバルデータベース名とSIDを入力します。
今回はSIDにしている「orcl」にします。
グローバルデータベース名は、SID+ドメイン名であるのがほとんどです。
またコンテナデータベースを構成するので、チェックを入れてPDB名に「orclpdb」と入力します。
次はEnterprise Managerになります。
12c以降では、Cloud Controlという一元管理型と、個別でのExpress(正確にはRACも見れる)に分かれています。
ここでは、Expressをポート番号5500で構成します。
次は、OracleDBで使用するシステムアカウントの設定です。
検証環境なので、下のチェックボックスを選択して全ユーザ共通にします。
次の画面では、割り当てるリスナーを選択します。
こちら事前作成済みの「LISTENER」をチェックします。
画面下部の「Create a New Listener」でも新規作成出来ます。今回はしません。あえてね。
次の画面では特に変更しません。
しかし、高速リカバリ領域は不用意にディスク容量を食うので設定する事は少ないです。
また、ASMを利用する場合はFilesystemでは設定しません。
次はデータベースのオプションです。
そもそも選択肢がないので次へ進みます。
次の画面ですが、「Oracle Database Vault」は構成しません。
管理者権限を管理するオプション製品ですが、監査レベルの高いシステムでは有効ですが検証環境では邪魔なだけです。
また、「Lavel Security」も無効にします。
次はメモリー管理の選択です。
デフォルトは「自動メモリー管理」ですが、ほとんどの現場でRDBとして構成する場合は「共有メモリー管理」にします。
理由はPGAに必要以上にメモリーを割り当てないためです。
DWHなどではキャッシュヒットが期待できないので、PGAを多く割り当てます。
次はそのまま、デフォルトで次へ行きます。
正常に設定が完了するとサマリー画面になります。
内容をチェックして問題なければ「Finish」でデータベースを作成します。
データベースの作成中です。
しばらく時間がかかるのでタバコでも吸いましょう。
…オプション製品のインストールに時間がかかり過ぎて30分ほど経過
ESXの負荷状況を見てみます。
3:50:26pm up 3:13, 445 worlds, 1 VMs, 2 vCPUs; CPU load average: 0.71, 0.76, 0.78 PCPU USED(%): 0.4 127 3.9 6.1 AVG: 34 PCPU UTIL(%): 0.7 85 3.0 5.4 AVG: 23 CORE UTIL(%): 85 8.2 AVG: 46 ID GID NAME NWLD %USED %RUN %SYS %WAIT %VMWAIT 14959 14959 Oracle12cR2_Sin 9 135.60 92.58 0.17 808.94 0.11 19254 19254 esxtop.69572 1 1.80 1.43 0.00 98.77 - 1 1 system 138 0.49 307.32 0.01 13398.61 - 10678 10678 vpxa.67403 24 0.02 0.02 0.00 2400.00 - 5612 5612 hostd.66731 31 0.02 0.02 0.00 3100.00 - 2037 2037 net-lacp.66040 3 0.01 0.01 0.00 300.00 - 19166 19166 sshd.69539 1 0.01 0.01 0.00 100.00 - 5392 5392 rhttpproxy.6669 12 0.01 0.01 0.00 1200.00 - 8 8 helper 130 0.01 0.01 0.00 12999.64 - 2389 2389 nfsgssd.66249 1 0.01 0.01 0.00 100.00 - 3542 3542 ntpd.66460 2 0.00 0.00 0.00 200.00 - 4551 4551 vmware-usbarbit 1 0.00 0.00 0.00 100.00 - 4215 4215 ioFilterVPServe 2 0.00 0.00 0.00 200.00 - 10142 10142 dcbd.67335 1 0.00 0.00 0.00 100.00 - 5184 5184 sdrsInjector.66 1 0.00 0.00 0.00 100.00 - 9 9 drivers 12 0.00 0.00 0.00 1199.99 - 3950 3950 swapobjd.66513 1 0.00 0.00 0.00 100.00 - 5757 5757 storageRM.66753 1 0.00 0.00 0.00 100.00 - 10 10 ft 4 0.00 0.00 0.00 400.00 - 11 11 vmotion 1 0.00 0.00 0.00 100.00 - 531 531 init.65771 1 0.00 0.00 0.00 100.00 - 1055 1055 vmsyslogd.65829 1 0.00 0.00 0.00 100.00 - 1063 1063 vmsyslogd.65830 3 0.00 0.00 0.00 300.00 - 1127 1127 sh.65840 1 0.00 0.00 0.00 100.00 - 1199 1199 vobd.65849 19 0.00 0.00 0.00 1900.00 - 1247 1247 sh.65873 1 0.00 0.00 0.00 100.00 - 1303 1303 vmkeventd.65880 1 0.00 0.00 0.00 100.00 - 1548 1548 vmkdevmgr.65947 1 0.00 0.00 0.00 100.00 -
時折、COREUTILが90%を超えますが常時ではありません。
ただし、Oracleのプロセスは常に上位にあります。
あぁめんどくさいw
ようやく完了しました。
正常終了しております。
データベースの作成が完了したので、次に行きたいと思います。
コンテナデータベースとプラガブルデータベース
それではOracle 12cの新機能であるコンテナデータベースとプラガブルデータベースを見ていきます。
せっかくのマルチテナントアーキテクチャなので、簡単に使ってみましょう。
oracleユーザへスイッチして、DBA権限でデータベースに接続します。
[root@oracle12c network-scripts]# su - oracle
[oracle@oracle12c ~]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on Wed Mar 21 00:52:33 2018 Copyright (c) 1982, 2014, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options SQL> SQL>
sysdba権限で接続しました。
ではコンテナデータベースを見ていきましょう。
SQL> show con_name CON_NAME ------------------------------ CDB$ROOT SQL>
ルートCDBが見えています。
次にpdbを確認します。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO SQL>
PDBの元になるのが「PDB$SEED」です。
プラガブルデータベースを作成する際はPDB$SEEDを利用します。
次はCDBの共通ユーザを作成します。
マルチテナント環境では、すべてのPDBにアクセス権を持つ「共通ユーザ」とPDB単位で有効化される「ローカル・ユーザ」があります。
今回は共有ユーザの作成と、新しいPDBを作成します。
共通ユーザは、ユーザ名の接頭辞として「C##」を付加します。
SQL> CREATE USER C##nikaido IDENTIFIED BY subaru DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp ;
次に権限を付与します。
共通ユーザはCDBでのみ作成できます。
SQL> GRANT CONNECT,RESOURCE TO C##nikaido ; Grant succeeded. SQL>
テスト用のプラガブルデータベースを作成します。
管理者ユーザに「nikaido」を作成します。
共通ユーザとは別のユーザです。
SQL> CREATE PLUGGABLE DATABASE testpdb ADMIN USER nikaido IDENTIFIED BY subaru FILE_NAME_CONVERT=( '/u01/app/oracle/oradata/orcl/pdbseed/temp01.dbf','/u01/app/oracle/oradata/orcl/testpdb/temp_testpdb.dbf', '/u01/app/oracle/oradata/orcl/pdbseed/system01.dbf','/u01/app/oracle/oradata/orcl/testpdb/system_testpdb.dbf', '/u01/app/oracle/oradata/orcl/pdbseed/sysaux01.dbf', '/u01/app/oracle/oradata/orcl/testpdb/sysaux_testpdb.dbf') Pluggable database created.
作成したPDBを確認します。
MOUNT状態なのでオープンしていきます。
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 TESTPDB MOUNTED SQL>
オープンしようとしたら起動中のようで拒否されました。
数秒待つと、Read Writeでオープンになります。
SQL> alter pluggable database TESTPDB open ; Warning: PDB altered with errors.
SQL> show pdbs CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 ORCLPDB READ WRITE NO 4 TESTPDB READ WRITE YES SQL>
作成したPDBに接続します。
Alter session文で接続先を変更します。
SQL> alter session set container=testpdb; Session altered. SQL>
CDBに戻る時も同じです。
SQL> alter session set container=CDB$ROOT ; Session altered. SQL>
今回はコンテナデータベースとプラガブルデータベースの確認までです。
共通ユーザの動きや作成などはまた次回にします。
権限付与だけしておきます。
SQL> GRANT CREATE SESSION TO C##nikaido ; Grant succeeded. SQL>
SQL> GRANT SET CONTAINER TO C##nikaido container=ALL; Grant succeeded.
ここまではVMware環境で構成しましたが、OracleVM Boxでも一緒です。
Oracle Masterの学習向けに手順を公開しております。
やはり座学よりも実機、業務で携わっていてもコンテナデータベースを使わない事が多いので、勉強するなら手を動かすことが一番ですね。