Bronze SQL編 第1回で述べたとおり,ORACLE MASTER Bronzeを取得するためには,「1Z0-017J:Bronze SQL基礎」と「1Z0-041J:Bronze DBA10g」の両試験に合格する必要があります。Bronze SQL編 第2回からBronze SQL編 第11回までは,「1Z0-017J:Bronze SQL基礎」に向けた勉強をしてきました。今回からは,「Bronze DBA編」と題して,「1Z0-041J:Bronze DBA10g」に向けて学習しましょう。

 データベース管理者(DBA:Database Administrator)の仕事(タスク)としては,次のことが挙げられます。

・Oracleソフトウエアのインストールおよび更新
・データベースの作成
・データベースおよびソフトウエアのアップグレードの実行
・データベースの記憶域構造の管理
・ユーザーおよびセキュリティの管理
・スキーマ・オブジェクト(表,索引など)の管理
・バックアップと,必要に応じたリカバリの実行
・データベースの予防的監視と,必要に応じた予防処置
・パフォーマンスの監視およびチューニング

 「Bronze DBA10g」では,これらの仕事に関する基本的知識が問われます。今回は,インストールとデータベース作成に関するポイントを押さえておきましょう。

ソフトウエアのインストール

 「Oracle Database 10g」(以下,10g)をインストールするときには,「Oracle Universal Installer(OUI)」を使用します。OUIは,Oracle製品のインストールおよびアンインストールを行うユーティリティです。

 10gをインストールするためのハードウェア要件は次のとおりです。

・最低512MBのメモリーが使用可能であること(Linux/UNIXの場合)
・十分なページング(スワップ)領域が使用可能であること
・オペレーティング・システムの適切なサービス・パックまたはパッチがインストールされていること
・適切なファイル・システム・フォーマットが使用されていること

 Linuxの場合,インストール時にroot.shスクリプトをrootユーザーで実行する必要があります。root.shスクリプトでは次のことが行われます。

・oraenv,coraenv,dbhomeスクリプトのコピー
・/etc/oratabファイルの作成または編集

環境変数の設定

 インストール前には,次の環境変数を設定します。

ORACLE_BASE:ディレクトリ構造のベースとなるディレクトリ
ORACLE_HOME:Oracle製品をインストールするディレクトリ
ORACLE_SID:システム識別子
LD_LIBRARY_PATH:ライブラリファイルのパス(Linux/UNIXの場合のみ設定)

 同じコンピュータ上に異なるバージョンのOracleソフトウエアを稼働させる場合は,異なるディレクトリ(ORACLE_HOME)にOracleソフトウエアをインストールすることになります。こうした場合は,ORACLE_BASEの配下に複数のORACLE_HOMEを作成することになります(図1)。

図1●ORACLE_BASEとORACLE_HOME
図1●ORACLE_BASEとORACLE_HOME

 なお,複数のORACLE_HOMEやORACLE_SIDが存在する場合に,現行の環境変数を設定するためのスクリプトが,oraenv,coraenv(注1),dbhomeです。oraenv,coraenvはORACLE_SIDおよびORACLE_HOMEを設定する場合に使用し,dbhomeはORACLE_HOMEを設定する場合に使用します。

データベースの作成

 OUIを使用してインストールする際には,あわせてデータベース作成を行うことができます。

 データベースを作成するユーティリティは,「Database Configuration Assistant(DBCA)」です(図2)。DBCAは次のことを行えるユーティリティです。

・データベース作成
・データベース削除
・DBCAテンプレートの管理
・データベース・オプションの構成

図2●DBCAの画面
図2●DBCAの画面 [画像のクリックで拡大表示]

 DBCAテンプレートは,次のようなデータベース構成情報を格納するXMLファイルで,新規データベースの作成とクローンの作成に使用されます。

・データベース・オプション
・初期化パラメータ
・データベース・ファイルの記憶域属性

 データベースを作成すると必ず次のデータベース・ユーザーが作成されます(表1)。

表1●作成されるデータベース・ユーザー
データベース・ユーザー概要
SYSデータ・ディクショナリ表の所有者で,データベースの起動/停止を含むデータベース管理作業すべてを行うことができる
SYSTEMOracle製品やツールで使用される内部表やビューの所有者
SYSMANOracle Enterprise Manager」を使用してデータベース操作を実行するために使用
DBSNMPOracle Enterprise Managerのコンポーネントである「Management Agent」が,データベースを管理および監視するために使用