ORACLE导入数据时如何指定表空间

操作系统: 未知 数 据 库: Ora 9i
软件版本: PS未知 软件模块: 安装配置
问题描述:
   使用IMP导入数据后,数据全部导入了原备份数据的表空间。如果表空间自动增长的选项关闭了,则会造成表空间剩余空间不足,需要及时进行扩充。
产生原因: 数据导入原表空间的原因是因为缺省用户具有DBA权限,这样导入时会按照原来的位置导入数据,即导入原表空间,因此需要回收用户的UNLIMITED TABLESPACE权限,这样才能导入到用户缺省的表空间。
解决方法:
   问题环境:
ORACLE8i,ORACLE9i

解决方案:
假设原001帐套的备份数据恢复到003帐套上。
1. 在命令提示符下导出数据
EXP  LC0019999/AAAAAA@SERVERNAME FILE=D:\ORADB001.DMP

2、使用帐套管理新建帐套003

3、在SQLPLUS中删除用户LC0039999
SQL>DROP USER LC0039999 CASCADE;

4、创建用户LC0039999
SQL>CREATE USER LC0039999 IDENTIFIED BY AAAAAA DEFAULT TABLESPACE GS_ORADB_003 TEMPORARY TABLESPACE TEMP;

5、授予用户connect,resource权限
SQL>GRANT CONNECT,RESOURCE TO LC0039999;

6、授予用户DBA权限
SQL>GRANT DBA TO LC0039999;

7、回收用户UNLIMITED TABLESPACE权限
SQL>REVOKE UNLIMITED TABLESPACE FROM LC0039999;

8、收回用户LC0039999在GS_ORADB_001表空间分配的权限
SQL>ALTER USER LC0039999 QUOTA 0 ON GS_ORADB_001;

9、更改用户LC0039999在GS_ORADB_003表空间分配的权限为UNLIMITED(无限制)
SQL>ALTER USER LC0039999 QUOTA UNLIMITED ON GS_ORADB_003;

10、退出SQL PLUS
SQL>EXIT

11、在命令提示符下导入数据
IMP LC0039999/AAAAAA@SERVERNAME FILE=D:\ORADB001.DMP FROMUSER=LC0019999 TOUSER=LC0039999 GRANTS=N

原创文章,转载请注明: 转载自浪潮888博客

本文链接地址: ORACLE导入数据时如何指定表空间

文章的脚注信息由WordPress的wp-posturl插件自动生成



This entry was posted in 浪潮文档. Bookmark the permalink.

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>