Oracleデータベース構造の基本ORACLE MASTER Bronze DBA講座(1)

Oracleデータベースエンジニアとしての実力を証明するORACLE MASTER資格。その入り口であるBronze資格の取得は難しくない。本連載と、同時掲載中の連載「Bronze SQL基礎I 講座」で合格を目指そう!

» 2005年05月20日 00時00分 公開
[有限会社 G.F.インフィニティ (Project - ∞)]

 「ORACLE MASTER Bronze Oracle Database 10g」(以下Bronze)は、ORACLE MASTERの最も入門的な資格です。この資格の目的は、「SQL言語によってデータの操作や基本的なオブジェクトが作成でき、かつOracleDatabase 10gをデータベース管理者の指導の下で管理操作が可能な知識を持つ技術者を認定する」ことにあります(参考記事:「Oracle10g対応のORACLE MASTERとは?」)。

 Bronzeを取得するには、2つの試験に合格する必要があります。

 今回より12回で構成される本連載で、1つ目の試験「Bronze DBA 10g」の合格に必要な知識を身に付けましょう。同時に、2つ目の試験「Bronze

SQL基礎I」合格のための連載「BronzeSQL基礎I 講座」も開始しますので、併せて読むことにより、Bronze資格の取得に役立ちます。

 「Bronze DBA10g」試験の問題数、合格点と範囲は次のとおりです(☆の数は出題数を5段階で表したもの)。

問題数 41問
合格点 22点(54%)
試験時間 60分

 

データベース管理の概要
Oracleソフトウェアのインストールとデータベース作成 ☆☆☆☆
Oracle Enterprise Manager Database ControlとSQL*Plusの使用 ☆☆☆
ネットワーク環境の構成 ☆☆☆
Oracleインスタンスの管理 ☆☆☆☆☆
データベース記憶域の管理 ☆☆☆
ユーザーとセキュリティの管理 ☆☆☆☆☆
スキーマ・オブジェクトの管理 ☆☆☆☆☆
バックアップ/リカバリの実行 ☆☆☆☆☆
データベースの監視とアドバイザの使用 ☆☆☆☆

 2005年3月16日からは問題数と試験時間が変更されました。以前は90分で60問でしたが、60分で41問になりました。以前は75%だった合格点が54%に下がったことで、合格しやすくなったと思われます。しかし、問題数が少なくなった分、各設問にいかに正解していくかが重要です。また、入門的な資格とはいえ広範囲にわたる知識が求められます。基本的な事項を幅広く理解していくようにしましょう。(*2005年9月、合格点が変更されました)

 では、Bronze DBA10gの範囲に沿って、各種問題を解きながら解説していきます。

データベース管理の概要

理解しておきたいこと

1. 確認しておきたい内容

  • リレーショナルデータベース(Relational Database)の構造について
  • データベース管理者の一般的なタスク
  • データベース管理用のツール

2. リレーショナルデータベースについて

 リレーショナルデータベースは、2次元の表形式でデータ集合を表すデータベースです。リレーショナルデータベースで使用される用語には次のものがあります。

表の中で管理するデータの特徴を表現。特定のデータ型を持つ。リレーショナル用語では「属性」と呼ぶ。
列の集合。リレーショナル用語では「タプル」と呼ぶ。
フィールド 列と行が交差した場所のこと。1つのフィールドに1つのデータが格納される。
NULL NULL(ヌル、またはナル)値とは、値の存在しない状態のこと。
主キー 表に1つだけ用意するキーで、行の識別に使用する。そのため、1つの列、または複数の列で構成された主キーには、各行で一意な値が必ず存在する必要がある。
外部キー ほかの表や同じ表を関連付けるために使用する1つの列、または複数の列で構成されるキー。参照する列は「参照キー」と呼ばれ、参照キーに存在する値が外部キー列に格納される必要がある。

問題

問題1

次の資料を確認してください。

上記の(1)〜(4)に関する説明として正しいものを選択しなさい。

a.(1)は外部キーである
b.(1)は主キーである
c.(2)は行である
d.(2)は列である
e.(3)は列である
f.(3)はフィールドである
g.(4)は列である
h.(4)は行である

正解:b、d、f、h

解説

 リレーショナルデータベースは、リレーショナルモデルの仕様に従ったデータベースです。リレーショナルモデルとしての用語は正しく覚えておきましょう。

 リレーショナルモデルでは、データは表に格納され、表は、列と行で構成されます。縦の表現は列、横の表現は行です。この問題では、横の表現は(4)だけですから、これが「行」です(正解h)。

 縦の表現は、(1)と(2)ですが、これらはいずれも列です。このうち行を識別するために一意な値が必ず格納される列を用意し、これを「主キー」とします。問題では、一意で必ず値が格納されているのは(1)ですから、これが「主キー」です(正解b)。残る(2)は単純に「列」となります(正解d)。

 問題では出題していませんが、列の中で、ほかの表との関連付けのために使用される列は「外部キー」と呼ばれます。

 行と列が交差したところに値が格納され、これを「フィールド」と呼びます(正解f)。フィールドに値が格納されない可能性もあります。値が格納されていない場合、その値を「NULL値」と呼びます。

問題2

リレーショナルデータモデルに関する説明として正しいものを3つ選択しなさい。

a. 複数の表はデータで関連付けられる
b. データの記憶域やトランザクションを管理する
c. 数学の集合理論で表現される
d. 表は列と行で表現される

正解:a、c、d

解説

 リレーショナルモデルは、2次元の表形式でデータを格納し、表は列と行で構成されます(正解d)。表はほかの表と関連付けることができ、関連付けは、表に外部キーを設けて外部キー列のデータを使用します(正解a)。

 リレーショナルモデルとなる表(リレーションと呼ぶ)は、数学の集合理論で表現したものです(正解c)。数学の集合理論の「和」「差」「商」「積」といったもので扱いたいデータの中から、表として表現するデータを抽出します。

 残った「b. データの記憶域やトランザクションを管理する」は、リレーショナルデータベース管理システム(Relational Database Management System:RDBMS)の特徴です。

 RDB(リレーショナルデータベース)とRDBMSの違いについては、正しく理解しておくようにしましょう。

3. データベース管理者の仕事

 データベース管理者(Database Administrator:DBA)の仕事は多岐にわたります。

  • Oracleソフトウェアのインストールやパッチの適用
  • データベースの作成
  • データベースやOracleソフトウェアのアップグレード
  • Oracleインスタンスの起動と停止
  • データベースの記憶域構造の管理
  • ユーザーの管理やセキュリティ管理
  • スキーマ・オブジェクトの管理
  • 定期的なバックアップの実行と必要に応じたリカバリの実行
  • データベースの監視と修正
  • パフォーマンスの監視とチューニング

 大規模なシステムの場合は、すべての作業を1人で行うことは難しいので、複数のDBAがそれぞれ分担して管理します。

4. データベース管理に使用するツール

 Oracleデータベースの管理には、Oracleソフトウェアとして付属する各種ツールを使用することができます。

Oracle Universal Installer(OUI) Oracleソフトウェアのインストールやアップグレード、削除に使用するGUIツール
Database Configuration Assistant(DBCA) データベースの作成や構成変更、削除に使用するGUIツール
Database Upgrade Assistant(DBUA) 既存データベースのアップグレードに使用するGUIツール
Oracle Net Manager Oracle Net(データベースにネットワーク接続するときのミドルウェア)を構成するためのGUIツール
Oracle Enterprise Manager ブラウザを使用したOracle環境を管理するためのツール。次の2種類がある
Database Control 1つのデータベースに1つ用意されるdbconsoleプロセスにて管理される
Grid Control 中間層サーバにOracle Management Server(OMS)プロセスとOEMリポジトリ(管理用データベース)を用意し、複数のOracleデータベースやOracle Application Serverを管理する
SQL*PlusとiSQL*Plus データベースを操作するためのコマンドラインツール
SQL*Plus クライアント側にインストールして使用するコマンドラインツール。Oracle Netを構成することで、ネットワーク接続によるリモートのデータベース管理も可能
iSQL*Plus 中間層としてiSQL*Plus Serverを起動し、クライアントからはブラウザを使用して操作できるコマンドラインツール。中間層のOracle Net構成によってネットワーク接続によるリモートのデータベース管理も可能
Recovery Manager(RMAN) バックアップとリカバリを行うツール。コマンドラインツール(rman)を直接使用することもできるし、Enterprise Managerから操作することもできる
Data Pump 1つのデータベース内の各種定義(データを含む)を高速にエクスポートしたり、インポートするために使用するツール。コマンドラインツール(expdp、impdp)を直接使用することもできるし、Enterprise Managerから操作することもできる
SQL*Loader 外部ファイル(CSVファイルなど)からOracleデータベースにデータをロードするために使用するツール。コマンドラインツール(sqlldr)を直接使用することもできるし、Enterprise Managerから操作することもできる

問題

問題1

Oracleツールと説明の組み合わせとして正しいものを3つ選択しなさい。

a. Oracle Net Manager:リスナーの構成が行える
b. Database Upgrade Assistant:データベースのバックアップ/リカバリを実行する
c. Oracle Universal Installer:Oracleソフトウェアのインストールや削除などを行う
d. SQL*Loader:テキストファイルのデータを表にロードする
e. Database Configuration Assistant:Oracleデータベースユーザーの作成

正解:a、c、d

解説

 Oracleツールは、名前からその役割が予想できるツールが多いのですが、それぞれのツールで行える管理内容は理解しておきましょう。

 「Oracle Net Manager」は、Oracle Netを構成するツールです。サーバ側とクライアント側の両方を調整でき、サーバ側の調整では、リスナープロセスというクライアント側からの接続を受け止めるプロセスを調整します(正解a)。Oracle Netに関しては、後日紹介する「ネットワーク環境の構成」の回で解説します。

 「Oracle Universal Installer(OUI)」は、Oracleソフトウェアのインストールや削除、パッチの適用などに使用するツールです(正解c)。OUIを使用したインストールに関しては、次回紹介する「Oracleソフトウェアのインストールとデータベース作成」の回で解説します。

 「SQL*Loader」は、CSV形式などのテキストファイルを読み込み、データベース内の表に行としてロードするためのツールです。大量なデータの一括ロード時などに使用されます(正解d)。SQL*Loaderに関しては、後日紹介する「スキーマ・オブジェクトの管理」の回で解説します。

 「Database Upgrade Assistant」は、データベースのバックアップ/リカバリを行うのではなく、データベースのアップグレード(Oracle9iからOracle Database 10gへのアップグレードなど)に使用されるツールです。データベースのバックアップ/リカバリに使用されるツールは「Recovery Manager(RMAN)」です。RMANに関しては、後日紹介する「バックアップ/リカバリの実行」の回で解説します。

 「Database Configuration Assistant(DBCA)」は、新規にデータベースを作成したり、既存データベースを変更・削除したりするために使用するツールです。新規データベースを作成するときに、サンプルデータを作成するように設定すればOracleユーザーも作成しますが、指定してOracleユーザーを作成するということはできません。新規にOracleユーザーを作成したり、既存のOracleユーザーを管理するには、「Enterprise Manager Database Control」などを使用します。DBCAに関しては、後の回で紹介する「データベースの作成」にて紹介します。Enterprise Manager Database Controlに関しては「Oracle Enterprise Manager Database ControlとSQL*Plusの使用」の回で解説します。

まとめ

 次の内容をチェックしておきましょう。

  • リレーショナルモデルで使用される用語
  • リレーショナルモデルで使用される理論
  • Oracleツールとその説明

宿題

 次回は、「Oracleソフトウェアのインストールとデータベース作成」を確認します。次の宿題を解いておいてください。

問題

Oracleの環境変数と説明の組み合わせとして正しいものを2つ選択しなさい。

a. ORACLE_BASE:Optimal Flexible Architectureに基づくディレクトリ構造のルートディレクトリを指定
b. ORACLE_BASE:Oracleホームとなるディレクトリの指定
c. ORACLE_SID:Oracleインスタンス名
d. ORACLE_SID:グローバルデータベース名
e. ORACLE_HOME:OSユーザーoracleのホームディレクトリ
f. ORACLE_HOME:oraInventoryディレクトリの場所

IT資格試験の模擬問題をWebベースで学習できる@IT自分戦略研究所の新サービス「@IT資格攻略」では、Oracle関連の資格をテーマとして取り上げています。Bronze SQL 基礎 I、Bronze DBA 10gも近日中に追加予定です。「無料お試し版」もありますので、記事と併せてご覧ください。



Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。