导出一个schema,会将table的所有用户的privelege都导出的吗?比如有一个table,有两个role,分别grant了不同的操作,导出的时候肯定是以某一个role进行操作的,那么导出的privelege包括这两个role的,还是只包括当前操作的那个role的?我手上有一份ddl的,发现左右的table只grant了一个select操作给一个role,这个有问题吗?
调试欢乐多
这里的权限与当前执行exp的用户无关,具体的说,某一特定表上有多少授权,所有这些权限均被导出!
thanks!
只有select权限,table的数据都是怎样被insert进去的呢?
就是这个意思既然只有select的privelege,那是怎么insert进去的呢?
1 sys用户对数据库里的任何表都有insert权限。2 该表的所有者(即owner)对该表有insert权限。3 可能存在其他role对该表有insert权限,该这些role被授予用户,则这些用户也对该表有insert权限。4 ...........
1. app使用的肯定不是sys级别的
2. 确定不是该表的owner去操作的
3. 目前只有发现select被grant给了一个role,
为啥没有其他的insert被grant给某个或某些role呢
这样的话某个user才有可能被assign了某个role而具有insert权限
SQL> show user
USER 为 "EHT"
SQL> insert into scott.emp (empno,ename) values (7,'帕托');
insert into scott.emp (empno,ename) values (7,'帕托')
*
第 1 行出现错误:
ORA-00942: 表或视图不存在
SQL> conn sys/top10@test as sysdba
已连接。
SQL> grant dba to eht;授权成功。SQL> conn eht/eht@test
已连接。
SQL> show user
USER 为 "EHT"
SQL> insert into scott.emp (empno,ename) values (7,'帕托');已创建 1 行。SQL> commit;提交完成。SQL>