oracle表备份的问题
我想从服务器上的另一用户中导出一张表,但是提示没有权限。
以下是日志:
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
已导出 ZHS16GBK 字符集和 AL16UTF16 NCHAR 字符集
即将导出指定的表通过常规路径...
EXP-00009: 没有导出 JWXT 的表 SYS_XY 的权限
导出成功终止, 但出现警告。
Export finished on 2012/12/9 12:33:20
这应该是要授予那个权限呢
------解决方案--------------------EXP-00009,可能的原因:
1)buffer大小,存储容量要大于你备份的数据量
2)权限问题,有两种方法可以处理:
直接授权:
首先在执行导出其它用户表时,要具有export full database权限,
而这个权限是在exp_full_database角色下的
而你在使用exp执行导出时,用户默认角色集中一般没有export full database权限,所以
导出时出现错误
所以你可以把这个权限赋于它,并且修改默认角色集中包含export full tablespace权限:
grant exp_full_database to uname;
alter user uname default role resource,connect,exp_full_database....
间接授权:
在另一个用户下:
create table table_name as select * from JWXT.SYS_XY
然后expdp or exp
3)再不行,@?/rdbms/admin/catexp.sql重新跑一下这个脚本试试
------解决方案--------------------CSV如果你用SQLLDR也很快啊,oracle自带的exp/imp,expdp/impdp,sqlldr一般比plsql工具快吧
------解决方案--------------------首先以管理员的身份登入,然后执行
grant exp_full_database to 用户