TOP>企業情報>コラム>技術情報>はじめましてOracle! Vol.2

はじめましてOracle! Vol.2

はじめましてOracle!

前回はOracle Database 11g Release2のインストール手順を解説しました。第2回目となる今回はデータベースが使えるようになるまでの初期設定手順を解説します。

(全6回連載)

Vol.2 誰でも簡単!Oracle Database 11g Release2のインストールと初期設定(初期設定編)

Oracle Databaseに必要な初期設定


前回はGUIを使ってOracle Database 11g Release2のインストールを行いました。画面の指示に沿って進んでいけば良いので、簡単にインストールできたのではないでしょうか。

インストールが完了したら、続いて初期設定を行います。インストールはあくまでもプログラムをサーバー上に展開するだけですので、データベースはまだ存在しません。そのため、データベースを作成したり、アプリケーションから接続できるよう設定を行うといった初期設定が必要になります。一見難しく感じるかもしれませんが、インストールと同様にGUIのツールが用意されていますので、初心者の方でも心配ありません。

第2回目となる今回は、Oracle Database 11g Release2の初期設定手順について解説します。

パッチを適用する


Oracle Databaseには、不具合やセキュリティを修正するためのパッチが提供されており、サポート契約を結んでいる場合はMy Oracle Supportからパッチを検索・入手することができます。Oracle Databaseのパッチにはいくつか種類があるので、適用前にそれぞれの位置づけについて抑えておきましょう。

PSR(Patch Set Release) 複数の修正を一括で提供する最も重要なパッチです。
Oracle Databaseのバージョン4桁目はPSRの識別番号です。
例えば、11.2.0.1.0 にPSRを適用すると 11.2.0.2.0になります。
PSU(Patch Set Update) 厳選された不具合の修正、セキュリティの修正が含まれます。
3ヶ月ごとに公開されます。Oracle Databaseのバージョン5桁目はPSUの識別番号です。
例えば、11.2.0.2.0 にPSUを適用すると11.2.0.2.1 になります。
CPU(Critical Patch Update) セキュリティの修正のみが含まれます。PSUと同時期に公開されます。不具合の修正が含まれていないため、通常はPSUを適用します。
個別パッチ 1つの不具合に対して特別に作成されるパッチです。
PSRやPSUに含まれていない不具合に対して作成されます。


Oracle Database 11g Release2からはベース・リリースにPSRを適用するのではなく、最初からPSRだけを使ってインストールを行うこともできます。その場合は最新のPSUだけを適用すれば問題ありません。個別パッチは複数同時に適用すると競合が発生する場合がありますので、サポートに相談のうえ適用するかを判断してください。適用手順はパッチによって異なるので今回は割愛しますが、包含されているドキュメントを参照すれば問題なく適用できるはずです。

Oracle Netリスナーを作成する


Oracle Netリスナーは、ネットワーク経由での接続要求を受け付けるためのプロセスです。データベース・サーバーとアプリケーション・サーバーが分かれている場合、Oracle Netリスナーがないとアプリケーションからデータベースに接続することができません。

Oracle NetリスナーはOracle Net Configuration Assistant(NetCA)というGUIツールを使って作成することができます。NetCAはOracleホーム・ディレクトリ以下に配置されていますので、oracleユーザで実行します。

oracleユーザで実行
$ /u01/app/oracle/product/11.2.0/dbhome_1/bin/netca


NetCAが起動したら、『リスナー構成』を選択して『次へ』をクリックします。

ようこそ

ようこそ

『追加』が選択されているのを確認し、『次へ』をクリックします。

リスナー

リスナー

リスナー名を入力し、『次へ』をクリックします。

リスナー名

リスナー名

通信プロトコルを指定し、『次へ』をクリックします。今回はデフォルトである『TCP』をそのまま使用します。

プロトコルの選択

プロトコルの選択

TCP/IPのポート番号を指定し、『次へ』をクリックします。今回はデフォルトである1521を使用します。ポート番号を指定する際は、Oracle Database以外のアプリケーションとポート番号が重複しないよう注意してください。また、ファイアーウォールなどのセキュリティ設定でポートが閉じられていないかも確認してください。

TCP/IPプロトコル

TCP/IPプロトコル

今回はリスナーを1つだけ作成するため、『いいえ』を選択して『次へ』をクリックします。

リスナーを追加しますか

リスナーを追加しますか

リスナーの構成が完了します。『次へ』をクリックします。

リスナーの構成が完了

リスナーの構成が完了

NetCAの初期画面に戻りますので、『完了』をクリックしてNetCAを終了します。

ようこそ

ようこそ

これでリスナーの作成は終了です。

データベースを作成する


データベースはDatabase Configuration Assistant(DBCA)というGUIツールを使って作成することができます。DBCAはOracleホーム・ディレクトリ以下に配置されていますので、oracleユーザで実行します。

oracleユーザで実行
$ /u01/app/oracle/product/11.2.0/dbhome_1/bin/dbca


DBCAが起動したら、『次へ』をクリックします。

ようこそ

ようこそ

『データベースの作成』を選択し、『次へ』をクリックします。

操作

操作

データベースのテンプレートを選択する画面が表示されます。予め『汎用またはトランザクション処理』と『データ・ウェアハウス』のテンプレートが用意されていますが、今回は『カスタム・データベース』を選択します。テンプレートを使用した場合と比べて入力しなければならない情報量が増えますが、細かいカスタマイズが可能になります。

データベース・テンプレート

データベース・テンプレート

『グローバル・データベース名』と『SID』を指定し、『次へ』をクリックします。

グローバル・データベース名 ネットワーク上のデータベースを一意に識別するための名前です。<データベース名(DB_NAME)>.<ドメイン名(DB_DOMAIN)>の2つで構成されます。
SID ホスト上のインスタンスを一意に識別するための名前です。通常はデータベース名と同じに設定します。

データベース識別情報

データベース識別情報

管理オプションの選択画面が表示されます。Oracle Enterprise ManagerはデータベースをWebブラウザから管理できる非常に便利なツールです。SQLをあまり知らなくても簡単に使えるので、『Enterprise Managerの構成』を選択しておくと良いでしょう。

管理オプション

管理オプション

まだ次には進まず、『自動メンテナンス・タスク』タブをクリックします。自動メンテナンス・タスクとは、決まった時間にデータベースが自動的にメンテナンス操作を実行してくれる機能です。Oracle Database 11g Release2では、3種類のメンテナンス操作が組み込まれています。

自動オプティマイザ統計収集 統計情報が古いまたは存在しないオブジェクトを対象とし、統計情報を収集します。
自動セグメント・アドバイザ セグメントの断片化を解消するための推奨事項を生成します。
自動SQLチューニング・アドバイザ 高負荷のSQL文をチューニングするための推奨事項を生成します。


今回は『自動メンテナンス・タスクの有効化』を選択して『次へ』をクリックします。

オプティマイザ統計収集を手動で行う場合やアドバイザを使用しない場合は、選択を解除しても問題ありません。

管理オプション

管理オプション

デフォルトで作成される管理用ユーザ・アカウントのパスワードを指定します。全てのユーザ・アカウントに同じパスワードを指定することもできますが、特定された場合のリスクが高まるため注意してください。今回はアカウントごとにパスワードを指定し、『次へ』をクリックします。

SYS 全ての管理操作を実行できます。
SYSTEM バックアップ・リカバリとデータベースのアップグレードを除いてSYSと同じ管理操作を実行できます。
DBSNMP データベースの監視と管理を行うOracle Enterprise Managerのエージェントによって使用されます。
SYSMAN Oracle Enterprise Managerで管理操作を実行できます。


データベース資格証明

データベース資格証明

データベース・ファイルをどこに配置するかを指定します。今回はOSのファイルシステムを使用するため、『ファイルシステム』と『テンプレートのデータベース・ファイル位置を使用』を選択して『次へ』をクリックします。

データベース・ファイルの位置

データベース・ファイルの位置

データベースのリカバリ・オプションを選択します。

フラッシュ・リカバリ領域
(高速リカバリ領域)の構成
アーカイブ・ログやRecovery Manager(RMAN)のバックアップなどのリストア・リカバリに必要なファイルを集中的に管理する領域です。
アーカイブ有効化 データベースをARCHIVELOGモードに変更し、変更履歴を保存します。


検証環境の場合は未選択でも構いませんが、本番環境の場合は『アーカイブ有効化』を選択することをお勧めします。また、アーカイブ・ログの出力先またはフラッシュ・リカバリ領域には、可能な限りデータベース・ファイルと異なるディスクを使用します。異なるディスクを使用することで、ディスク障害時にデータベース・ファイルとアーカイブ・ログがまとめて破損してしまうのを防ぎます。今回は両方のリカバリ・オプションを選択し、『次へ』をクリックします。

リカバリ構成

リカバリ構成

データベースで使用するコンポーネントを選択します。デフォルトでは全てのコンポーネントが選択されていますが、アプリケーションから指定がある場合や検証目的で使用する場合を除いて、不要なコンポーネントは選択しないようにします。不要なコンポーネントはセキュリティ・ホールの原因になる可能性があります。また、『標準データベース・コンポーネント』にも選択画面がありますので忘れずに確認してください。

データベース・コンテンツ

データベース・コンテンツ

標準データベース・コンポーネント

標準データベース・コンポーネント

今回は『Enterprise Managerリポジトリ』のみを選択し、『次へ』をクリックします。

データベース・コンテンツ

データベース・コンテンツ

データベースの初期化パラメータやキャラクタ・セットを指定する画面が表示されます。まず、『メモリー』タブでインスタンスが使用するメモリーの量を指定します。Oracle Database 11g Release1から自動メモリー管理(Automatic Memory Management)が実装されており、『メモリ―・サイズ』に指定した値の範囲内でインスタンスのメモリ領域であるSGA(System Global Area)とプロセスのメモリ領域であるPGA(Program Global Area)が自動的に調整されます。予め物理メモリーの40%が指定されていますが、データベース専用のサーバーであれば更に値を大きくしても問題ありません。

初期化パラメータ

初期化パラメータ

『サイズ指定』のタブをクリックします。ここではデータベースのブロック・サイズとプロセス数を指定します。ブロック・サイズはシステムの特性によって適切な値が異なりますが、一般的にOLTP系であれば小さいブロックサイズ、DWH系であれば大きいブロックサイズが良いと言われています。ブロック・サイズを変更するにはデータベースを再作成する必要があるため、本番環境のブロック・サイズを決定する場合には十分な検証が必要です。今回は標準の8192バイトを選択します。

プロセス数はデータベースに接続できるユーザ数と捉えることができますが、インスタンスのバックグラウンド・プロセスも含めてカウントすることに注意してください。デフォルトでは150となっていますが、バックグラウンド・プロセスを差し引くとおよそ100ユーザ程度しか接続できません。もし想定ユーザ数が分かっている場合は、値を大きく設定しておきます。

初期化パラメータ

初期化パラメータ

『キャラクタ・セット』のタブをクリックします。ここではデータベースのキャラクタ・セットと各国語キャラクタ・セット(ナショナル・キャラクタ・セット)を指定します。キャラクタ・セットの選択指針はいくつかありますが、アプリケーションとデータベースの間でキャラクタ・セットの変換が行われないように設定するのが最も重要です。今回はデフォルトのJA16EUCを使用します。各国語キャラクタ・セットはNCHAR型やNVARCHAR2型の列でのみ使用される特殊なキャラクタ・セットです。使用しない場合はデフォルトのままで問題ありません。

初期化パラメータ

初期化パラメータ

『接続モード』のタブをクリックします。Oracle Databaseには2つの接続モードがあり、ユーザからの接続を処理する際の動作が異なります。

専用サーバー・モード ユーザから接続があると、データベース側でサーバー・プロセスが1つ起動し、1:1で対応します。1:1で対応するため素早く応答を返せますが、接続に応じてプロセスが生成されるためリソースを多く消費します。バッチ処理のように負荷が高いSQLを実行する環境に適しています。
共有サーバー・モード 1つのサーバー・プロセスが複数のユーザによって共有利用されます。プロセス数が少ないのでリソースの消費を抑えられますが、サーバー・プロセスが他のユーザに使用されている場合は応答待ちが発生します。小さなトランザクションが中心の環境に適しています。


近年はハードウェアの性能が向上していることもあり、専用サーバー・モードが主流になっています。2つのモードを共存させることもできますので、検証したうえでどちらを選択するか決めるのも良いでしょう。今回は『専用サーバー・モード』を選択し、『次へ』をクリックします。

初期化パラメータ

初期化パラメータ

データベースを構成する各ファイルの情報が表示されます。

制御ファイル データファイルやオンラインREDOログ・ファイルの位置など、データベースの管理情報を格納するファイルです。
表領域 1つ以上のデータファイルをグループ化した論理単位です。
データファイル データを格納するファイルです。
REDOログ・グループ(オンラインREDOログ・ファイル) 変更履歴を格納するファイルです。変更履歴を利用したリカバリに使用されます。


最低限必要となる情報のみ入力されているので、データベースの要件に合わせて編集します。アプリケーションで使用するデータを格納するためのデータファイルを追加したり、耐障害性を高めるために制御ファイルやオンラインREDOログ・ファイルを多重化したりといった編集が必要になります。編集が完了したら『次へ』をクリックします。

データベース記憶域

データベース記憶域

最後に、データベースを作成する際のオプションを選択します。

データベースの作成 DBCAでデータベースを作成します。後からデータベースを作成したい場合や、スクリプトでコマンドラインから作成したい場合は選択を解除します。
データベース・テンプレートとして保存 これまで入力してきた情報をテンプレート化して保存します。データベースを再作成したい場合はテンプレートを呼び出して使用することができます。
データベース作成スクリプトの生成 コマンドラインからデータベースを作成するためのスクリプトを生成します。


今回は全ての項目を選択し、『完了』をクリックします。

作成オプション

作成オプション

『サマリー』が表示されます。設定内容が正しいことを確認し、『OK』をクリックします。

サマリー

サマリー

テンプレートが作成されます。『OK』をクリックします。

DBCA

DBCA

データベース作成用のスクリプトが生成されます。『OK』をクリックします。

DBCA

DBCA

データベースが作成されます。コンポーネントの数やデータファイルのサイズによりますが、デフォルト設定の場合は15分ほどで作成が完了します。

DBCA

DBCA

最後に完了画面が表示されます。『終了』をクリックしてDBCAを閉じます。

DBCA

DBCA

これでデータベースの作成は終了です。

動作確認を行う


最後の仕上げとして動作確認を行います。動作確認にはOracleホーム・ディレクトリ以下にあるプログラムをいくつか使用しますので、oracleユーザの環境変数を以下のように設定しておくと便利です。

oracleユーザで実行
$ vi $HOME/.bash_profile

export ORACLE_SID=orcl
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_ BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin
※この4行を追記する

$ source $HOME/.bash_profile


まず、データベースに接続できることを確認します。接続にはSQL*Plusを使用します。

oracleユーザで実行
$ sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on Wed Apr 11 20:16:33 2012
Copyright (c) 1982, 2009, Oracle. All rights reserved.

SQL> connect / as sysdba
Connected.


データベースの起動・停止を行います。エラーがないことを確認したら、SQL*Plusを終了します。

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2220200 bytes
Variable Size 2298482520 bytes
Database Buffers 1962934272 bytes
Redo Buffers 12144640 bytes
Database mounted.
Database opened.

SQL> exit


続いてOracle Enteprise Managerにアクセスできるかを確認します。Oracle Enterprise ManagerにはWebブラウザからアクセスしますので、まずURLを確認します。

oracleユーザで実行
$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
https://testsrv:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0/dbhome_1/testsrv_orcl/sysman/log


表示されたURLにWebブラウザからアクセスします。今回はSYSユーザでログインしますので、DBCAで設定したパスワードを入力し、接続モードをSYSDBAにしてから『ログイン』をクリックします。

ログイン画面

ログイン画面

ログインに成功すると、ホーム画面が表示されます。『一般』の『ステータス』が稼働中になっていれば問題ありません。あとは画面上部のメニューに従って一通り画面を見てみましょう。確認が終わったら『ログアウト』をクリックしてWebブラウザを閉じます。

ホーム画面

ホーム画面

仕上げはアラート・ログの確認です。アラート・ログとは、インスタンス稼働中に発生したイベントを記録するためのログファイルです。念のため、この時点でエラーメッセージが出ていないことを確認します。アラート・ログを表示する方法はいくつかありますが、今回はOSのコマンドで直接アラート・ログを参照します。

oracleユーザで実行
$ view $ORACLE_BASE/diag/rdbms/orcl/orcl/trace/alert_orcl.log


『ORA-』や『OCI-』といったエラーコードで始まるメッセージが出力されていないことを確認します。エラーがなければ初期設定は完了です。あとはアプリケーション用のデータをロードしたり、連携テストを行うステップへと進んでください。

2回にわたってOracle Database 11g Release2のインストールと初期設定手順を解説してきましたが、大半がGUIの操作だったので予想以上に簡単だったのではないでしょうか。

次回はハードウェアとソフトウェアが一体となった『Engineered Systems』の1つであるOracle Database Applianceについて解説します。


執筆者紹介

岸和田 隆

岸和田 隆(Takashi Kishiwada)

株式会社アシスト データベース技術本部

アシスト入社後、Oracle Database の研修講師、フィールド・ サポート、新バージョンの検証を経て、2007年 自社ブランド 「DODAI」の準アプライアンス製品の企画・開発、2009年 PostgreSQL、2011年 EDB Postgres、MySQL / MariaDB の事業立上を担当。 現在は「データベースのアシスト」を目指した活動を行っている。

岸和田の紹介記事はこちら



関 俊洋

関 俊洋(Toshihiro Seki)

株式会社アシスト データベース技術本部

2006年、株式会社アシスト入社。データベース・システムの構築や運用トラブルの解決といったフィールド・サポート業務を経験し、その後は新製品の検証やハードウェアとデータベースを組み合わせたソリューション(DODAI)の立ち上げに従事。現在はデータベースの価値や魅力を伝えるための執筆・講演活動を行っている。『SQL逆引き大全363の極意』共著。

関の紹介記事はこちら

連載記事一覧


Facebookで情報をお届けしています

Facebookでは、アシストの「今」を週3回のペースでお届けしています。「めげない、逃げない、あまり儲けない」を合言葉に日々頑張っておりますので、応援よろしくお願いします。



ページの先頭へ戻る