单位有一台主Oracle服务器和一台备份Oracle数据库,目前主服务器上的表结构和数据都已导入到备份服务器中,由于导出时未导入用户和权限数据,造成备份服务器上的所有数据只能通过单一的数据库管理员帐号登录,很不安全。
    问题是: 由于数据量很大,不可能重新做全库导出导入,有什么方法只导出主服务器上的所有账户和权限数据,然后导入到备份服务器,使得通过其他帐号也可访问备份服务器?谢谢~~

解决方案 »

  1.   

    exp username/pwd@xxx grants=y owner=y file=filepath
      

  2.   

    exp user/ps@db grants=y   file=1.dmp rows=n user=username  ;imp ..ignore =y ....没你那样的环境。
      

  3.   

    先谢谢楼上的大侠们~~对这个Case而言,IMP/EXP可能不太合适,因为已有的数据导入导出是另外一个系统完成的,目前需要的工作只是在备份服务器上进行补充,加入主数据服务器上的用户和权限信息,有些用户并非模式所有者。
    我的思路是在SYSDBA下通过组织SQL语句实现用户、权限数据的导出,同样通过SQL语句插入到备份库中,关键是要熟悉存储用户和权限的系统表,那位大侠有这方面的经验,望不吝赐教,多谢!!
      

  4.   

    还要加上,dba_tab_privs 另最好如果可以的话,用session_roles session_privs,以及session_context
      

  5.   

    找到一个方法不知可否,选取原库用户名右键类似创建->输入相同用户名->点击显示SQL,得到的应该是创建相同权限用户代码。