Oracleデータベースの管理ツールを使う:ORACLE MASTER Bronze DBA講座(3)
Oracleデータベースエンジニアとしての実力を証明するORACLE MASTER資格。その入り口であるBronze資格の取得は難しくない。本連載と、同時掲載中の連載「Bronze SQL基礎I 講座」で合格を目指そう!(参考記事:「Oracle 10g対応のORACLE MASTERとは?」)
前回「はじめてのOracleインストールとデータベース作成」で、Oracleソフトウェアのインストールとデータベースの作成について学びました。今回は、Oracle Enterprise ManagerやSQL*Plusを使用したデータベースの管理方法を紹介します。
Oracle Enterprise Manager Database ControlとSQL*Plusの使用
理解しておきたいこと
1. 確認しておきたい内容
- dbconsoleプロセスの起動
- Database Controlへのアクセス
- Database Controlのナビゲーション
- Database Controlへの管理権限の付与
- SQL*PlusおよびiSQL*Plusを使用したデータベースアクセス
2. Oracle Enterprise Managerの環境
Oracle Database 10gのデータベースには、Webブラウザからアクセスする管理ツール、Oracle Enterprise Managerが用意されています。Oracle Enterprise Managerでは、Grid ControlとDatabase Controlの2種類の環境を構成できます。
●Grid Control
Grid Controlを使用すると、複数のOracle環境を一元的に管理できます。管理できる対象にはデータベースだけでなく、Oracle Application Serverなども含まれます。
Grid Controlの使用には、中間層として動作するOracle Management Serverと、管理情報を格納する管理リポジトリの構成が必要です。管理される側のデータベースなどには、エージェントと呼ばれる実際の作業を行うプロセスをインストールし、起動しておくことが必要です。
●Database Control
Database Controlでは、1つのデータベースに対して1つ用意されるdbconsoleプロセスが管理を行います。
dbconsoleを起動するには次のコマンドを実行します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
起動中のdbconsoleに再度startキーワードを使用すると、再起動するかを確認するメッセージが出ますので、起動中かどうか確認できます。startの代わりにstatusキーワードを使用すれば、起動中かどうかを含め、現在の状況を確認できます。
startやstatus結果からは、Database ControlにアクセスするためのURLも確認できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
問題
問題1
Oracle Enterprise Manager Database Controlが起動しているかどうかを確認できるコマンドを2つ選択してください。
a.emctlコマンドを実行する
b.emctl secureコマンドを実行する
c.emctl start dbconsoleコマンドを実行する
d.emctl status dbconsoleコマンドを実行する
正解:c、d
解説
Database Controlは、WebブラウザからOracleサーバを管理できるツールで、Webブラウザからアクセスするためのプロセスが必要です。このプロセスはdbconsoleと呼ばれ、emctlコマンドラインユーティリティで制御できます。
基本的に、dbconsoleプロセスが起動済みかどうかを確認するには、emctl status dbconsoleコマンドを使用します(正解d)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
emctl start dbconsoleコマンドは、dbconsoleプロセスを起動するコマンドですが、プロセスが起動済みの場合は、起動済みという情報を表示します(正解c)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
emctl secureコマンドは、dbconsoleプロセスへの接続時にhttpではなくhttpsを使うように構成するコマンドです(選択肢b)。
「emctlコマンドを実行する」でも間違っているわけではありませんが、キーワードが指定されておらず不明確です(選択肢a)。このような場合は、明確なものを選択するようにしましょう。
3. Database Controlへのアクセス
dbconsoleプロセスが起動していれば、ブラウザからDatabase Controlにアクセスできます。使用するポートは、emctl start dbconsoleコマンド、またはemctl status dbconsoleコマンドで確認できます。また、$ORACLE_HOME/install/portlist.iniファイルからも確認できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
1つ目のデータベースは5500、2つ目以降は5501、5502のようにポート番号が割り当てられます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
接続すると、ログイン画面が表示されます。初期状態でアクセスできるのは、SYS、SYSTEM、SYSMANのいずれかです。SYSの場合は、SYSDBA接続モードで接続します。
問題
問題1
Oracle Enterprise Manager Database Controlがデフォルト以外のポート番号を使用しているようです。どのポート番号を使用しているかを確認するにはどのコマンドを使用したらよいですか。
a.init.oraファイルにてポート番号を確認する
b.tnsnmaes.oraファイルにてどのポートを使用しているか確認する
c.emctl status dbconsoleコマンドを使用し、結果として出力されたメッセージから確認する
d.ORACLE_EM_PORT環境変数を確認する
正解:c
解説
Database Controlが使用するポート番号は、$ORACLE_HOME/install/portlist.iniファイルにて確認します。emctlコマンドでも確認できます(正解c)。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
init.oraファイルは、テキストベースのOracleサーバの初期化パラメータファイルのことです(選択肢a)。このファイル内には、Database Controlに関する情報は格納されていません。init.oraファイルに関しては「Oracleインスタンスの管理」で解説します。
tnsnames.oraファイルは、Oracleサーバにネットワーク接続する環境を構成するためのファイルです(選択肢b)。このファイル内にも、Database Controlに関する情報は格納されていません。tnsnames.oraファイルに関しては「ネットワーク環境の構成」で解説します。
ORACLE_EM_PORTという環境変数は存在しません(選択肢d)。
問題2
ホスト名がmyhost、ドメイン名がdomainのマシンにインストールされたOracleデータベースに、デフォルトのポートを使用してEnterprise Manager Database ControlへアクセスしているURLを選択しなさい。
a.http://myhost.domain:5500
b.http://myhost.domain:1521/em
c.http://myhost.domain:5500/em
d.http://myhost.domain/em
正解:c
解説
前回、宿題とした問題です。Database Controlに接続するためのURLは「http://myhost.domain:5500/em」です(正解c)。これに関しては暗記してくださいとしかいえません。頑張って覚えておきましょう。
「/em」を忘れたり(選択肢a)、「:5500」を忘れたり(選択肢d)しないようにしてくださいね。ポート1521は、Oracleリスナーのデフォルトポートです(選択肢b)。Oracleリスナーに関しては、「ネットワーク環境の構成」で解説します。
4.Database Controlの管理者権限
Database Controlへアクセスできる管理者ユーザーは、Oracleユーザーでもあります。Database Controlの「設定(管理)」→「管理者」サブタブにて管理者とするOracleユーザーを選択することで、そのユーザー名とパスワードでDatabase Controlに接続し、任意の管理タスクが実行できるようになります(図3)。
管理者には、Database Controlからアラート(警告)を通知することができます。通知設定を行った後、一時的に通知を停止したい場合は、「ブラックアウト」という設定を行います。例えば、システムメンテナンスのためにデータベースの停止が分かっているときなどは、ブラックアウトを設定しておくことで、通知を行わせないことができます。
問題
問題1
Oracle Enterprise Manager Database Controlにて管理者ユーザーを作成しました。このユーザーの状態を選択しなさい。
a.システム権限のみが付与された状態である
b.許可されたオブジェクトに対するオブジェクト権限のみが付与された状態である
c.パスワードは期限切れとなっており、アカウントロックされている
d.Oracle Enterprise Manager Database Controlにログインすることで、任意の管理タスクを実行できる
正解:d
解説
Database Controlの管理者とは、その名のとおり、Database Controlに接続してOracleサーバを管理できるユーザーです(正解d)。管理者ユーザーもOracleユーザーですので、Database Control管理者を作成するときは、既存のOracleユーザーを使用するか、新規にOracleユーザーを作成することになります。
Database Control管理者の設定を行うことで、そのOracleユーザーにはMGMT_USERというロールとSELECT ANY DICTIONARYというシステム権限が割り当てられます。システム権限のみ(選択肢a)やオブジェクト権限(選択肢b)ではありません。また、管理者として作成されたユーザーは即時に使用可能なOracleユーザーとなります(選択肢c)。
問題2
管理者にデータベースの状態を通知することを一時的に停止する方法を選択しなさい。
a.ブラックアウト
b.シャットダウン
c.バーンアウト
d.プリファレンス
e.ストップ
正解:a
解説
Database Control関連の用語は覚えておいてください。管理者への通知機能を一時停止する機能はブラックアウトです(正解a)。
シャットダウンはデータベースを停止するときに使用される用語です(選択肢b)。プリファレンスとは「設定(環境)」のことです(選択肢d)。Database Control管理者への通知設定を行うときには、プリファレンスページを使用します。
バーンアウト、ストップという用語は、Database Controlでは使用されません(選択肢c、e)。
5.SQL*PlusとiSQL*Plus
データベースの管理には、SQL*PlusまたはiSQL*Plusというコマンドラインツールを使用することもできます。
SQL*Plusはクライアントにインストールして使用するアプリケーションで、次のように起動します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
iSQL*Plusは、iSQL*Plus Serverを使用し、クライアントからはWebブラウザ経由で接続します。事前にiSQL*Plusのリスナープロセスをサーバで起動させておく必要があります。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
Database Control同様、$ORACLE_HOME/install/portlist.iniファイルを確認すれば、iSQL*Plusのポート番号が確認できます。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
確認したポート番号を使用して、iSQL*Plusに接続します。
*** 一部省略されたコンテンツがあります。PC版でご覧ください。 ***
問題
問題1
インストールの際に、iSQL*Plusのポート番号を控えておくのを忘れました。ポート番号を確認するファイルはどれですか。
a.portlist.ini
b.lister.ora
c.tnsnames.ora
d.sqlnet.ora
e.spfile.ora
正解:a
解説
Database ControlやiSQL*Plusへの接続に使用するポート番号は、$ORACLE_HOME/install/portlist.iniで確認できます(正解a)。覚えておいてください。
lister.ora、tnsnames.ora、sqlnet.oraファイルは、Oracleサーバへのネットワーク接続構成時に使用します(選択肢b、c、d)。いずれのファイルも「ネットワーク環境の構成」で解説します。
spfile.oraは、Oracleサーバの初期化パラメータを定義するファイルです(選択肢e)。「Oracleインスタンスの管理」で解説します。
まとめ
次の内容をチェックしておきましょう。
- Database Controlを使うためのプロセス(dbconsole)の管理は、emctlコマンド(emctl start dbconsole、emctl status dbconsole)で行う
- Database ControlやiSQL*Plusへの接続ポートは、$ORACLE_HOME/install/portlist.iniファイルで確認する
- Database Controlへの接続URL(http://hostname:5500/em)
- Database Control管理者について(通知の一時停止はブラックアウトなど)
宿題
次回は、「ネットワーク環境の構成」を確認します。次の宿題を解いておいてください。
問題
クライアントからデータベースにOracle Netを使用して接続する場合の説明として正しいものを2つ選択しなさい。
a.簡易接続を使用するとローカルなファイルを使用して接続する
b.ローカルネーミングは、tnsnames.oraファイルを使用して接続する
c.ディレクトリネーミングは、LDAPサーバで管理されている情報を使用して接続する
d.ディレクトリネーミングは、tnsnames.oraファイルを使用して接続する
e.ローカルネーミングは、外部のOracle以外のサービスを使用して接続する
IT資格試験の模擬問題をWebベースで学習できる@IT自分戦略研究所の新サービス「@IT資格攻略」では、Oracle関連の資格をテーマとして取り上げています。Bronze SQL 基礎 I、Bronze DBA 10gも近日中に追加予定です。「無料お試し版」もありますので、記事と併せてご覧ください。
Copyright © ITmedia, Inc. All Rights Reserved.