您的位置:首页 > 数据库 > Oracle

oracle 导入(imp)数据时的表空间(tablespace users)问题

2016-03-10 13:23 423 查看
原文链接

imp/exp 用户 表空间 users tablespace

使用exp把用户pwgh的数据导出后,再使用imp把数据导入另外一个数据库时。

发现一个问题,由于数据的导出用户pwgh的一些表建在表空间users里,

而我想把这些数据全部导入到另外一个数据库的某个表空间里,例如表空间pwgh_fs_tablespace。

虽然在创建用户的时候指定该用户的默认表空间(pwgh_fs_tablespace),但是还是有些表导入表空间users里。

查了一下发现使用如下步骤就可以把数据全部导入表空间pwgh_fs_tablespace里。

1. 使用DBA用户收回用户pwgh_fs的unlimited tablespace权限。

——-收回用户在表空间上配额大小无限制的权限

revoke unlimited tablespace from pwgh_fs;

2. 取消用户pwgh_fs在表空间users上的配额。

—-给用户分配某个表空间的可用大小限额

alter user pwgh_fs quota 0 on users;

——为了防止用户在表空间pwgh_fs_tablespace上的配额不足,使用如下sql让用户在该表空间上不限配额。

alter user pwgh_fs quota unlimited on PWGH_FS_TABLESPACE;

这样再导入,就会把数据都导入表空间pwgh_fs_tablespace。

实际上就是让用户pwgh_fs可用的表空间只有pwgh_fs_tablespace这一个表空间就行了。

使用到的exp和imp语句:

exp pwgh/pwgh_test@FSPWGH_CS file=”d:\oracle_temp\pwgh_fs_table20111103.dmp” owner=(pwgh)

imp pwgh_fs/pwgh_fs@pwgh file=”d:\oracle_temp\pwgh_fs_table20111103.dmp” full=y
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: