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

Sql 在Oracle 11g上授予创建视图权限,sql,oracle11g,privileges,create-view,Sql,Oracle11g,Privileges,Create View,我在学校使用SQL*Plus,我使用用户名Scott。我无法创建视图,因为它显示: ORA-01031: insufficient privileges; 我找了又找,但似乎什么都找不对。有任何帮助吗?正如错误所述-您的权限不足以创建视图-您必须请求数据库管理员授予您此权限。 若你们能以数据库管理员的身份登录,你们将不得不执行语句(我不能保证正确性,手头并没有oracle数据库) 或 要以DBA(数据库管理员)身份登录,您可以使用: sqlplus / as sysdba 或 步骤1-连接s

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

ORA-01031: insufficient privileges;

我找了又找,但似乎什么都找不对。有任何帮助吗?

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

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

sqlplus / as sysdba


步骤1-连接ss/ss作为sysdba
第2步-授予Scott创建任何视图的权限
第3步-康恩·斯科特/老虎

步骤4-创建视图v或将其替换为从emp中选择*

您需要创建视图权限授予创建视图的用户

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

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

我在家用电脑上使用它,这是否意味着我可以作为数据库管理员登录?如果是,如何安装?在安装Oracle数据库时,您必须选择管理员密码或尝试使用defalut用户系统和密码管理器登录。有关如何登录Oracle db、如何授予特权等更多信息,您可以尝试此答案:
sqlplus sys as sysdba
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.
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