ORACLE: 用户权限的问题(典型问题的处理)

同事进行数据库的数据导入操作,下面是相应的数据环境和说明:

导出的用户: abc, 默认表空间OA_INFO, 数据库9208

SQL> select * from user_role_privs;

USERNAME                    GRANTED_ROLE                   ADM DEF OS_
--------------------------- ------------------------------ --- --- ---
ABC                         CONNECT                        NO  YES NO
ABC                         DBA                            NO  NO  NO
ABC                         EXP_FULL_DATABASE              NO  YES NO
ABC                         IMP_FULL_DATABASE              NO  YES NO
ABC                         RESOURCE                       NO  YES NO

要导入的用户: arc_abc, 默认表空间ARC_ABC, 数据库9205

SQL> select * from user_role_privs;

USERNAME                    GRANTED_ROLE                   ADM DEF OS_
--------------------------- ------------------------------ --- --- ---
ARC_ABC                     CONNECT                        YES NO  NO
ARC_ABC                     DBA                            NO  NO  NO
ARC_ABC                     EXP_FULL_DATABASE              NO  NO  NO
ARC_ABC                     IMP_FULL_DATABASE              NO  NO  NO
ARC_ABC                     RESOURCE                       YES NO  NO
PUBLIC                      PLUSTRACE                      NO  YES NO

导入时出现:
Import: Release 9.2.0.5.0 - Production on Wed May 21 09:33:54 2008
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Username: arc_ABC
Password:
Connected to: Oracle9i Enterprise Edition Release 9.2.0.5.0 - 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.5.0 - Production
Import file: expdat.dmp > abcmove_20080517.dmp
Enter insert buffer size (minimum is 8192) 30720>
Export file created by EXPORT:V09.02.00 via conventional path
IMP-00013: only a DBA can import a file exported by another DBA
IMP-00000: Import terminated unsuccessfully

一阵瞎操作后,发现user_role_privs(default_role)这一字段上的输出不一样,
abc(CONNECT/RESOURCE/EXP_FULL_DATABASE/IMP_FULL_DATABASE)的,
arc_abc(PLUSTRACE)的, abc和arc_abc激活的权限是完全不同的!!!

使用命令 alter user arc_abc default role all 进行激活,重新进行数据导入,
一切OK.

相关的语法:
alter user USERNAME default role all [ except ROLENAME];

请使用浏览器的分享功能分享到微信等