oracle数据库控制已建表在不同用户下拥有不同权限

小弟目前遇到问题请朋友们帮忙
我已经建立N张代码表,
要求对这些代码表区分权限,
要求a表在x用户下能增删改,在y用户下只能查询,
要求b表在x用户下只能查询,在y用户下能增删改。
给个思路吧, 有点茫然。
多谢

分别给每个用户分配不同的权限。例如要求a表在x用户下能增删改,在y用户下只能查询,
grant update on a to x;
grant insert on a to x;
grant delete on a to x;
grant select on a to y;
或者你建立两个角色,然后去分配角色追问

能给讲讲 怎么建立角色,和分配角色吗?

追答

和权限是一样的,创建一个角色,然后给这个角色赋予权限,最后再把这个角色赋予给用户。看你这个问题用角色不太好处理,还是一个一个的分配吧

追问

我能给用户付角色, 我好像不能给角色付 增删改 吧,

追答

可以啊,和给用户赋予权限一样的。grant update on a to roles1

追问

你好,麻烦你,我按你的方法试了,grant select on a to x; 在x用户下可以查a表,
revoke select on a from x; 无效还是能查寻a表, 不知道是什么原因, 跪求!!!

追答

退出session,然后再进入

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-10-25
grant update on a to x;
grant delete on a to x;
grant select on a to x;
grant insert on a to x;
grant select on a to y;
grant select on b to x;
grant update on b to y;
grant delete on b to y;
grant insert on b to y;追问

你好,麻烦你,我按你的方法试了,grant select on a to x; 在x用户下可以查a表,
revoke select on a from x; 执行成功, 但plsql退出重进查寻a表还是能查, 不知道是什么原因, 跪求!!!

第2个回答  2012-10-25
直接受权就行了啊。
grant update on a to x;
grant insert on a to x;
grant delete on a to x;
grant select on a to y;追问

你好,麻烦你,我按你的方法试了,grant select on a to x; 在x用户下可以查a表,
revoke select on a from x; 执行成功, 但plsql退出重进查寻a表还是能查, 不知道是什么原因, 跪求!!!

oracle:为什么同一条sql在同一个数据库服务器ip、不同用户下执行会出现...
Object owner不一样,上面的是:CPABYL2,下面的是:CPABG3。虽然你访问的同一个服务器,执行的SQL也一样,但是用户不一样,访问的表也不一样。也就是说你的服务器上用户CPABYL2和CPABG3各自有一套table。

在ORCL数据库中如何实现不同用户间表的同步
方法1:首先在用户2中设置用户1可以访问用户2中一个或者多个的表的权限,数据同步应该需要all权限,使用grant语句就可以做到。然后在用户1中增加触发器就可以实现数据同步(方法较为简单,这种情况适合用户1和用户2在同一台服务器上)方法2:与方法1一样,设置权限,在用户1中写存储过程,通过事务控制,...

oracle数据库如何建用户并且赋权限?
Oracle中创建用户及分配权限是数据库管理的基础。用户概念在Oracle中至关重要,用于区分不同项目由不同用户访问。创建用户命令为:CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]。 LOCK|UNLOCK参数决定用户创建时是否锁定,默认锁定状态。锁定的用户无法正常登录。例如:CREATE USER dpb IDENT...

如何在oracle数据库中创建视图并分配权限?
在 Oracle 数据库中创建视图并分配权限,关键在于明确不同用户对数据的访问需求。假设我们希望仅向管理员展示工资超过5000的所有员工信息及其所属部门信息。此过程分为三个主要步骤:创建视图、设置权限标识、并实施权限控制。首先,创建视图以集成所需数据。以员工表 EMPLOYEE 和部门表 DEPARTMENT 为例,SQL...

oracle 不同用户 读取同一个视图怎么结果不一样呢?
用户不一样 可能是分配的权限不一样~几个例子:同样是查询有关 表的信息 的数据字典 dba_XXX 可以查看所有数据库对象 all_XXX 可以查看当前用户可存取的对象 user_XXX 仅能查看当前用户所拥有的对象

oracle数据库有哪些用户
Oracle数据库包含多种用户类型,分别扮演不同的角色和职责:1. 系统管理员用户(如SYS和SYSTEM):Oracle数据库设定了两个默认的管理员账户,即SYS和SYSTEM。其中,SYS账户负责维护数据库的物理和逻辑结构,拥有全面的权限。SYSTEM账户则专注于管理用户账户和执行特定的数据库管理任务。这些账户通常用于数据库...

Oracle数据库已赋予用户A对sys下3张视图的select权限,但访问的时候有张...
可能有两个原因:1,view1和view3是所有用户都有的,比如user_tables视图等,view2是sys用户独有的 2,view1和view3有建公共同义词,view2没建公共同义词 希望对你有帮助。

oracle不同用户之间共享相同的彪么
可以,通过权限管理实现。你可以把一张某个用户的表授权给其他用户。授权的方式grant select on tablename to XXXXX. 也可以授权update,delete等权利,这个要根据需要授权。注意:授权注意最小权限原则,不要授予过大的权限,不然如果发生问题,授权者要负最终责任的。

O2OA数据库配置-使用不同用户访问Oracle时报错-表或视图不存在
首先,确保你的环境已准备就绪:O2OA已下载并解压到指定位置,Oracle数据库已安装,且已创建实例和独立的用户账户。问题的核心在于,由于usera和userb拥有dba权限,当第一个服务器使用usera启动时,会自动创建相关数据库对象。但当userb在后续启动O2OA时,由于权限限制,其在userb的Schema下找不到由usera...

oracle不同的用户需要用不同表空间吗
Oracle数据库本身对用户和表空间没有特别的要求,不同用户可以使用同一个表空间,甚至可以直接使用系统表空间。CREATE USER USER_1 IDENTIFIED BY PASS DEFAULT TABLESPACE USERS;CREATE USER USER_2 IDENTIFIED BY PASS DEFAULT TABLESPACE USERS;但是出于后期运行维护和性能管理考虑,建议应用用户创建使用新的...

相似回答