Яка різниця між av $ view та його dba_ еквівалентом?


9

У чому загальна різниця між v$представленням даних та його dba_еквівалентом? Візьмемо, наприклад, v$tablespaceі dba_tablespaces.

Відповіді:


13

Найпростіший спосіб подумати про це:

  • DBA_ / USER_ / ALL_ представлення побудовано на словнику даних - вони недоступні, якщо база даних не встановлена ​​та відкрита.

  • V$ представлення, як правило, протистоять екземпляру, і тому вони можуть бути доступні, якщо база даних не змонтована, або не змонтована та відкрита, залежно від характеру перегляду.

Використовуючи свій приклад:

  • V$TABLESPACEце погляд на X$KCCTS, що є внутрішньою структурою пам'яті.
  • DBA_TABLESPACES - це перегляд таблиці словника даних SYS.TS$

3

Окрім відмінностей, які перелічив Адам Муш, є ще декілька відмінностей між переглядами dba_ та v $ переглядами, які варто згадати, оскільки вони є потенційними дітками, якщо ви не знаєте про ці відмінності:

1) Більшість (але не зовсім всіх) v $ переглядів взагалі не є технічно переглядами, але є синонімами v_ $ переглядів. Це важлива відмінність, оскільки ви не можете надати / відкликати дозволи для синонімів:

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_ Однак запущені запити flashback проти v $ views повертають поточні дані (12,1 документа про використання Oracle Flashback Technology) :

Ви не можете отримати минулі дані з динамічного перегляду продуктивності (V $). Запит у такому представленні повертає поточні дані.

Ви можете виконувати запити над минулими даними в статичних представленнях словника даних, таких як * _TABLES.

Як зазначав Адам Муш, v $ представлення запускаються безпосередньо проти екземпляра, тоді як dba_ представлення проти словника даних. Як тільки ви це зрозумієте, має сенс, чому це обмеження діє. Хоча я дуже хочу, щоб запит про зворотний зв'язок проти v $ views повернув би помилку, а не мовчки не працював, оскільки ця ґатка може залишатися непоміченою протягом досить довгого часу ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.