Bir v$
görünüm ve dba_
eşdeğeri arasındaki genel fark nedir ? Örneğin, v$tablespace
ve dba_tablespaces
.
Bir v$
görünüm ve dba_
eşdeğeri arasındaki genel fark nedir ? Örneğin, v$tablespace
ve dba_tablespaces
.
Yanıtlar:
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$TABLESPACE
X$KCCTS
dahili 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$
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 ...