如题,如何查询用户自定义的角色。
我需要将数据从32位平台迁移到64位平台上,同数据库版本,同操作系统版本,只是CPU平台不一致而已。
使用RMAN试过了,中间存在很多问题,最后还是放弃。
而使用EXP\IMP,比较先建库-->建表空间-->建角色-->建用户-->导入数据,所以想知道原库中哪些角色是用户自定义,
对于这部分的角色需要在目标库上手工创建,不然IMP时报很多角色没找到错误。

解决方案 »

  1.   

    desc dba_tab_privs;
    其中的owner就是角色拥有者select distinct owner from dba_tab_privs;其中一些是系统用户,一些是数据库自带的用户,还有一些是建库后创建的用户,关联到角色表就可以查到了
      

  2.   

    不好意思,搞错了,那是对象权限,角色应是dba_roles
      

  3.   

    dba_roles中定义的角色,系统和用户定义的都在一起,没有字段区分,有办法查数据库中哪些角色是用户自定义的吗?
      

  4.   

    使用对比也是一种好的方法,不过ORACLE应该不至于这么弱吧,应该有办法能区分的吧,求解!
      

  5.   

    查看当前用户的角色信息:select * from user_role_privs;
    看看就知道了,一般就那么几个权限