←ホームへ戻る




問1 ..................................................................................................

REDOログファイルのI/Oに関するパフォーマンスの問題があることを示す
待機イベントとして正しいものを選びなさい。

a.log file io wait
b.log file write wait
c.redo log file write wait
d.log file parallel write
e.redo log file parallel write
      

→回答と解説



問2 ..................................................................................................


以下の DDLにより作成される索引のタイプを1つ選びなさい。

CREATE INDEX HR.EMPL_LAST_NAME_IDX ON HR.EMPLOYEE (UPPER(LAST_NAME));

a.Bツリー
b.逆キー
c.ビットマップ
d.関数ベース
e.索引構成表
      

→回答と解説



問3 ..................................................................................................

表の高水位標以下に空き領域が多いため、領域の再構築を行います。
以下の DDL文の実行について、正しいものをすべて選びなさい。

ALTER TABLE scott.emp MOVE TABLESPACE users PCTFREE 20;

a.索引が存在していると、エラーとなるため削除してから実施する必要がある
b.索引が存在していると、エラーとなるため無効にしてから実施する必要がある
c.ROWID が変更されるため、索引は削除される
d.ROWID が変更されるため、索引は無効になる
e.ROWID が変更されるため、索引を再作成する必要がある
f.記憶領域パラメタ「PCTFREE」を指定して、既存の設定を変更することはできない
g.記憶領域パラメタ「PCTFREE」を指定して、既存の設定を変更することができる
      

→回答と解説



問4 ..................................................................................................

以下のネーミングメソッドのうち、ネットサービス名を解決するためにDNS
を使用するものを選びなさい。

a.ローカルネーミングメソッド
b.ホストネーミングメソッド
c.Oracle Namesネーミングメソッド
d.NIS
e.ディレクトリネーミングメソッド
      

→回答と解説



問5 ..................................................................................................

動的SGA にて SGAコンポーネントに割り当てることのできるメモリの最大
サイズを設定するためのパラメタを選びなさい。

a.SGA_SIZE
b.SGA_MAX_SIZE
c.DB_CACHE_SIZE
d.MAX_SGA_SIZE
e.SHARED_POOL_SIZE
      

→回答と解説



問6 ..................................................................................................

ユーザSCOTT は、誤って EMP表を削除してしまいました。表が削除された時間
が分かっている場合に行うリカバリ方法として最も適しているものを選びなさい。

a.時間ベースのリカバリ
b.取り消しベースのリカバリ
c.変更ベースのリカバリ
d.制御ファイルのバックアップを使用したリカバリ
      

→回答と解説



問7 ..................................................................................................

SQL*Loaderを使用し、表にデータをロードする場合、
表にすでにデータが存在するとエラーとなるオプションを選びなさい。

a.INSERT
b.APPEND
c.REPLACE
d.TRUNCATE
      

→回答と解説



問8 ..................................................................................................

リスナー「LIS_1」を停止させるために、リスナー制御ユーティリティで実行
するコマンドとして正しいものを選びなさい。

a.LSNRCTL> STOP
b.LSNRCTL> SHUTDOWN LIS_1
c.LSNRCTL> EXIT
d.LSNRCTL> STOP LIS_1
e.LSNRCTL> SHUTDOWN
f.LSNRCTL> EXIT LIS_1
      

→回答と解説



問9 ..................................................................................................

DELETE文を発行した際に取得されるロックを選びなさい。

a.行共有表ロック(RS)
b.行排他表ロック(RX)
c.共有表ロック(S)
d.共有行排他表ロック(SRX)
e.排他表ロック(X)
      

→回答と解説



問10 ................................................................................................

下記のオプティマイザモード(OPTIMIZER_MODE)のうち、統計情報を作成して
おくことが望ましいものを3つ選びなさい。

a.CHOOSE
b.RULE
c.STATS
d.FIRST_ROWS
e.ALL_ROWS
f.ALL
      

→回答と解説



回答と解説(問1)・・・答え:d
log file parallel write待機イベントは、 I/Oパフォーマンスに問題がある
可能性を示しており、 v$system_eventビューにて確認できます。

SQL> SELECT event, total_waits, time_waited FROM v$system_event
  2  WHERE event = 'log file parallel write';


また、以下の待機イベントからも、ディスク競合の可能性等を確認できます。

log file switch (checkpoint incomplete)	:チェックポイントが完了していないためにログスイッチが待機
log file switch (archiving needed)	:アーカイブが作成されていないためにログスイッチが待機
log file switch (cleaning log file)	:ログ消去中のためにログスイッチが待機
log file switch completion	:上記以外での原因によるログスイッチの待機 
      



回答と解説(問2)・・・答え:d
各索引タイプには、以下のような特長があります。

◆Bツリー
B*ツリー構造(ルート・ブランチ・リーフ)に基づいて、データが格納され
ている。一意またはそれに近い値の列を使用しているSELECT文のパフォーマ
ンス向上に効果的。

◆逆キー
索引キーのバイト値を反転することで、更新するブロックを索引全体に分散
させる事ができる。逆キーのデータは、キー列値でソートされないため、範
囲検索には利用されない。

◆ビットマップ
リーフに ROWIDではなく、それぞれのキー値ごとのビットマップを格納する。
カーディナリティが低い(=列値の種類が少ない)列を対象とした絞込処理
に適している。

◆関数ベース
対象表の列を含む関数または式に基づいた索引。関数または式の値は、事前
に算出され索引に格納される。関数ベース索引は、 Bツリー索引またはビッ
トマップ索引として実装する事ができる。

◆索引構成表
B*ツリー索引の構造を使用し、索引エントリとして、表データの行をすべて
格納する。索引構成表における行データは、主キー列でソートしてリーフブ
ロックに格納されるため、主キーは必須。
      



回答と解説(問3)・・・答え:d,e,g
領域の再構築は、エクスポート・インポートツールを使用して行う他に、
「ALTER TABLE...MOVEコマンド」を使用する方法があります。新しいセグ
メントを作成して行データを移動(上記の場合は、 USERS表領域に EMP表
を作成し、データを既存 EMP表から移動)することで、無駄な空きブロッ
クを含まない表を再作成できます。その際、移動先表領域の指定や、新規
記憶領域パラメタの指定もできます。

ただし、索引に格納されている表データのROWID は更新されないため、別
途索引の再構築を行う必要があります。

SQL> ALTER INDEX scott.index01_emp REBUILD;
      



回答と解説(問4)・・・答え:b
それぞれのネーミングメソッドの特徴は、以下のとおりです。

ローカルネーミング	:ネットサービス名はtnsnames.oraファイルを使用し解決
ホストネーミング	:ネットサービス名はDNS、NIS、/etc/hostsファイル等を使用し解決
Oracle Namesネーミング	:ネットサービス名はOracle NamesServerを介して解決
NIS	:外部ネーミングメソッドの一つ。Sun Microsystems社のプロトコルを使用
ディレクトリネーミング	:Oracle Internet Directory、Microsoft Active Directory
                          のようなLDAP準拠のディレクトリを使用
      



回答と解説(問5)・・・答え:b
Oracle9iからは、インスタンスを停止することなく SGA領域の各コンポーネ
ント(データベースバッファキャッシュや共有プール等)のメモリ割り当て
の変更ができるようになり(ALTER SYSTEMコマンド)、「動的SGA」 と呼ば
れます。

ただし増加させる場合、SGA_MAX_SIZE初期化パラメタで設定される最大 SGA
サイズを最大とした空きメモリの範囲内で可能となります。また、変更時の
サイズはグラニュルという単位で切り上げられます。

尚、Oracle10g では動的SGA の考え方を拡張させ、Oracle自身に調整を行わ
せるための「自動共有メモリー管理」という機能が提供されています。
      



回答と解説(問6)・・・答え:a
不完全リカバリには、以下のようなものがあります。

■時間ベース
不完全リカバリ時に時間を指定し、指定された時点までのすべての変更を適用
すると終了する。表の削除や、不正なデータ変更が発生した際、エラー発生時
間が判明している場合に有効。

■取り消しベース
RECOVER プロンプトにCANCELと入力すると終了する。アーカイブログの欠損や、
アーカイブされていないREDOログファイル・データファイルが損失した場合等、
できるだけ現在の時点に近いところまでのログファイルを適用したい時に有効。

■変更ベース
不完全リカバリ時に SCNを指定し、指定された SCNまでのすべての変更を適用
すると終了する。

■制御ファイルのバックアップを使用したリカバリ
すべての制御ファイルが失われ、制御ファイルを再作成できない場合や、現在
とデータベース構造が異なる時点にリカバリする場合に使用する。
      



回答と解説(問7)・・・答え:a
SQL*Loaderにてデータをロードする際、制御ファイルにデータの挿入方法を
指定することができます。

・INSERT	:空の表に対するロード(表にデータが存在するとエラー)
・APPEND	:行の追加(既存行は新しい行として追加)
・REPLACE	:行の置換(既存行はDELETEしてロード)
・TRUNCATE	:行の置換(既存行をTRUNCATEしてロード)
      



回答と解説(問8)・・・答え:d
リスナーは、リスナー制御ユーティリティ(LSNRCTL)のコマンドラインから
制御することができ、以下のように実行します(「lsnrctl」に直接引数とし
てコマンドを指定することもできます)

$ lsnrctl
LSNRCTL>
LSNRCTL> コマンド [リスナー名]


※リスナーの起動・停止
LSNRCTL> START [リスナー名]
LSNRCTL> STOP  [リスナー名]


※リスナー名を省略した場合、カレントリスナーが対象となります
・カレントリスナーは、 「SET CURRENT_LISTENER リスナー名」で設定
・カレントリスナーを明示的に指定していない場合、「LISTENER」になる
      



回答と解説(問9)・・・答え:b
表ロックの各モードの特徴は、以下のようになっています。
RSが最も制限が弱く、 Xが最も制限が厳しいロックになります。

■行共有表ロック(RS)・・・「SELECT ...FOR UPDATE」文
他トランザクションは、表に含まれる他の行の問合せ・追加・更新・削除・ロック
を実行可能。ただし、排他的な書込みアクセス(X) の為に表を手動でロックする
ことはできない。

■行排他表ロック(RX)・・・「DML」文
他トランザクションは、表に含まれる他の行の問合せ・追加・更新・削除・ロック
を実行可能。ただし、排他的な読み取り(S/SRX)または書込み(X)を実行するた
めに表を手動でロックすることはできない。

■共有表ロック(S)・・・参照整合性制約
他セッションの表へのSELECT ...FOR UPDATE文(RS/S) の使用を許可するが、表
の変更は許可しない。 

■共有行排他表ロック(SRX)・・・参照整合性制約
DML 文(RX)と手動の共有ロックモード(S/SRX/X) の取得を禁止する。

■排他表ロック(X)
他セッションは、表に対する問合せだけを実行する事が可能。SELECT ...FOR UPDATE
文(RS)、すべてのタイプのDML 文(RX)及び手動ロックモード(S/SRX/X) 
を禁止する。
      



回答と解説(問10)・・・答え:a,d,e
オプティマイザは、発行された SQL文から実行計画を決定します。また、オプ
ティマイザには「ルールベースオプティマイザ(RBO)」 と「コストベースオ
プティマイザ(CBO)」 があります。

ルールベースオプティマイザは、あらかじめ決められたアクセスパスのランキ
ングを使用し、候補となるアクセスパスの中で最も上位にランクされるパスを
選択します。

それに対し、コストベースオプティマイザは、各アクセスパスのコストを見積
り、コストが最も低いものを選択します。コストの見積もりには、統計情報が
使われるため、事前に統計情報を作成しておく必要があります。


このオプティマイザの指定は、「OPTIMIZER_MODE」パラメタにて行います。パ
ラメタに設定できるモードには、以下のようなものがあります。

CHOOSE	:SQL 文の対象となる表に統計情報があればCBO 、なければ RBOとして動作
RULE	:統計情報の有無に関係なく強制的にRBO として動作
FIRST_ROWS	:最初の1行の応答時間が短くなるよう実行計画を選択。統計情報の有無に関係なくCBO として動作
FIRST_ROWS_n	:最初の n行の応答時間が短くなるよう実行計画を選択。統計情報の有無に関係なくCBO として動作
ALL_ROWS	:スループットを最小に抑える実行計画を選択。統計情報の有無に関係なくCBO として動作

尚、「STATS」「ALL」というモードはありません。
      












Copyright © 2006 mari. All rights reserved.