授予在Oracle 11g上创建视图的权限。

18 浏览
0 Comments

授予在Oracle 11g上创建视图的权限。

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

ORA-01031: 权限不足;

我已经搜索了很多次,但似乎没有找到正确的解决方法。有人能帮忙吗?

0
0 Comments

问题:如何在Oracle 11g中授予用户创建视图的权限?

在Oracle 11g中,用户需要特定的权限才能创建视图。下面将介绍如何授予用户创建视图的权限以及解决方法。

步骤1:以sysdba身份连接到数据库

conn ss/ss as sysdba;

步骤2:授予用户Scott创建任意视图的权限

GRANT CREATE ANY VIEW TO Scott;

步骤3:以Scott用户身份连接到数据库

conn scott/tiger;

步骤4:创建或替换视图

create or replace view v as select *from emp;

通过以上步骤,用户Scott将被授予在Oracle 11g中创建视图的权限。

0
0 Comments

在Oracle 11g中,如果用户需要创建视图,则需要授予该用户CREATE VIEW权限。如果没有授予该权限,则会出现"ORA-01031: insufficient privileges"错误。

以下是一个示例,演示如何创建一个新用户,并为该用户授予创建会话、创建表和创建视图的权限:

SQL> create user test identified by test;

User created.

SQL> grant create session, create table, create view to test;

Grant succeeded.

接下来,连接到test用户,并创建一个表和一个视图:

SQL> conn test/test;

Connected.

SQL> Create Table advanced

(Id varchar(15),

Name varchar(20),

Dept varchar(15),

Cgpa float,

Birth_date date,

Mob_no int,

Dist varchar(20),

Salary number(8));

Table created.

SQL> Create View advanced_data as

(

select name,dept,dist,salary from advanced

);

View created.

如果我们撤销CREATE VIEW权限,则会收到"ORA-01031: insufficient privileges"错误提示:

SQL> revoke create view from test;

Revoke succeeded.

SQL> conn test/test;

Connected.

SQL> Create or replace View advanced_data as

(

select name,dept,dist,salary from advanced

);

Create or replace View advanced_data as

*

ERROR at line 1:

ORA-01031: insufficient privileges

因此,要解决这个问题,我们需要使用GRANT命令为用户授予CREATE VIEW权限。

0
0 Comments

问题:无法在Oracle 11g上创建视图的原因和解决方法

在这个问题中,错误提示你的权限不足以创建视图,所以你需要请求数据库管理员授予你这个权限。如果你可以以数据库管理员身份登录,你需要执行以下语句(在没有实际的Oracle数据库的情况下,我不能保证正确性):

GRANT CREATE ANY VIEW TO Scott;

或者

GRANT CREATE VIEW TO Scott;

在我使用的是家用电脑上的数据库,这是否意味着我可以以数据库管理员身份登录?如果可以,如何登录?

在安装Oracle数据库时,应该有一个时刻,你需要选择管理员密码或尝试使用默认用户SYSTEM和密码MANAGER登录。

你可以尝试这个答案以获取更多关于如何登录Oracle数据库、如何授予权限以及一些其他信息:stackoverflow.com/questions/18403125/…

0