Oracle创建视图显示无权限

问题:使用scott登录Oracle以后,创建视图,提示“权限不够”,怎么解决?

回答:

这是因为scott这个帐户目前没有创建视图的权限。解决方法为:

首先使用system帐户进行登录,其中“tigertiger”为安装Oracle时所指定的密码(可修改):

sqlplus system/tigertiger

然后执行:

grant create any view to scott

提示:授权成功。

执行:

exit

退出当前system帐户。

再使用sqlplus登录就可以创建视图了,如:

sqlplus scott/tigert

下面创建一个最简单视图:

create or replace view v1

as

select * from t1;

有时候上面的方法还是无法解决问题,就使用下面的方法:

--创建视图权限,一般网上找都是说的这句,但是光有这句还是无法创建

grant create  view to B;

--授予查询权限

grant select any table to B;

--授予权限

grant select any dictionary to B;

附录:如果以上方法不能解决您的问题,可以尝试以下方法。 反正我的问题是解决了,记录下来。害我找大半天;

描述:

同一个数据库:DB1

两个自定义用户:分别为 USER1、USER2

在USER1创建视图,其中试图内包含USER2中的表。 提示“权限不足”

执行以下SQL,根据自己用户不同需修改使用:

--为USER1授权

GRANT CREATE ANY TABLE TO USER1;

GRANT SELECT ANY TABLE TO USER1;

GRANT COMMENT ANY TABLE TO USER1;

GRANT LOCK ANY TABLE TO USER1;

GRANT SELECT ANY DICTIONARY TO USER1;

--为USER2授权

GRANT CREATE ANY TABLE TO USER2;

GRANT SELECT ANY TABLE TO USER2;

GRANT COMMENT ANY TABLE TO USER2;

GRANT LOCK ANY TABLE TO USER2;

GRANT SELECT ANY DICTIONARY TO USER2;

时间: 2024-11-05 22:07:51

Oracle创建视图显示无权限的相关文章

oracle创建用户、授予权限及删除用户1

oracle创建用户.授予权限及删除用户 创建用户 oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users; //创建临时表空间 create temporary tablespace test_temp tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf' size 32m autoextend on next 32m maxsize 204

oracle创建用户、授予权限及删除用户

创建用户 oracle对表空间 USERS 无权限 alter user 用户名 quota unlimited on users; //创建临时表空间 create temporary tablespace test_temp tempfile 'E:/oracle/product/10.2.0/oradata/testserver/test_temp01.dbf' size 32m autoextend on next 32m maxsize 2048m extent management

SQLServer和Oracle创建视图用户

在数据集成的开发中,经常会需要给对方创建视图,让其可以查看一些必要的数据.既在数据库中创建用户,并赋给该用户查询视图的权限 一.SQLServer --创建登录用户账户USE [master] GO CREATE LOGIN [kyst] WITH PASSWORD=N'xxx', DEFAULT_DATABASE=[RDSYSCASV121003], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON --创建数据库用户 USE [RDSYSCASV121003] GO

怎样给某一用户创建视图的最小权限

问题: 今天群里有位同学提问:我怎样可以给某一用户在dbo架构中创建视图的最小权限? ------------------------------------------------------------------------------------------- 第一想法很简单无非是: CREATE ROLE MyRole; GO GRANT CREATE VIEW TO MyRole; GO CREATE USER MyUser WITHOUT LOGIN; GO EXEC sp_add

oracle创建视图以及如何创建表

数据库对象 视图 视图称为虚表,在数据库中不存在实体. 试图本质上对物理表的一种数据保护,让开发者或者用户只能看到局部数据. 创建视图 形式: create or replace view as selecr   e.empno,e.ename,e.job,e.mgr,e.hiredate,e.deptno from emp e; 使用视图也可以进行一些数据的增 删 改 查 ,但通过视图添加的数据,数据最终添加到物理表中,因为视图是虚表. 视图一般只是基表的部分数据,通过视图向基表添加数据时,基

Oracle(创建视图)

概念: 视图:所谓视图就是提取一张或者多张表的数据生成一个映射,管理视图可以同样达到操作原表的效果,方便数据的管理以及安全操作. 视图其实就是一条查询sql语句,用于显示一个或多个表或其他视图中的相关数据.视图将一个查询的结果作为一个表来使用,因此视图可以被看作是存储查询结果的一个虚拟表.视图来源于表,所有对视图数据的修改最终都会被反映到视图的基表中,这些修改必须服从基表的完整性约束. 视图的存储 与表不同,视图不会要求分配存储空间,视图中也不会包含实际的数据.视图只是定义了一个查询,视图中的数

ORACLE 创建视图索引序列

/* 视图View 视图是从若干基本表和(或)其他视图构造出来的表 视图存放的都是查询语句,并没有真实的数据 虚表 作用 限制对数据的操作 复杂查询变简单 提供相同数据的不同显示 UNION ALL 直接添加到一起 UNION 添加到一起并去重 */ --赋予scott用户创建视图的权限 sqlplus / as sysdba; GRANT CREATE VIEW TO SCOTT; --创建视图 CREATE OR REPLACE VIEW V_EMP AS SELECT * FROM EMP

SQLSERVER 和 ORACLE 创建视图

SQLSERVER if exists(select * from sysobjects where id=OBJECT_ID(N'VW_SZYD_YTCT') and objectproperty(id,N'IsView')=1) drop view VW_SZYD_YTCT --删除视图go create view VW_SZYD_YTCT --创建视图asSELECTK.SZYDHYB_NM AS HYNM,K.SZYDHYB_TBDWBH AS TBDWBH,K.SZYDHYB_TBDW

ORACLE对表空间ICITY无权限

imp导入表时,提示:对表空间'ICITY'无权限. 经过百度,查看到用DBA的用户登陆,写SQL语句执行即可授权. alert user dg_bagsh quota unlimited on icity; alert user dg_bagsh quota unlimited on icity; alert user dg_bagsh quota unlimited on icity; alert user dg_bagsh quota unlimited on icity; alert u