
第12回 データディクショナリビューでオブジェクト管理
ゴールデンフォレスト株式会社
2009/3/13
| 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です。
| 列に付加されている索引を確認 | |
| » @IT自分戦略研究所 トップページへ |
間違いやすいポイントを追え! Bronze SQL基礎I バックナンバー
|
|
| スキルアップに役立つ問題を無料で出題 | |
| ITスキル研修4000件、最新情報の検索できます |
キャリアアップ
スポンサーからのお知らせ
・ケ・ュ・チマツ、クヲオ貍シ・ケ・ン・・オ。シ
- - PR -

PHP技術者認定の最上位、ウィザード試験が5月より開始