ORACLE8的用户权限问题
在ORACLE8中,我想设置一个用户让他只能对特定的表进行数据更新,不能修改或查看其它表中的数据,我应该怎么设置? 问题点数:50、回复次数:3Top
1 楼boydgmx(授人以鱼不如授人以渔(baidu&google))回复于 2006-03-03 13:40:25 得分 20
用户 A、B
CREATE TABLE A.TEST1( ID NUMBER(4));
CREATE TABLE A.TEST2( ID NUMBER(4));
GRANT CREATE SESSION TO B;
GRANT SELECT,UPDATE ON A.TEST1 TO B;
CREATE SYNONYM B.TEST FOR A.TEST1;
此后 B 可以通过更新 B.TEST 来更新 A.TEST1 这个表。
Top
2 楼szj0213(szj0213)回复于 2006-03-03 14:16:15 得分 0
我对ORACLE不是很了解,原以为只要在建立用户的时候分配某些权限就可以了,弱弱的问一下:
楼上的意思是不是A、B两个用户分别建立在2个表空间内?
这些语句应该写到哪里?
还有建立B用户的时候security中应该分配哪些权限?
Top
3 楼cenlmmx(学海无涯苦作舟)回复于 2006-03-03 14:43:27 得分 30
用户和表空间没有必然相关性,可以两个用户在一个表空间上,也可以在不同的表空间上.
如果用户自己创建的表都是能select和update等等.
如果要对另外的用户A的表进行DML(select,update等),就要用户A给本用户权限才能进行操作.
connect 用户A
grant update on 要修改的表 to 本用户
一般开发的话,就给两个connect,resource(不用分得太细)
sql>grant connect to user;
sql>grant resource to user;Top




