暂无图片
oracle 里创建的多个用户, 应用数据源配置的是各自的用户, 程序是一样的, 发现有串库的情况发生, A程序应该写到A用户 , 现在写到B用户下面了,怎么解决?
我来答
分享
刺史武都
2021-10-14
oracle 里创建的多个用户, 应用数据源配置的是各自的用户, 程序是一样的, 发现有串库的情况发生, A程序应该写到A用户 , 现在写到B用户下面了,怎么解决?

oracle 里创建的多个用户, 应用数据源配置的是各自的用户,  程序是一样的, 发现有串库的情况发生, A程序应该写到A用户 , 现在写到B用户下面了,怎么解决?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
JiekeXu
暂无图片

检查 A 用户的权限,如果权限正常,不会写到 B 用户的。

1、查询用户有哪些角色:
select *  from dba_role_privs where grantee='&username';
2、查询角色包含哪些权限:
select *  from role_sys_privs where  role='&role';
3、查询用户权限:
select  *  from dba_sys_privs where  grantee='&username';
select  *  from dba_tab_privs where  grantee='&username';

一般我建用户,权限最小化如下

create user odsr_jies identified by iat11452 default tablespace odsr_jies_data;
grant connect,resource to odsr_jies;
grant create view to odsr_jies;
grant create synonym to odsr_jies;
grant create sequence to odsr_jies;

--11g 因 connect,resource 附带了 unlimited tablespace,需要回收此权限。 
revoke unlimited tablespace from odsr_jies;
alter user odsr_scf quota unlimited on odsr_jies_data;

以上,供参考!

暂无图片 评论
暂无图片 有用 1
暂无图片
刺史武都
题主
2021-10-14
感谢
DarkAthena

建议检查程序,看看是不是在代码中,表名前面强制指定了用户名。

暂无图片 评论
暂无图片 有用 0
JiekeXu
2021-10-14
没有权限,就算指定用户名也没法写入吧
DarkAthena
答主
2021-10-14
您说的没错,如果收回了权限,应该会马上发现程序有一堆报错,这样并没有解决问题,如果不能发现问题所在,则无法避免未来由于这个问题引起更多问题
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏