准备工作(导出dmp文件)
1.使用PL/SQL 工具--》导出用户对象 ,导出用户所有表,视图,存储过程等的定义
2.使用PL/SQL 工具--> 导出表,导出所有表的数据 这就是那个dmp文件
保存好导出的sql脚本和dmp文件准备导入
好了,开始导入
1.删除用户
drop user test cascade;
2.删除全部表空间
drop tablespace testdb INCLUDING CONTENTS;
drop tablespace testdb_index INCLUDING CONTENTS;
drop tablespace testdb_temp INCLUDING CONTENTS;
3.重新创建表空间和用户并给用户授权
CREATE TABLESPACE "DB_QQTB"
LOGGING
DATAFILE 'D:/oracle/OraData/DB_QQTB01.ora' SIZE 2000M,
'D:/oracle/OraData/DB_QQTB02.ora' SIZE 2000M,
'D:/oracle/OraData/DB_QQTB03.ora' SIZE 2000M EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO
/
CREATE TABLESPACE "DB_QQTB_INDEX"
LOGGING
DATAFILE 'D:/oracle/OraData/DB_QQTB_INDEX.ora' SIZE 500M EXTENT
MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO
/
CREATE
TEMPORARY TABLESPACE "DB_QQTB_TEMP" TEMPFILE
'D:/oracle/OraData/DB_QQTB_TEMP.ora' SIZE 200M EXTENT MANAGEMENT
LOCAL UNIFORM SIZE 1M
/
create user FZCX
identified by "FZCX"
default tablespace DB_QQTB
temporary tablespace DB_QQTB_TEMP
profile DEFAULT
quota unlimited on DB_QQTB
quota unlimited on DB_QQTB_temp;
-- Grant/Revoke role privileges
grant connect to FZCX;
grant exp_full_database to FZCX;
grant imp_full_database to FZCX;
grant resource to FZCX;
-- Grant/Revoke system privileges
grant create procedure to FZCX;
grant create trigger to FZCX;
grant execute any procedure to FZCX;
grant grant any privilege to FZCX;
grant restricted session to FZCX;
grant select any table to FZCX;
grant unlimited tablespace to FZCX;
grant create any view to FZCX;
4.打开SQLPLUS(不要使用PL/SQL,sql脚本太大),@路径+文件名.sql 导入表定义
这时候表的定义已经完成,但表中还没有数据,现在可以测试一下,表是否存在
5.使用PL/SQL 工具-->导入表-->Oracle导入 选择dmp文件 自动启动Sqlplus
成功!!!
错误分析:
1.请注意数据文件的大小是否足够,否则会出现错误,建议设置的大一些,最好分区是ntfs格式
2.请注意导出dmp的用户是否是当前执行导入的用户 出现 用户名: 要求输入的是fromuser 表示导出dmp的用户名,必须准确