Av $ view ve dba_ eşdeğeri arasındaki fark nedir?


Yanıtlar:


13

Bunu düşünmenin en kolay yolu:

  • DBA_ / USER_ / ALL_ görünümler veri sözlüğünde oluşturulmuştur - veritabanı bağlı ve açılmamışsa kullanılamaz.

  • V$ görünümler örneğe göre çalışma eğilimindedir ve bu nedenle veritabanı, görünümün niteliğine bağlı olarak monte edilmemişse veya monte edilmemiş ve açılmamışsa kullanılabilir.

Örneğinizi kullanma:

  • V$TABLESPACEX$KCCTSdahili bir bellek yapısı olan bir görünümdür .
  • DBA_TABLESPACES veri sözlüğü tablosundaki bir görünümdür SYS.TS$

3

Adam Musch'un listelediği farklılıkların yanı sıra, dba_ görünümleri ve v $ görünümleri arasında, bu farklılıkların farkında değilseniz potansiyel gotchas olduklarından bahsetmeye değer birkaç fark daha vardır:

1) Çoğu (ancak tamamı değil) v $ görünümleri teknik olarak hiç görüntülenmez, ancak v_ $ görünümlerinin eş anlamlılarıdır. Eş anlamlılara izin veremeyeceğiniz / kaldıramayacağınız için bu önemli bir ayrımdır:

sqlplus / as sysdba

grant select on v$tablespace to user1;
   SQL Error: ORA-02030: can only select from fixed tables/views

select table_name from dba_synonyms where synonym_name = 'V$TABLESPACE';
   TABLE_NAME
   -------------
   V_$TABLESPACE

grant select on V_$TABLESPACE to user1;
   grant succeeded.

2) dba_ görünümlerine karşı flashback sorguları çalıştırabilirsiniz. Ancak, v $ görünümlerinde flashback sorgularının çalıştırılması mevcut verileri döndürür (Oracle Flashback Teknolojisini Kullanma ile ilgili 12.1 doküman) :

Dinamik performans (V $) görünümünden geçmiş verileri alamazsınız. Böyle bir görünümdeki sorgu geçerli verileri döndürür.

* _TABLES gibi statik veri sözlüğü görünümlerinde geçmiş verilerle ilgili sorgular gerçekleştirebilirsiniz.

Adam Musch'un işaret ettiği gibi, v $ görünümleri doğrudan örneğe, dba_ görünümleri ise veri sözlüğüne karşı çalışır. Bunu anladıktan sonra, bu sınırlamanın neden geçerli olduğu mantıklıdır. Yine de, gerçekten v $ görünümleri karşı flashback sorgusu sessizce bu gotcha oldukça bir süre fark edilmeden kalabilir gibi çalışma yerine bir hata dönmesini diliyorum ...

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.