本シリーズの概要と一覧はこちらからどうぞ。
最後にDatabase Configuration Assistant(DBCA)を使ってデータベースを構築していきます。
私個人の感覚としてはDBCAは昔からずっと出来の悪いツールという印象しかなく使用をあまりお勧めしません。
DBCAはデータベースの作成以外にデータベース作成スクリプトを生成する事ができますので、DBCAの使用はスクリプトの生成までにとどめて、生成されたスクリプトを自分でカスタマイズして利用するのが良いのではないかと考えています。
ただ、今回はお試しの環境なので手っ取り早くDBCAのテンプレートからデータベースを作成する事にします。
注意事項
前のエントリでOracle DatabaseをインストールしてからDBCAを起動する際には、一度oracle@contoso.local
ユーザーでログオフ・ログインしなおしてください。
再ログインしてユーザープロファイルを更新しないとデータベースのインストール時に以下の様なエラーが出てしまいます。
DBCAを使ったデータベース構築
RAC Node #1にoracle@contoso.local
ユーザーでログインします。
コマンドプロンプト(or PowerShell)を起動し、dbca
と入力しDBCAを起動します。
[要管理者権限] PS C:\Users\oracle> dbca
DBCAが起動しウィザードが表示されるので以下にスクリーンショットを貼っていきます。
データベースの作成
を選びます。
今回は
デフォルトの構成でデータベースを作成します
を選びます。
ただ、デフォルトの構成はデータベースの設定が小規模すぎますので実際の業務では拡張モード
での構築が必須になるかと思います。各設定を以下の様にして次へ進みます。
グローバル・データベース名 : GDB
記憶域のタイプ : ASM
データベース・ファイルの位置 : +DATA
高速リカバリ領域 : +DATA
データベース・キャラクタ・セット : JA16SJISTILDE
確認パスワード : 任意のパスワード(複雑さの要件あり)
コンテナデータベースとして作成 : 今回はコンテナデータベースにしてみます。PDB名は PDB とします。
- 事前検証が行われるのでしばらく待ちます。
データベース構築内容のサマリが表示されます。
終了
ボタンを押すとデータベースの構築が開始されます。今回はテンプレートからのデータベース構築なのでスクリプトの生成はできません。
- データベースの構築が開始されるので完了を待ちます。
構築が完了するとこの様な画面になるので
閉じる
を押してDBCAを終了します。SYS、SYSTEM以外のユーザーのアカウントロックを解除する場合は
パスワードの管理...
ボタンを押してロックを解除してください。
データベース構築後の確認
クラスタの状態
コマンドプロンプトを起動し、crsctl stat res -t
コマンドを打ってクラスタリソースの状態を確認してみます。
[Node #1]> crsctl stat res -t -------------------------------------------------------------------------------- Name Target State Server State details -------------------------------------------------------------------------------- Local Resources -------------------------------------------------------------------------------- ora.DATA.dg ONLINE ONLINE oraserver01 STABLE ONLINE ONLINE oraserver02 STABLE ora.LISTENER.lsnr ONLINE ONLINE oraserver01 STABLE ONLINE ONLINE oraserver02 STABLE ora.OCR.dg ONLINE ONLINE oraserver01 STABLE ONLINE ONLINE oraserver02 STABLE ora.asm ONLINE ONLINE oraserver01 Started,STABLE ONLINE ONLINE oraserver02 Started,STABLE ora.net1.network ONLINE ONLINE oraserver01 STABLE ONLINE ONLINE oraserver02 STABLE ora.ons ONLINE ONLINE oraserver01 STABLE ONLINE ONLINE oraserver02 STABLE -------------------------------------------------------------------------------- Cluster Resources -------------------------------------------------------------------------------- ora.LISTENER_SCAN1.lsnr 1 ONLINE ONLINE oraserver02 STABLE ora.LISTENER_SCAN2.lsnr 1 ONLINE ONLINE oraserver01 STABLE ora.LISTENER_SCAN3.lsnr 1 ONLINE ONLINE oraserver01 STABLE ora.MGMTLSNR 1 ONLINE ONLINE oraserver01 192.168.35.31,STABLE ora.cvu 1 ONLINE ONLINE oraserver01 STABLE ora.gdb.db 1 ONLINE ONLINE oraserver01 Open,STABLE 2 ONLINE ONLINE oraserver02 Open,STABLE ora.mgmtdb 1 ONLINE ONLINE oraserver01 Open,STABLE ora.oc4j 1 ONLINE ONLINE oraserver01 STABLE ora.oraserver01.vip 1 ONLINE ONLINE oraserver01 STABLE ora.oraserver02.vip 1 ONLINE ONLINE oraserver02 STABLE ora.scan1.vip 1 ONLINE ONLINE oraserver02 STABLE ora.scan2.vip 1 ONLINE ONLINE oraserver01 STABLE ora.scan3.vip 1 ONLINE ONLINE oraserver01 STABLE --------------------------------------------------------------------------------
これまでのリソースに加えてデータベースリソースora.gdb.db
が各ノードで稼働していることがわかります。
データベースへ接続
データベースインスタンスに接続して最低限の情報を確認してみます。
[Node #1]> sqlplus / as sysdba SQL*Plus: Release 12.1.0.2.0 Production on 木 9月 17 15:51:07 2015 Copyright (c) 1982, 2014, Oracle. All rights reserved. Oracle Database 12c Standard Edition Release 12.1.0.2.0 - 64bit Production With the Real Application Clusters and Automatic Storage Management options に接続されました。
Oracle Database 12.1.0.2.0のSE2 RACになっていることがわかります。
SQL> select instance_name from v$instance; INSTANCE_NAME ---------------- gdb1
インスタンス名はNode #1なのでgdb1
になっています。
SQL> select name, open_mode from v$pdbs; NAME OPEN_MODE ------------------------------ ---------- PDB$SEED READ ONLY PDB READ WRITE
Pluggable DatabasePDB
もちゃんと作られています。
Enterprise Manager Expressへの接続(HTTPS)
https://oracluster.contoso.local:5500/em
へアクセスするとEnterprise Manager Express(EM Express)に接続できるはずなのですが、今回の場合は謎なエラーとなり接続できませんでした。
(図は調査中のものでhttp://oraserver01.contoso.local:5500/em
に接続を試みたものになりますが結果は同様です)
一応ブラウザの設定でTLS 1.0-1.2は有効であるにも関わらずこのエラーとなってしまい、また、Document ID 1608258.1の不具合を疑い証明書の再生成などを試みたのですが原因を特定することはできませんでした。
以前にRACを構築した際はこの様なエラーは発生しなかったので今回の環境に固有の問題だとは思います。
2015/09/28追記 HTTPS接続エラーの対処方法
---- 追記開始 ----
このHTTTPS接続のエラーについて、原因と対処方法がわかったので追記しておきます。
EM ExpressではSSL証明書を$ORACLE_BASE\admin\<db_name>\xdb_wallet
フォルダ(今回の場合はD:\app\oracle\admin\GDB\xdb_wallet
)に格納します。
ここにあるファイルのアクセス権を見るとsystem
とorahome@contoso.local
にのみアクセス権が与えられた状態になっており、
以下の様にローカルマシンのORA_GRID_LISTENERS
にフルコントロール
を与えてやるとHTTPS接続できる様になりました。
以前にRAC環境との差分をチェックしてこの様な設定をしたのですがこれが本当に正しいやり方かまでは突き止めれませんでした。
この件はOracle Databaseのリリースノートに"5.11 Oracle Enterprise Manager Database ExpressのURLの問題"として記載されいました。
とりあえず動かす分にはこの対応で十分だとは思います。
詳細な対応方法はリンク先をみてください。
---- 追記終了 ----
Enterprise Manager Expressへの接続(HTTP)
そこで以下の様にしてHTTP接続でEM Expressに接続できる様に設定を変えたところ、HTTP接続ではうまく接続することができました。
[Node #1]> sqlplus / as sysdba SQL> exec dbms_xdb_config.sethttpport(8080);
最後が微妙に締まらない感じになってしまいましたが、お試しの環境構築なのでこれで良しとしておきます。
補足
これも今回の環境に固有の問題だとは思うのですが、データベースを構築してしばらく運用してみるとPluggable Database PDB
の調子が微妙に悪く断続的にデータベースに接続できなくなる現象が発生しました。
データベースを非コンテナデータベースで再作成してみたところ問題は起きなくなったため、とりあえず運用も含めて今回の環境を試したい場合は非コンテナデータベースにしておいた方が良いかもしれません。