Curiosidade: Qual a diferença entre v_$ e v$ em banco de dados Oracle?
Uma vez um amigo meu me mandou um script para ser executado no banco de dados. Lembro que na época, uma coisa me chamou atenção: o script chamava a gv_$sgastat , fato que eu achei interessante no momento e decidir pesquisar o que seria está determinada gv_$sgastat (com underline depois do gv e antes do $). Segundo um livro que ando lendo atualmente “somente o mais nerd DBA irá procurar informações sobre a área heap do banco de dados sobre os componentes menores da shared pool” e conclui ” para obter mais informações visualize a v$sgastat”. Depois disso, tive que cornetá-lo , assim como outros amigos que também procuram essas informações na Shared Pool. Brincadeiras à parte, através das pesquisas efetuadas, encontrei uma curiosidade nos bancos de dados Oracle. Apesar de muitos DBAs já terem esse conhecimento, aposto que vários outros serão pegos de surpresa neste momento (assim como aconteceu comigo na época) : as views dinâmicas do Oracle, possuem o nome correto de v_$ e v$, são sinônimos públicos para acessarem estas views. Por exemplo, v_$instance, é o nome correto da view, enquanto que v$instance é um sinônimo que permite a visualização da v_$instance. Segue abaixo um exemplo em ambos os casos e uma consulta na ALL_SYNONYMS , demonstrando algumas views com seus respectivos sinônimos:
SQL> select instance_name , status from v_$instance;
INSTANCE_NAME STATUS
---------------- ------------
BDBRUNO OPEN
SQL> select instance_name, status from v$instance;
INSTANCE_NAME STATUS
---------------- ------------
BDBRUNO OPEN
SQL> SET PAGES 1000
SQL> SET LINES 200
SQL> select * from ALL_SYNONYMS where SYNONYM_NAME like '%V$INST%'
OWNER SYNONYM_NAME TABLE_OWNER TABLE_NAME
DB_LINK
PUBLIC GV$INSTANCE SYS GV_$INSTANCE
PUBLIC GV$INSTANCE_CACHE_TRANSFER SYS GV_$INSTANCE_CACHE_TRANSFER
PUBLIC GV$INSTANCE_LOG_GROUP SYS GV_$INSTANCE_LOG_GROUP
PUBLIC GV$INSTANCE_RECOVERY SYS GV_$INSTANCE_RECOVERY
PUBLIC V$INSTANCE SYS V_$INSTANCE
PUBLIC V$INSTANCE_CACHE_TRANSFER SYS V_$INSTANCE_CACHE_TRANSFER
PUBLIC V$INSTANCE_LOG_GROUP SYS V_$INSTANCE_LOG_GROUP
PUBLIC V$INSTANCE_RECOVERY SYS V_$INSTANCE_RECOVERY
8 rows selected.
Referência
Espero ter ajudado,
abraços!!