现有一个java+oracle的项目,数据库表有两类,一类是对权限比较高的,如数据字典,系统设置之类的表,第二类是普通级别的,想在oracle中设计这两类表。应该怎么设计呢?
我的想法是建两个用户,假设user1对应第一类,user2对应第二类,把user1设置一些管理第二类表的权限,可是这样设计的话,java连接oracle时用哪个用户呢,用user1权限太大,没有达到目地,用user2又操作不了第一类表。望指点!
当然还可以直接用java来控制权限,但不想这样,需用oracle。
我的想法是建两个用户,假设user1对应第一类,user2对应第二类,把user1设置一些管理第二类表的权限,可是这样设计的话,java连接oracle时用哪个用户呢,用user1权限太大,没有达到目地,用user2又操作不了第一类表。望指点!
当然还可以直接用java来控制权限,但不想这样,需用oracle。
解决方案 »
- oracle里的date类型怎么查询呢?
- 将sql转换成oracle,就一条sql
- oracle通过时间查询的时候,一个时间分为俩个查询,和一个查询的结果不同
- 按时间段统计的SQL
- exists 语句只可以在select语句中使用吗?
- 巨多oracle开发、管理书籍!
- 老问题,推荐oracle电子书籍和下载地点,谢谢
- 一个关于oracle逻辑备份的问题
- 初学oracle,小问题
- 请教oracle的一个奇怪问题:我的系统数据库在数据库服务器上可以顺利连接,但从客户端就怎么都连接不过去,提示无法处理服务名,我的这些
- 两台服务器的ORACLE版本和初始化参数都配置的基本一样的, 但是同一条SQL的执行计划和效率相差很大(一个是HASH JOIN,一个是NESTED LOOP),不知为何?请看一下
- oracle_10g_home中写了个函数,编译出错,大家帮忙看下,谢谢!
grant select,update,insert,delete to user2;
细节部分可在程序中进行控制。
目地是要user2不能INSERT UPDATE DELETE 第一类表,只能select,这里好像要用java来判断用户类型来控制权限了,有没有更好的办法啊?
这个不方便的是,注销重新登录时,需要重新初始化。
For system management, use the first db connection with user1.
For normal operation, use the second db connection with user2.
1.把大权限的表用user1创建
2.grant select on user1.table to user2
这样user2就只能select了。
1\grant dba to user1
2\grant select on user1.table to user2.
就是user2不能INSERT UPDATE DELETE 第一类表了,如果执行这些操作会报错, 可还是要用java来获取错误或者来判断它不能操作才行啊我想好像还是要写两个连接,根据用户判断是user1还是user2类型,连接不同的连接,还有其它好的办法没?