Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

WBOY
リリース: 2022-07-06 13:58:54
転載
1972 人が閲覧しました

この記事では、Oracle に関する関連知識を提供します。主にデータ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビューに関連する問題が整理されています。データ ディクショナリには、データベースの最も基本的な情報が記録されます。データ ディクショナリを含む基本的なテーブルとデータ ディクショナリ ビューについて、一緒に見ていきましょう。

Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

推奨チュートリアル: 「Oracle ビデオ チュートリアル

1. データ ディクショナリ

1.1 概念

データ ディクショナリには、基本的なデータ ディクショナリ テーブルやデータ ディクショナリ ビューなど、データベースの最も基本的な情報が記録されます。基本的なデータ ディクショナリ テーブルは $ORACLE_HOME\RDBMS\ADMIN\sql.bsq# によって作成されます。

Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)
Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

## データ ディクショナリの基本テーブルは sys ユーザーに属し、システム テーブル スペースに保存されます。ユーザーは、データ ディクショナリの基本テーブルを手動で変更することはできません。データ ディクショナリ;

データ ディクショナリの基本テーブルを簡素化するために、Oracle はデータ ディクショナリ ビューを提供し、ユーザーの使用を容易にするためにデータ ディクショナリ ビューのパブリック シノニムも作成します。データ ディクショナリ ビューとシノニムは次のとおりです。 category.sql

1.2 データ ディクショナリ ビュー

1.2.1 3 つのタイプ

USER_ タイプのビューは、現在ログインしているユーザーが所有する情報を表します。 # ALL_ タイプのビューは、現在ログインしているユーザーが表示する権限を持つ情報を表し、タイプ ビューはデータベース管理者が表示できる情報を表します


例:

(1) USER_type (user_tables)

は 2 つのデータベース オブジェクトに対応します。1 つはデータ ディクショナリ ビュー、もう 1 つはシノニムです。データ ディクショナリ ビューは最初にデータ ディクショナリ テーブルに基づいて作成され、次に同じ名前のシノニムが作成されます。ビュー
#USER_TABLES に対応するデータベース オブジェクトをクエリします:

select * from dba_objects d where d.OBJECT_NAME='USER_TABLES';
ログイン後にコピー

USER_TABLES に対応するビューをクエリします:

 select * from dba_views d where d.view_name='USER_TABLES';
ログイン後にコピー
Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)
USER_TABLES に対応するビューの作成ステートメントをクエリします:

SQL> SET LONG 10000;SQL>  select d.text from dba_views d where d.view_name='USER_TABLES';TEXT--------------------------------------------------------------------------------select o.name,
       decode(bitand(t.property,2151678048), 0, ts.name,
              decode(t.ts#, 0, null, ts.name)),
       decode(bitand(t.property, 1024), 0, null, co.name),
       decode((bitand(t.property, 512)+bitand(t.flags, 536870912)),
              0, null, co.name),
       decode(bitand(t.trigflag, 1073741824), 1073741824, 'UNUSABLE', 'VALID'),
       decode(bitand(t.property, 32+64), 0, mod(t.pctfree$, 100), 64, 0, null),
       decode(bitand(ts.flags, 32), 32, to_number(NULL),
          decode(bitand(t.property, 32+64), 0, t.pctused$, 64, 0, null)),
       decode(bitand(t.property, 32), 0, t.initrans, null),
       decode(bitand(t.property, 32), 0, t.maxtrans, null),
       decode(bitand(t.property, 17179869184), 17179869184,
                     ds.initial_stg * ts.blocksize,
                     s.iniexts * ts.blocksize),
       decode(bitand(t.property, 17179869184), 17179869184,
              ds.next_stg * ts.blocksize,
              s.extsize * ts.blocksize),
       decode(bitand(t.property, 17179869184), 17179869184,
              ds.minext_stg, s.minexts),
       decode(bitand(t.property, 17179869184), 17179869184,
              ds.maxext_stg, s.maxexts),
       decode(bitand(ts.flags, 3), 1, to_number(NULL),
              decode(bitand(t.property, 17179869184), 17179869184,
                            ds.pctinc_stg, s.extpct)),
       decode(bitand(ts.flags, 32), 32, to_number(NULL),
         decode(bitand(o.flags, 2), 2, 1,
                decode(bitand(t.property, 17179869184), 17179869184,
                       ds.frlins_stg, decode(s.lists, 0, 1, s.lists)))),
       decode(bitand(ts.flags, 32), 32, to_number(NULL),
         decode(bitand(o.flags, 2), 2, 1,
                decode(bitand(t.property, 17179869184), 17179869184,
                       ds.maxins_stg, decode(s.groups, 0, 1, s.groups)))),
       decode(bitand(t.property, 32+64), 0,
                decode(bitand(t.flags, 32), 0, 'YES', 'NO'), null),
       decode(bitand(t.flags,1), 0, 'Y', 1, 'N', '?'),
       t.rowcnt,
       decode(bitand(t.property, 64), 0, t.blkcnt, null),
       decode(bitand(t.property, 64), 0, t.empcnt, null),
       decode(bitand(t.property, 64), 0, t.avgspc, null),
       t.chncnt, t.avgrln, t.avgspc_flb,
       decode(bitand(t.property, 64), 0, t.flbcnt, null),
       lpad(decode(t.degree, 32767, 'DEFAULT', nvl(t.degree,1)),10),
       lpad(decode(t.instances, 32767, 'DEFAULT', nvl(t.instances,1)),10),
       lpad(decode(bitand(t.flags, 8), 8, 'Y', 'N'),5),
       decode(bitand(t.flags, 6), 0, 'ENABLED', 'DISABLED'),
       t.samplesize, t.analyzetime,
       decode(bitand(t.property, 32), 32, 'YES', 'NO'),
       decode(bitand(t.property, 64), 64, 'IOT',
               decode(bitand(t.property, 512), 512, 'IOT_OVERFLOW',
               decode(bitand(t.flags, 536870912), 536870912, 'IOT_MAPPING', null))),
       decode(bitand(o.flags, 2), 0, 'N', 2, 'Y', 'N'),
       decode(bitand(o.flags, 16), 0, 'N', 16, 'Y', 'N'),
       decode(bitand(t.property, 8192), 8192, 'YES',
              decode(bitand(t.property, 1), 0, 'NO', 'YES')),
       decode(bitand(o.flags, 2), 2, 'DEFAULT',
              decode(bitand(decode(bitand(t.property, 17179869184), 17179869184,


                            ds.bfp_stg, s.cachehint), 3),
                            1, 'KEEP', 2, 'RECYCLE', 'DEFAULT')),
       decode(bitand(o.flags, 2), 2, 'DEFAULT',
              decode(bitand(decode(bitand(t.property, 17179869184), 17179869184,


                            ds.bfp_stg, s.cachehint), 12)/4,
                            1, 'KEEP', 2, 'NONE', 'DEFAULT')),
       decode(bitand(o.flags, 2), 2, 'DEFAULT',
              decode(bitand(decode(bitand(t.property, 17179869184), 17179869184,


                            ds.bfp_stg, s.cachehint), 48)/16,
                            1, 'KEEP', 2, 'NONE', 'DEFAULT')),
       decode(bitand(t.flags, 131072), 131072, 'ENABLED', 'DISABLED'),
       decode(bitand(t.flags, 512), 0, 'NO', 'YES'),
       decode(bitand(t.flags, 256), 0, 'NO', 'YES'),
       decode(bitand(o.flags, 2), 0, NULL,
           decode(bitand(t.property, 8388608), 8388608,
                  'SYS$SESSION', 'SYS$TRANSACTION')),
       decode(bitand(t.flags, 1024), 1024, 'ENABLED', 'DISABLED'),
       decode(bitand(o.flags, 2), 2, 'NO',
           decode(bitand(t.property, 2147483648), 2147483648, 'NO',
              decode(ksppcv.ksppstvl, 'TRUE', 'YES', 'NO'))),
       decode(bitand(t.property, 1024), 0, null, cu.name),
       decode(bitand(t.flags, 8388608), 8388608, 'ENABLED', 'DISABLED'),
       case when (bitand(t.property, 32) = 32) then
         null
       when (bitand(t.property, 17179869184) = 17179869184) then
         decode(bitand(ds.flags_stg, 4), 4, 'ENABLED', 'DISABLED')
       else
         decode(bitand(s.spare1, 2048), 2048, 'ENABLED', 'DISABLED')
       end,
       case when (bitand(t.property, 32) = 32) then
         null
       when (bitand(t.property, 17179869184) = 17179869184) then
          decode(bitand(ds.flags_stg, 4), 4,
          case when bitand(ds.cmpflag_stg, 3) = 1 then 'BASIC'
               when bitand(ds.cmpflag_stg, 3) = 2 then 'OLTP'
               else decode(ds.cmplvl_stg, 1, 'QUERY LOW',
                                          2, 'QUERY HIGH',
                                          3, 'ARCHIVE LOW',
                                             'ARCHIVE HIGH') end,
               null)
       else
         decode(bitand(s.spare1, 2048), 0, null,
         case when bitand(s.spare1, 16777216) = 16777216   -- 0x1000000
                   then 'OLTP'
              when bitand(s.spare1, 100663296) = 33554432  -- 0x2000000
                   then 'QUERY LOW'
              when bitand(s.spare1, 100663296) = 67108864  -- 0x4000000
                   then 'QUERY HIGH'
              when bitand(s.spare1, 100663296) = 100663296 -- 0x2000000+0x4000000
                   then 'ARCHIVE LOW'
              when bitand(s.spare1, 134217728) = 134217728 -- 0x8000000
                   then 'ARCHIVE HIGH'
              else 'BASIC' end)
       end,
       decode(bitand(o.flags, 128), 128, 'YES', 'NO'),
       decode(bitand(t.trigflag, 2097152), 2097152, 'YES', 'NO'),
       decode(bitand(t.property, 17179869184), 17179869184, 'NO',
              decode(bitand(t.property, 32), 32, 'N/A', 'YES')),
       decode(bitand(t.property,16492674416640),2199023255552,'FORCE',
                     4398046511104,'MANUAL','DEFAULT')from sys.ts$ ts, sys.seg$ s, sys.obj$ co, sys.tab$ t, sys.obj$ o,
     sys.deferred_stg$ ds, sys.obj$ cx, sys.user$ cu, x$ksppcv ksppcv,
     x$ksppi ksppiwhere o.owner# = userenv('SCHEMAID')
  and o.obj# = t.obj#
  and bitand(t.property, 1) = 0
  and bitand(o.flags, 128) = 0
  and t.bobj# = co.obj# (+)
  and t.ts# = ts.ts#
  and t.file# = s.file# (+)
  and t.block# = s.block# (+)
  and t.ts# = s.ts# (+)
  and t.obj# = ds.obj# (+)
  and t.dataobj# = cx.obj# (+)
  and cx.owner# = cu.user# (+)
  and ksppi.indx = ksppcv.indx  and ksppi.ksppinm = '_dml_monitoring_enabled'
ログイン後にコピー
Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)クエリの同義語:
select * from dba_synonyms d where d.synonym_name='USER_TABLES'
ログイン後にコピー

現在ログインしているユーザーが所有するテーブルをクエリしますOracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

# (2) ALL_type (all_tables)
Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

(3) DBA_type (dba_tables)

Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

#2. 動的パフォーマンス ビュー

Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

2.1 概念

データベースの活動状況情報を中心に、刻々と変化する情報をデータベースに格納します。メモリに保存されている情報と制御ファイルに保存されている情報をビューの形式で表示します。

#2.2 共通の動的パフォーマンス ビュー

#v$パラメータ

パラメータファイル内の全項目の値を初期化します

v$process


現在のプロセスの情報Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

##v$session

セッションに関する情報
Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

v$sysstat

現在に基づくシステム統計操作セッション
Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)v$log

制御ファイルから REDO ログ グループに関する情報を抽出します

v$logfile

関連例REDO ログ グループのファイル名と場所の情報
Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

#v$lock

現在のプロセスが取得して要求しているロック情報


Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)v$transaction

データベーストランザクション情報


v$fixed_view_definition

すべての動的パフォーマンス ビューの定義情報を記録します
Oracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)

推奨チュートリアル: 「Oracle Video Tutorial

以上がOracle データ ディクショナリ、データ ディクショナリ ビュー、および動的パフォーマンス ビュー (概要共有)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート