Oracle权限的设置

ChinaITOldMan 2018-01-10 08:14:33

1. 怎样设置用户A只对Scott用户与自己的各中对象有所有权限,下面的设置好象不太好(对目前表设置select),有没有更好的写法?
select 'grant select on '|| tablename ||' to user1;' from tab;

2. 是否可以建立一个用户,该用户建立的所有数据对象都在另外一个用户下,不能在自己的用户下建立各种数据对象?请问怎样设置?

3. Oracle中的Resource与DBA用户分别包括哪些权限?
...全文
493 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ChinaITOldMan 2018-01-13
  • 打赏
  • 举报
回复
thanks everyone!
ZHOU西口 2018-01-11
  • 打赏
  • 举报
回复
对,根据SELECT * FROM DBA_OBJECTS WHERE OWNER='A',查A的所有对象。导出来,再导入B,就可以了
ChinaITOldMan 2018-01-11
  • 打赏
  • 举报
回复
引用 5 楼 splendid_java 的回复:
[quote=引用 4 楼 mcxhh2005 的回复:] [quote=引用 3 楼 jdsnhan 的回复:] 1、就用你写的语句,生成结果集,然后批量处理 2、做好事不留名?权限足够大的话,可以用 create 另外一个用户.tablename ()......但,为什么有这样的需求呢? 3、查询select * from dba_sys_privs视图。
谢谢您的指点! 2. 第二个问题,我是想在程序开发过程用,让某一用户登录Oracle数据库,但是他建立的所有对象只能在另一用户的schema中,是不想他和另外的同事共用一个用户登录,请问怎样实现?谢谢![/quote] 说白了,就是两个用户,两份schema,你可以复制一个db出来。[/quote] 谢谢,请教个问题,若我在数据库中所有开发对象与数据都保存在用户A中,那么在备份时是不是我只需要备份方案A中的所有内容就OK?
ZHOU西口 2018-01-11
  • 打赏
  • 举报
回复
引用 4 楼 mcxhh2005 的回复:
[quote=引用 3 楼 jdsnhan 的回复:] 1、就用你写的语句,生成结果集,然后批量处理 2、做好事不留名?权限足够大的话,可以用 create 另外一个用户.tablename ()......但,为什么有这样的需求呢? 3、查询select * from dba_sys_privs视图。
谢谢您的指点! 2. 第二个问题,我是想在程序开发过程用,让某一用户登录Oracle数据库,但是他建立的所有对象只能在另一用户的schema中,是不想他和另外的同事共用一个用户登录,请问怎样实现?谢谢![/quote] 说白了,就是两个用户,两份schema,你可以复制一个db出来。
ChinaITOldMan 2018-01-11
  • 打赏
  • 举报
回复
引用 3 楼 jdsnhan 的回复:
1、就用你写的语句,生成结果集,然后批量处理 2、做好事不留名?权限足够大的话,可以用 create 另外一个用户.tablename ()......但,为什么有这样的需求呢? 3、查询select * from dba_sys_privs视图。
谢谢您的指点! 2. 第二个问题,我是想在程序开发过程用,让某一用户登录Oracle数据库,但是他建立的所有对象只能在另一用户的schema中,是不想他和另外的同事共用一个用户登录,请问怎样实现?谢谢!
jdsnhan 2018-01-11
  • 打赏
  • 举报
回复
1、就用你写的语句,生成结果集,然后批量处理 2、做好事不留名?权限足够大的话,可以用 create 另外一个用户.tablename ()......但,为什么有这样的需求呢? 3、查询select * from dba_sys_privs视图。
ChinaITOldMan 2018-01-11
  • 打赏
  • 举报
回复
引用 1 楼 splendid_java 的回复:
1、如果LZ不嫌麻烦,"grant *** to user"的格式。当然为了简便和避免出错,一般会从别的用户复制权限,如LZ第1条所示。 2、第2条不理解,为什么会有这种想法? 3、RESOURCE是oracle中的一个权限角色,可以通过:select grantee,privilege from dba_sys_privs where grantee='RESOURCE' order by privilege; 执行查看详细权限。 DBA当然是不限操作的,拥有oracle的所有角色和其他权限。
您好!谢谢指点。 1第一个问题中,我就嫌弃我知道的那种写法复杂,有没有什么其他简洁的方法? 如:怎样快速将某一用户的所有权限设置给另一用户。 2. 第二个问题,我是想在程序开发过程用,让某一用户登录Oracle数据库,但是他建立的所有对象只能在另一用户的schema中,请问怎样实现? 谢谢!
ZHOU西口 2018-01-10
  • 打赏
  • 举报
回复
1、如果LZ不嫌麻烦,"grant *** to user"的格式。当然为了简便和避免出错,一般会从别的用户复制权限,如LZ第1条所示。 2、第2条不理解,为什么会有这种想法? 3、RESOURCE是oracle中的一个权限角色,可以通过:select grantee,privilege from dba_sys_privs where grantee='RESOURCE' order by privilege; 执行查看详细权限。 DBA当然是不限操作的,拥有oracle的所有角色和其他权限。

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧