在oracle数据库需要建立三个普通用户分别为A、B、C,这三个用户使用不同的表空间和索引空间,要实现这三个用户之间的表能相互访问,用户A建的表用户B、C都能执行查询、更新、插入等操作,用户B建的表用户A、C都能执行查询、更新、插入等操作,用户C建的表用户B、A都能执行查询、更新、插入等操作,但用户A、B、C不能访问其他用户建立的表,当然这三个用户的表是指现在已经建好的和现在还没有建以后会建的表。
解决方案 »
- 急,急,急,plsql连接oracle 数据库问题,请求大侠帮帮忙,问题解决分是大大的有
- 请教高手一条SQL语句
- 求一个存储过程
- 又是问题:oracale8不支持left outer join 么,在线急等!立即揭帖
- 安装ORACLE的问题
- 资料档案库在建立过程中,机器突然熄火?怎么删除?
- 请问怎么在Oracle中进行如建表,修改表等这样简单的操作!
- 请教关于查询问题
- 十万火急!关于oracle jdbc “无法从套接字读取更多的数据”的问题
- 请教各位,如何定义一个Identity?
- 请教Oracle9i SQL查询语句
- oracle 数据库打不开了 ;错误 ORA-01219 : 数据库未打开:仅允许在固定表、视图中查询
用户。这样3个用户之间已经存在的都可以访问。
上述是针对已经存在数据表,对于还没有建立的表,在建立的时候的权限进行类似的处理即可。也可以开发程序,自动进行授权操作。谢谢!
Oracle系统中用户权限的赋予,查看和管理.
在Oracle数据库中,用户的权限分为两种(在这里我们不讨论dba或dbopr的权限,只考虑普通用户的权限),分别是System Privilege系统权限 和User Table Privilege用户数据表权限.1.首先,创建用户,以下几条命令可以创建一个用户,前提是必须以DBA的身份登录(如果你不是DBA,不要看下去了):create user DB_USER identified by DB_USER_PW '创建用户DB_USER,密码为DB_USER_PWgrant create session to DB_USER '给用户创建会话的权限grant resource to DB_USER 2.当用户建立后,会自动在Oracle数据库系统中生成属于该用户的Scheme (可以理解为所有属于该用户的表,视图....等对象的集合).该用户可以将对这些对象的访问权限赋予其它的系统用户.3.该用户用sqlplus登录后,以下命令可以看到该用户的权限(该部分取自于CNOUG网站):本用户读取其他用户对象的权限:
select * from user_tab_privs;
本用户所拥有的系统权限:
select * from user_sys_privs;
oracle的权限设置只对当前有的对象
你可以把A、B、C当前有的对象让它们互相访问、互相使用
不过以后再产生的对象就不行了,需要再次授权
你可以另外搞个数据库给ABC三个人用,让他们都是DBA就行了
你这样仅仅是开发实验环境吧,实际应用部署的时候这样成本太高了吧。ORACLE是要版权的。
呵呵
BEGIN
FOR i IN (SELECT table_name FROM user_tables) LOOP
EXECUTE IMMEDIATE 'GRANT ALL ON '||i.table_name||' TO USER_B;
END LOOP;
END;
/