开始的准备工作:前面的步骤都一样
一:
创建表空间:
create tablespace root
datafile 'D:\Oracle\dataSpace\root.dbf' (你自己的存放空间)
size 50m
autoextend on;
二:
创建用户
CREATE USER root(root可以设置为自己的用户“tom”、“jerry”)
IDENTIFIED BY root
DEFAULT TABLESPACE root
TEMPORARY TABLESPACE temp; (临时表空间就叫TEMP吧,不重要)
三:
赋予权限
GRANT CONNECT TO root;
GRANT RESOURCE TO root;
GRANT dba TO root;
导入:导入时分两种方法,按照需要选择。
第一种方法:
imp amc/amc file=D:\XXXX\XXXX\XXXXXX.DMP full=y ignore=y
imp 需要导入的用户/密码@ file='文件地址(具体到名字后缀)' full=y (常用)【cmd操作界面操作】
第二种方法
创建文件空间
create directory dump_dir as 'D:\XXX\XXXX';(在进行导入操作的时候,要把导入的dmp文件放到这个位置)
赋予读写权限
grant read,write on directory dump_dir to root
导入:
impdp root/root@orcl DIRECTORY=dump_dir DUMPFILE=XXXXXXX.DMP SCHEMAS=FRAMEWORK version=11 【cmd操作界面操作,注意文件空间名一致(标红)】
报错处理:1:【IMP-00038: 无法转换为环境字符集句柄
IMP-00000: 未成功终止导入】方法一无法使用,使用方法二
2:【ORA-39002: 操作无效
ORA-39165: 未找到方案 】前面设置的用户与源文件用户名不一致,无法导入,
解决方法:1创建与源文件一致的用户空间进行导入
2使用【impdp root/root@orcl remap_schema=【源文件用户名】:【现空间用户名】directory=root(文件命名空间) dumpfile=XXXXXXXXXXXXXXXXX.DMP】导入
注:
remap_schema: 当导出导入用户不一致使用,方法【remap_schema=导出用户:导入用户】
remap_tablespace :当导出导入表空间不一致使用,方法【remap_tablespace=导出表空间:导入表空间】
directory=dump_dir :创建的文件空间名称
dumpfile=ZBTMS2021031701.DMP: 导入的DMP文件