第一种情况:
目标数据库中存在与导出用户的缺省表空间同名的表空间,此时,一定要将导入用户的 unlimited tablespace 权限 revoke 掉,否则,数据将全部被导入到那个同名的表空间中,而不是导入用户的缺省表空间中。
1、 从源数据库中导出数据
(1) 授予导出用户DBA权限
SQL> connect system@njgajhpt
Connected to Oracle9i Enterprise Edition Release 9.2.0.4.0
Connected as system
SQL> grant dba to sh;
Grant succeeded
SH的缺省表空间是EXAMPLE
SQL> select username,default_tablespace from dba_users
2 where username = 'SH';
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
SH EXAMPLE
(2)、导出数据
C:Documents and Settingscuiqing>exp sh/sh@njgajhpt file='d:tempsh.dmp' tables=customers direct=y
Export: Release 9.2.0.1.0 - Production on 星期四 11月 16 16:36:31 2006
即将导出指定的表通过直接路径 ...
. . 正在导出表 CUSTOMERS 50000 行被导出
在没有警告的情况下成功终止导出。
2、 导入目标数据库
(1) 创建表空间
SQL> create tablespace ts_qcui
2 datafile 'D:ORACLEORADATAJWPTZJKts_qcui.ora'
3 size 20M autoextend on next 8M maxsize 1024M;
Tablespace created
(2) 创建用户
SQL> create user qcui identified by qcui
2 default tablespace ts_qcui;
User created
SQL> grant connect,resource to qcui;
Grant succeeded
(3) 导入数据
C:Documents and Settingscuiqing>imp qcui/qcui@jwptzjk fromuser=sh touser=qcui file='d:tempsh.dmp' constraints=n
Import: Release 9.2.0.1.0 - Production on 星期四 11月 16 16:43:00 2006
经由直接路径导出由EXPORT:V09.02.00创建的导出文件
IMP-00013: 只有 DBA 才能导入由其它 DBA 导出的文件
IMP-00000: 未成功终止导入
(4) 授予导入用户DBA权限
SQL> grant dba to qcui;
Grant succeeded
(5) 授权后重新导入
C:Documents and Settingscuiqing>imp qcui/qcui@jwptzjk fromuser=sh touser=qcui file='d:tempsh.dmp' constraints=n
经由直接路径导出由EXPORT:V09.02.00创建的导出文件
警告: 此对象由 SH 导出, 而不是当前用户
. . 正在导入表 "CUSTOMERS" 50000行被导入
成功终止导入,但出现警告。
(6) 检查数据存放的表空间。数据没有按预期存放在QCUI的缺省表空间TS_QCUI中
SQL> select table_name,tablespace_name from dba_tables
2 where owner = 'QCUI';
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
CUSTOMERS EXAMPLE
(7) 回收QCUI的unlimited tablespace权限
SQL> revoke unlimited tablespace from qcui;
Revoke succeeded
SQL> alter user qcui quota unlimited on ts_qcui;
User altered
(8) 回收权限后重新导入
SQL> drop table qcui.customers;
Table dropped
C:Documents and Settingscuiqing>imp qcui/qcui@jwptzjk fromuser=sh touser=qcui file='d:tempsh.dmp' constraints=n
经由直接路径导出由EXPORT:V09.02.00创建的导出文件
警告: 此对象由 SH 导出, 而不是当前用户
. . 正在导入表 "CUSTOMERS" 50000行被导入
成功终止导入,但出现警告。
(9) 检查数据存放的表空间。数据存放在QCUI的缺省表空间TS_QCUI中
SQL> select table_name,tablespace_name from dba_tables
2 where owner = 'QCUI';
TABLE_NAME TABLESPACE_NAME
------------------------------ ------------------------------
CUSTOMERS TS_QCUI