• 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
  • 相关阅读:
    Javascript DMO 编程艺术
    PHPExcel
    MYSQL
    AJAX全接触
    正则表达式
    常用知识
    PHP 常用函数
    thinkphp5 公共函数的使用与调用
    thinkphp 使用phpExcel 导入和导出
    php 判断是pc端还是移动端
  • 原文地址:https://www.cnblogs.com/lvcha001/p/10217961.html
Copyright © 2020-2023  润新知