Maison  >  Article  >  base de données  >  Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

WBOY
WBOYavant
2022-07-06 13:58:541950parcourir

Cet article vous apporte des connaissances pertinentes sur Oracle, qui organise principalement les problèmes liés au dictionnaire de données, à la vue du dictionnaire de données et à la vue des performances dynamiques. Le dictionnaire de données enregistre les informations les plus élémentaires de la base de données, y compris les tableaux de base du dictionnaire de données et. Jetons un coup d'œil à la vue du dictionnaire de données. J'espère qu'elle sera utile à tout le monde.

Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

Tutoriel recommandé : "Tutoriel vidéo Oracle"

1. Dictionnaire de données

Concept 1.1

Le dictionnaire de données enregistre les informations les plus élémentaires de la base de données, y compris les tables de dictionnaire de données de base et les vues du dictionnaire de données ; dictionnaire de données La table de base est créée par $ORACLE_HOMERDBMSADMINsql.bsq

Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

     La table de base du dictionnaire de données appartient à l'utilisateur sys et est stockée dans l'espace table système. L'utilisateur ne peut pas modifier manuellement la table de base du. dictionnaire de données ;
   Afin de simplifier l'utilisation du tableau de base du dictionnaire de données, Oracle fournit une vue du dictionnaire de données et crée également des synonymes publics pour la vue du dictionnaire de données, ce qui est pratique pour les utilisateurs. les synonymes sont créés via catalog.sql

1.2 Vue du dictionnaire de données

1.2.1 Trois types

 USER _ le type de vue représente les informations appartenant à l'utilisateur actuellement connecté
   ALL_ le type de vue représente les informations actuellement connectées ; dans l'utilisateur a l'autorisation de voir ; le type de vue
   DBA_ représente les informations que l'administrateur de base de données peut voir

telles que :

(1) USER_type (user_tables)

correspond à deux objets de base de données, l'un est une vue de dictionnaire de données et l'autre est un synonyme. La vue du dictionnaire de données est d'abord créée sur la base de la table du dictionnaire de données, puis un synonyme du même nom est créé pour la vue

Interrogez l'objet de base de données correspondant à USER_TABLES :

select * from dba_objects d where d.OBJECT_NAME='USER_TABLES';

Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)
Interrogez le vue correspondant à USER_TABLES :

 select * from dba_views d where d.view_name='USER_TABLES';

Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)
Interroger l'instruction de création de la vue correspondant à 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'

Requête de synonymes :

select * from dba_synonyms d where d.synonym_name='USER_TABLES'

Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

Interroger la connexion actuelle de la table appartenant à l'utilisateur
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

(2) ALL_ type ( all_tables)

Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

(3) dba_ type (dba_tables)

Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

2. Vue dynamique des performances

2.1 Concepts

Chacune des bases de données dans la base de données de stockage toutes les informations qui changent à chaque instant sont principalement les informations sur l’état d’activité de la base de données. Afficher les informations stockées dans la mémoire et les informations stockées dans le fichier de contrôle sous forme de vue

2.2 Vue commune des performances dynamiques

v$parameter

Tous les éléments du fichier de paramètres d'initialisation Valeur
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

v$process

Informations sur le processus en cours
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

v$session

Informations sur la session
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

v$sysstat

Statistiques du système basées sur la session de fonctionnement en cours

v$log

Extrait informations sur le groupe de rétablissement de journaux à partir du fichier de contrôle
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

v$logfile

Informations sur le nom du fichier de groupe de rétablissement d'instance et son emplacement
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

v$lock

Le processus actuel a acquis et est demandé des informations de verrouillage
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

v$transaction

Informations sur les transactions de la base de données
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

v$fixed_view_definition

Enregistrez les informations de définition de toutes les vues de performances dynamiques
Dictionnaire de données Oracle, vue du dictionnaire de données et vue dynamique des performances (partage de résumé)

Tutoriel recommandé : "Tutoriel vidéo Oracle"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer