【问题标题】:grant create view on Oracle 11g在 Oracle 11g 上授予创建视图
【发布时间】:2014-01-02 22:41:23
【问题描述】:

我在学校使用 SQL*Plus,我使用用户名 Scott。我无法创建视图,因为它说:

ORA-01031: insufficient privileges;

我已经搜索和搜索了,但似乎没有任何问题。有什么帮助吗?

【问题讨论】:

    标签: sql oracle11g privileges create-view


    【解决方案1】:

    如错误所述 - 您的权限不足以创建视图 - 您必须要求数据库管理员授予您此权限。 如果您可以以数据库管理员身份登录,则必须执行语句(我不能保证正确性,手头没有oracle数据库)

    GRANT CREATE ANY VIEW TO Scott;
    

    GRANT CREATE VIEW TO Scott;
    

    【讨论】:

    • 我在家用电脑上使用它,这是否意味着我可以以数据库管理员身份登录?如果有,怎么做?
    • 在安装 Oracle 数据库时,您应该选择管理员密码或尝试使用默认用户 SYSTEM 和密码 MANAGER 登录。
    • 您可以尝试此答案以获取有关如何登录 Oracle 数据库、如何授予权限等的更多信息:stackoverflow.com/questions/18403125/…
    【解决方案2】:

    您需要GRANT CREATE VIEW 权限给正在创建视图的USER

    例如,我创建一个新用户,让它创建一个会话、一个表和一个视图:

    SQL> create user test identified by test;
    
    User created.
    
    SQL> grant create session, create table, create view to test;
    
    Grant succeeded.
    
    SQL> conn test/test@pdborcl;
    Connected.
    SQL> Create Table advanced
      2   (Id  varchar(15),
      3   Name varchar(20),
      4   Dept  varchar(15),
      5   Cgpa  float,
      6   Birth_date date,
      7   Mob_no  int,
      8   Dist varchar(20),
      9   Salary  number(8));
    
    Table created.
    
    SQL> Create View advanced_data as
      2  (
      3  select name,dept,dist,salary from advanced
      4  );
    
    View created.
    

    如果我撤销该权限,您将收到ORA-01031:权限不足

    SQL> revoke create view from test;
    
    Revoke succeeded.
    
    SQL> conn test/test@pdborcl;
    Connected.
    SQL> Create or replace View advanced_data as
      2  (
      3  select name,dept,dist,salary from advanced
      4  );
    Create or replace View advanced_data as
                           *
    ERROR at line 1:
    ORA-01031: insufficient privileges
    

    【讨论】:

      【解决方案3】:

      步骤 1-将 ss/ss 连接为 sysdba;
      第 2 步 - 授予 Scott 创建任何视图;
      第 3 步 - 连接 scott/tiger
      第 4 步 - 创建或替换视图 v 为 select *from emp;

      【讨论】:

        【解决方案4】:

        要以 DBA(数据库管理员)身份登录,您可以使用:

        sqlplus / as sysdba
        

        sqlplus sys as sysdba
        

        【讨论】:

          猜你喜欢
          • 2023-04-08
          • 2012-08-08
          • 1970-01-01
          • 1970-01-01
          • 2013-06-28
          • 1970-01-01
          • 2020-11-30
          • 1970-01-01
          • 2021-03-09
          相关资源
          最近更新 更多