目录

一、创建恢复文件夹

1.创建文件夹,并把备份文件拷贝到该目录

二、详细操作步骤

1.连接数据库,建议使用system用户

2.创建目录对象

3.查看创建的目录对象

4.创建用户(一般和导出的用户保持一致,当然也可以不一致)

5.创建表空间

6.导入数据

一、创建恢复文件夹

1.创建文件夹,并把备份文件拷贝到该目录

我的恢复文件路径是:/opt/oracle/dump,恢复文件是wanxun.dmp

二、详细操作步骤

1.连接数据库,建议使用system用户

例:sqlplus system/system@ORCLPDB1

2.创建目录对象

CREATE DIRECTORY dpump_dir AS '/opt/oracle/wanxun.dmp';------这个是dmp文件的路径
GRANT READ, WRITE, EXECUTE ON DIRECTORY dump_dir TO PUBLIC;------授权

3.查看创建的目录对象

SELECT directory_name, directory_path FROM dba_directories WHERE directory_name = 'DUMP_DIR';

4.创建用户(一般和导出的用户保持一致,当然也可以不一致)

CREATE USER 用户名 IDENTIFIED BY 密码;
grant dba to wanxun;---授予用户dba权限

5.创建表空间

我这里创建了一个wanxun用户的表空间,因为添加映射也一直报错,所以只能选择手动创建了

sqlplus system/***@ORCLPDB1

CREATE TABLESPACE WANXUN
DATAFILE '/opt/oracle/dump/wanxun1.dbf'
SIZE 2G AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;
ALTER USER wanxun QUOTA UNLIMITED ON WANXUN;
EXIT;

6.导入数据

impdp system/system@//localhost:1521/ORCLPDB1 \
DIRECTORY=dump_dir \
DUMPFILE=wanxun.dmp \
FULL=YES \
TABLE_EXISTS_ACTION=REPLACE \
REMAP_TABLESPACE=WANXUN_DATA:wanxun \    ------------映射参数,把WANXUN_DATA用户映射到wanxun 
REMAP_TABLESPACE=wanxun1_part_idx:wanxun \
REMAP_TABLESPACE=wanxun_part_data:wanxun \
LOGFILE=import_full.log   ------日志文件名

常见报错

1.ORA-00959: tablespace 'wanxu_data' does not exist:原因是没有添加映射,缺失wanxu_data这个表空间

2.表空间的表名一定要区分大小写,否则会报错

3.有些表空间用映射可能会报错,这时候我们可以手动创建,参考第5步

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐