oracle 如何导入dmp文件到指定表空间
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
oracle 如何导入dmp文件到指定表空间
2010年01月14日星期四 13:27
1. 打开工具Oracle SQL Plus 以dba身份登录sys用户
user: sys
password: sys
主机字符串(H):orcl as sysdba
2. 创建用户并指定表空间
--create user 用户名 identified by 密码 default tablespace 缺省表空间Temporary tablespace 临时表空间;
drop user jandardb cascade;
create user jandardb identified by jandardb;
alter user jandardb default tablespace jandardb;
grant connect,resource,dba to jandardb; --grant
connect,resource,dba to 用户名;
revoke unlimited tablespce from jandardb; --revoke unlimited tablespace from 用户名;
alter user jandardb quota 0 on users; --alter user 用户名 quota 0 on Users;
alter user jandardb quota unlimited on jandardb; --alter user 用户名quota unlimited on 用户缺省表空间;
3. 使用imp工具导入dmp数据文件
imp jandardb/jandardb@orcl file=c:\jandardb.dmp fromuser=jandardb touser=jandardb log=c:\log.txt
数据库中用户try的数据一直放在system表空间中;今天把该用户的所有数据exp到文件try.dmp中,准备再导入到另一个测试数据数据中的test 用户中,同时放在test表空间中。
1、在第一个数据库导出数据:exp try/try wner=try file=/try.dmp
log=try.log
2、将try.dmp ftp到第二个数据库所在主机上
3、在第二个数据库导入数据:imp test/test fromuser=try touser=test file=/try.dmp log=test.log
但是导完后发现数据任然被导入到了system表空中。
后通过查询后得知,要成功导入其他表空间需要
1、先将test用户在system空间中的UNLIMITED TABLESPACE权限回收:REVOKE UNLIMITED TABLESPACE FROM test
2、设置默认表空间:alter user test default tablespace test
3、设置默认的表空间无限配额:alter user test quota unlimited on test
4、设置特斯通用户对其他表空间的quota为0:alter user test quota 0 on system。。。。。。。
再重新导入try.dmp,这是数据全部导入到test表空中了。