我在把数据库从测试机迁移到正式库之后,有些对象需要重新授权给用户?有些用户需要授予另一些权限?  数据库备份:exp system/manager@TESTDB file=.. full=y
  数据导入:imp sys/change@TRUEDB as sysdba file=..  导入完成后,重新编译所有对象,在GIS用户下的某些程序包会通不过编译,需要把DBMS_LOCK授权给GIS用户才行?  在使用基于数据库的应用程序过程中,所有用户在使用某个功能时会报“表或视图不存在”,给所有应用程序用户授权
 grant select any dictionary to xx.后,才可正常使用。
  但是,我进入测试机
  conn system/manager@TESTDB
  select * from dba_sys_privs where grantee='xx';
  发现用户xx并没有select any dictionary的权限,为什么数据迁移后,需要给用户授予这个权限才可正常使用应用?
  另外,我做全数据库导入/导出,所有的权限信息不都迁移过来了吗?为什么我还要做一些授权的操作?

解决方案 »

  1.   


    楼主导入到生产库之前,生产库是空的吗? 如果是全库导入的话,应该不会出现这个问题。 imp时加个参数看看:ignore=y如果不行就重新新建个实例,在导.. 还有,2个库版本一样吗? 
    ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716 
      

  2.   

    to: tianlesoftware  生产库是空的,版本也一样。  在本地机建过几个实例,都是这样。
      

  3.   

    1.导入时用户是system,而导入则为sys
    2.为啥不新建个用户,而用系统自带的用户啊
      

  4.   


    up。 都用sys用户来导出导入看看...
    ------------------------------------------------------------------------------
    Blog: http://blog.csdn.net/tianlesoftware
    网上资源: http://tianlesoftware.download.csdn.net
    相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
    Q Q 群:62697716