zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

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

Oracle导入数据 空间 Tablespace IMP Users 问题
2023-09-27 14:26:37 时间
imp/exp 用户 表空间 users tablespace 使用exp把用户pwgh的数据导出后,再使用imp把数据导入另外一个数据库时。 发现一个问题,由于数据的导出用户pwgh的一些表建在表空间users里, 而我想把这些数据全部导入到另外一个数据库的某个表空间里,例如表空间pwgh_fs_tablespace。

原文链接
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


探秘Oracle表空间、用户、表之间的关系 之前的DRP项目虽然用到了oracle,但是所有数据库对象的建立都是按文档来的,并没有仔细思考总结,后面再次用到oracle时,不能再那么糊里糊涂的用了,得稍微探索一下下了,究竟这些oracle中的数据库对象之间都存在什么关系呢?