专栏首页杨建荣的学习笔记关于创建视图的问题(48天)

关于创建视图的问题(48天)

今天开发碰到一个问题,说创建视图的时候老是提示没有权限。

SQL> create view test_view as select *from customer;
create view test_view as select *from customer
                                     *
ERROR at line 1:
ORA-01031: insufficient privileges

第一反应是这个schema没有create view的权限。

查询发现有。

SQL> select *from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
ALTER SESSION
UNLIMITED TABLESPACE
CREATE TABLE
CREATE SYNONYM
CREATE VIEW
CREATE SEQUENCE
CREATE DATABASE LINK
CREATE ROLE
CREATE PROCEDURE
CREATE TRIGGER
PRIVILEGE
----------------------------------------
CREATE MATERIALIZED VIEW
CREATE ANY DIRECTORY
DROP ANY DIRECTORY
CREATE TYPE
SELECT ANY DICTIONARY
16 rows selected.

而且表的访问也是没有问题的,权限通过role来grant,而且建立了synonym。

SQL> select *from user_role_privs;
USERNAME                       GRANTED_ROLE                   ADM DEF OS_
------------------------------ ------------------------------ --- --- ---
TRUDB1                         TRUDBO1_ALL                    NO  YES NO
SQL> select count(*)from customer;
 COUNT(*)
----------
        0

最后发现如果创建视图,通过role来授予权限,是有这种情况的,得赋予object privilege

用table owner登录。

SQL> grant select on customer to trudb1;
Grant succeeded.

然后用目标用户登录,创建视图

SQL> create view test_view as select *from customer;
View created.
SQL> drop view test_view;
View dropped.
SQL> select count(*)from customer;
 COUNT(*)
----------
        0

本文分享自微信公众号 - 杨建荣的学习笔记(jianrong-notes),作者:笔记48天

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-04-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 每秒执行6000的简单SQL优化(一)(r10笔记第62天)

    最近看到一个系统的负载比较高,引起了我的注意,查看AWR报告发现,竟然是因为两条很简单的SQL语句导致。 语句有多简单呢,就是下面的两个SQL语...

    jeanron100
  • undo retention的思考(一)

    最近有个网友咨询我一个问题,是关于undo_retention的,对于这个参数没有过多关注,只是知道需要设置undo_retention搭配使用undotabl...

    jeanron100
  • 和Null有关的函数(r3笔记第48天)

    关于null相关的函数在日常的工作中还有比较实用的,可能会碰到各种和Null校验相关的情况,大体有以下几种。 case when decode nvl nvl...

    jeanron100
  • Oracle常用的SQL方法总结

     在项目中一般需要对一些数据进行处理,以下提供一些基本的SQL语句:    1.基于条件的插入和修改:需要在表中插入一条记录,插入前根据key标识判断。如果标识...

    彭泽0902
  • 数据挖掘算法-Matlab实现:Logistic 回归

    什么叫做回归呢?举个例子,我们现在有一些数据点,然后我们打算用一条直线来对这些点进行拟合(该曲线称为最佳拟合曲线),这个拟合过程就被称为回归。 利用Logis...

    机器学习AI算法工程
  • 【快讯】在线体验Oracle Database 12.2 SQL新特性

    Oracle Database 12.2 已经让广大粉丝望眼欲穿,虽然文档已然发布,但是实验无从做起。 现在,可以通过 Oracle Live SQL 站点(文...

    数据和云
  • 常用编程思想与算法

    本文是在阅读Aditya Bhargava先生算法图解一书所做的总结,文中部分代码引用了原文的代码,在此感谢Aditya Bhargava先生所作出的这么简单的...

    用户3148125
  • 一场pandas与SQL的巅峰大战

    作为一名数据分析师,平常用的最多的工具是SQL(包括MySQL和Hive SQL等)。对于存储在数据库中的数据,自然用SQL提取会比较方便,但有时我们会处理一些...

    云爬虫技术研究笔记
  • 一场pandas与SQL的巅峰大战

    作为一名数据分析师,平常用的最多的工具是SQL(包括MySQL和Hive SQL等)。对于存储在数据库中的数据,自然用SQL提取会比较方便,但有时我们会处理一些...

    double
  • 重学数据结构(序:概览)

    1968 年, 美国的高德纳( Donald E.Knuth) 教授在其所写的《计算机程序设计艺术》 第一卷《 基本算法》 中, 较系统地阐述了数据的逻辑结构和...

    三分恶

扫码关注云+社区

领取腾讯云代金券