Sql oracle 10g中的权限不足

Sql oracle 10g中的权限不足,sql,oracle,Sql,Oracle,我已经创建了一个表,如下所示 该表的结构如下: 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)); 当我想创建如下视图时,sql plus会给我错误“权限不足” Create View advanced_data as

我已经创建了一个表,如下所示

该表的结构如下:

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));
当我想创建如下视图时,sql plus会给我错误“权限不足”

Create View advanced_data as
(
select name,dept,dist,salary from advanced
);
我如何解决这个问题

来自:

要创建视图,必须满足以下要求:

您必须已被授予“创建视图”权限才能在中创建视图 架构或创建任何视图以在其他用户的架构中创建视图 系统权限,可以是显式的,也可以是通过角色的

必须明确授予您选择、插入、更新或删除的权限 删除视图或基础的所有基础对象的对象权限 选择任意表、插入任意表、更新任意表或删除 任何表系统权限。你可能没有得到这些 通过角色获得特权

此外,为了允许其他用户访问您的视图,您 必须已收到对具有的基本对象的对象权限 向管理员授予选项或适当的系统权限 选择。如果您没有,则受让人无法访问您的视图

因此,您需要执行以下查询以获得用户创建视图的权限:

GRANT CREATE VIEW TO username
《公约》还明确规定:

包含视图的架构的所有者必须具有该权限 从所有行中选择、插入、更新或删除行所必需的 视图所基于的表或视图。所有者必须是 直接授予这些特权,而不是通过角色授予

发件人:

要创建视图,必须满足以下要求:

您必须已被授予“创建视图”权限才能在中创建视图 架构或创建任何视图以在其他用户的架构中创建视图 系统权限,可以是显式的,也可以是通过角色的

必须明确授予您选择、插入、更新或删除的权限 删除视图或基础的所有基础对象的对象权限 选择任意表、插入任意表、更新任意表或删除 任何表系统权限。你可能没有得到这些 通过角色获得特权

此外,为了允许其他用户访问您的视图,您 必须已收到对具有的基本对象的对象权限 向管理员授予选项或适当的系统权限 选择。如果您没有,则受让人无法访问您的视图

因此,您需要执行以下查询以获得用户创建视图的权限:

GRANT CREATE VIEW TO username
《公约》还明确规定:

包含视图的架构的所有者必须具有该权限 从所有行中选择、插入、更新或删除行所必需的 视图所基于的表或视图。所有者必须是 直接授予这些特权,而不是通过角色授予


这似乎表明您的用户没有创建视图的权限

要解决此问题,请执行以下步骤: sys用户以sysdba身份登录sqlplus,然后运行此命令

GRANT CREATE VIEW TO <user Name>;
GRANT CREATE ANY VIEW TO <user Name>;
ORA-01031:当您试图执行尚未授予您适当权限的程序或函数时,会发生权限不足错误

对于DBA,如果目标OS可执行文件没有读取和执行权限(例如UNIX/Linux中的770),并且确保oracle用户是DBA组的成员(例如/etc/group),则可能发生ORA-01031。Windows注册表中也有类似的权限


在Oracle内部,ORA-01031:权限不足错误可以通过以具有无限数据库权限的sysdba身份登录来避免。

这似乎表明您的用户没有创建视图的权限

要解决此问题,请执行以下步骤: sys用户以sysdba身份登录sqlplus,然后运行此命令

GRANT CREATE VIEW TO <user Name>;
GRANT CREATE ANY VIEW TO <user Name>;
ORA-01031:当您试图执行尚未授予您适当权限的程序或函数时,会发生权限不足错误

对于DBA,如果目标OS可执行文件没有读取和执行权限(例如UNIX/Linux中的770),并且确保oracle用户是DBA组的成员(例如/etc/group),则可能发生ORA-01031。Windows注册表中也有类似的权限


在Oracle内部,ORA-01031:权限不足错误可以通过以sysdba身份以无限数据库权限登录来避免。

一般来说,不要放弃ORA-。。。错误代码。这是寻找解决方案的关键工具。一般来说,不要放弃ORA-。。。错误代码。它是寻找解决方案的关键工具。