Oracleデータベースエンジニアとしての基礎力を証明するORACLE MASTER Bronze。その取得を目指すITエンジニアのための講座が本連載だ。間違いやすいポイントを確認し、合格に近づこう!
前回「表以外のスキーマオブジェクトの作成と管理」では、ビュー、シノニム、順序といった表以外のスキーマオブジェクトの作成方法および管理方法を学習しました。
今回は、以下の項目を確認します。
■例題1
ユーザーがアクセスできるオブジェクトを確認するためのデータディクショナリビューを選択してください。
a.USER_OBJECTS
b.ALL_OBJECTS
c.DBA_OBJECTS
d.V$OBJECTS
■例題の範囲をおさらい
データディクショナリビューを使用することで、オブジェクトデータの調査が可能になります。
データディクショナリビューには複数の種類があります。
ビューの接頭辞 | 内容 |
---|---|
USER | ユーザーのビュー(ユーザーのスキーマにある、ユーザーが所有しているオブジェクトの情報を調査できる) |
ALL | 拡張ユーザーのビュー(ユーザーがアクセスできるオブジェクトの情報を調査できる)DBA |
DBA | データベース管理者のみアクセス可能なビュー(すべてのユーザーのスキーマにあるオブジェクトの情報を調査できる) |
V$ | 動的パフォーマンスビュー(パフォーマンス関連) |
■正解
b
■解説
選択肢a:「USER_」で始まるデータディクショナリビューは、ログインしているユーザーが所有しているオブジェクトの情報のみ検索できます。
SQL> select object_name from user_objects; OBJECT_NAME -------------------- DEPT EMP
選択肢b:「ALL_」で始まるディクショナリビューは、アクセス可能なオブジェクトの情報を検索できます。
スキーマ内に1つのみオブジェクトを持っている場合、USER_OBJECTSを検索すると結果は「1」となります。
SQL> select count(*) from user_objects; COUNT(*) ---------- 1
「USER」を「ALL」に変更すると、「5292」が戻ってきました。これは自分のスキーマ外にあるオブジェクトを確認していることになります。
SQL> select count(*) from all_objects; COUNT(*) ---------- 5292
選択肢c:「DBA_」で始まるデータディクショナリビューは、データベース管理者(DBA)のみアクセス可能な、データベース全体の情報を検索できます。
SQL> select count(*) from dba_objects; COUNT(*) ---------- 12665
選択肢d:「V$」で始まるデータディクショナリビューは、動的パフォーマンスビューと呼ばれ、データベースのパフォーマンス関連のデータを検索することができます。
選択肢にあるようなV$OBJECTSというビューは存在しません。
例えばV$DATABASEでは、データベース名、ログモード、オープンモードなどを確認できます。
SQL> select name,log_mode,open_mode from v$database; NAME LOG_MODE OPEN_MODE ------------------ ------------------------ -------------------- ORCL NOARCHIVELOG READ WRITE
よって、正解は選択肢bです。
Copyright © ITmedia, Inc. All Rights Reserved.