oracle数据库导出/导入

发布于:2024-04-25 ⋅ 阅读:(21) ⋅ 点赞:(0)

创建导出目录

如果导出的用户有创建目录权限则直接使用该用户创建

linux命令行登录普通用户

sqlplus wendianfei/pass123456@DOMAIN
SQL>CREATE DIRECTORY wdf_dir AS '/home/oracle/wendianfei';

删除目录的命令。

SQL>DROP DIRECTORY wdf_dir;

如果用户没有创建目录权限则使用管理员创建目录,并赋予普通用户读写权限。

sqlplus / as sysdba
SQL>CREATE DIRECTORY wdf_dir AS '/home/oracle/wendianfei';
SQL>GRANT READ, WRITE ON DIRECTORY wdf_dir TO wendianfei;

或者赋予普通用户创建目录的权限。

SQL>GRANT CREATE ANY DIRECTORY TO wendianfei;

oracle导出导入:

单表导出导入

#导出:
host1$ expdp wendianfei/pass123456@DOMAIN directory=wdf_dir  dumpfile=TEST_TABLE.dmp logfile=TEST_TABLE.log tables=TEST_TABLE
#导入:
host1$ impdp wendianfei/pass123456@DOMAIN DIRECTORY=wdf_dir DUMPFILE=PUSH_DEVICE.dmp

备份表空间:

#导出表空间
host1$ expdp wendianfei/pass123456@DOMAIN directory=wdf_dir dumpfile=tablespace_backup.dmp tablespaces=DATA

directory需要到数据库库里创建
tablespaces=DATA 是你想要备份的表空间名称。如果需要备份多个表空间,可以用逗号分隔表空间名。

导入表空间:
host1$ impdp wendianfei/pass123456@DOMAIN schemas=wendianfei directory=wdf_dir dumpfile=tablespace_backup.dmp logfile=tablespace_name.log TABLESPACES=DATA

备份用户下的数据:

#导出用户数据
host1$ expdp wendianfei/pass123456@DOMAIN DIRECTORY=wdf_dir DUMPFILE=user_data.dmp SCHEMAS=wendianfei LOGFILE=export.log


#导入用户数据:
host1$ impdp wendianfei/pass123456@DOMAIN schemas=wendianfei directory=wdf_dir dumpfile=user_data.dmp LOGFILE=import.log

如果导出和导入的用户不同则需要用以下参数

remap_schema=原来的用户:导入的用户

表空间不同用下面的参数:

remap_tablespace=原来的表空间:导入的表空间 

如果整个用户导入失败重新导入:则需要删除用户重新创建

DROP USER wendianfei CASCADE;

重新创建用户:

ORACLE创建表空间及用户-CSDN博客

如果是单个表导入失败,重新导入需要先drop表。


网站公告

今日签到

点亮在社区的每一天
去签到