v$、v_$、gv$之間的關系


本次實驗測試,oracle數據庫視圖中v$,v_$,gv$之間的關系

 總結:

v_$是動態性能視圖,通過sql查詢數據庫基表返回記錄。例如,v_$database對象是視圖類型,可對其它用戶授權訪問;

v$database則是為了簡化查詢,是v_$database的同義詞,oracle同義詞無法作為對象,進行賦權語句執行grant;

gv_則是集群,多了一個Inst_id區分實例

1.對象類型

 1  SYS@ceshi>select object_name,object_type,status from user_objects where object_name in('V$SESSION', 
 2 11:02:55 2 'V_$SESSION','GV$SESSION');
 3 
 4 OBJECT_NAME OBJECT_TYPE STATUS
 5 ------------------------------ ------------------- -------
 6 V_$SESSION VIEW VALID
 7 
 8 SYS@ceshi>select synonym_name,table_name from dba_synonyms where synonym_name in('V$SESSION','GV$SESSION');
 9 
10 SYNONYM_NAME TABLE_NAME
11 ------------------------------ ------------------------------
12 GV$SESSION GV_$SESSION
13 V$SESSION V_$SESSION

2.授權報錯

 1 11:08:46 SYS@ceshi>grant select on V_$SESSION to scott;
 2 
 3 Grant succeeded.
 4 
 5 Elapsed: 00:00:00.13
 6 11:09:19 SYS@ceshi>grant select on V$SESSION to scott;
 7 grant select on V$SESSION to scott
 8 *
 9 ERROR at line 1:
10 ORA-02030: can only select from fixed tables/views

授權,需要授予對象權限,同義詞無法作為授權對象

3.GET_DDL

提取GV$SESSION基表定義,如下鏈接可以幫助查詢,普通get_ddl查詢的定義是錯誤的

http://t.askmaclean.com/thread-392-1-1.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM