linux环境下Oracle数据库expdp和impdp导入导出注意点

文章讲述了使用Oracle工具如expdp和impdp进行数据库数据迁移的过程,包括全量导入、增量操作(skip,append,replace,truncate)以及设置并行处理和文件大小控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、多个文件导入dumpfile=expdp_full_qytcdb_20240412_%U.dmp,%U代表01、02、03这些
impdp sys/123456@192.168.1.200:1521/Oracle directory=jy dumpfile=expdp_full_20250412_%U.dmp logfile=impdp_$(date +%Y%m%d).log table_exists_action=skip  full=y parallel=8;

2、手动书写
impdp sys/123456@192.168.1.200:1521/Oracle directory=jy dumpfile=expdp_full_20250412_01.dmp,expdp_full__20250412_02.dmp logfile=impdp_$(date +%Y%m%d).log table_exists_action=skip  full=y parallel=8;

3、执行脚本
@echo off
title 批量导入DMP数据文件
set connStr=用户名/用户密码@数据库实例名称
set impFolder=dmp文件存放路径
pause
for /f "delims=" %%a in ('dir /b "%impFolder%\*.dmp"') do (
    echo 正在导入 %%~nxa 文件
    imp %connStr% buffer=1024000 fromuser=sgpm touser=yjhg file='%impFolder%\%%a' log='%impFolder%\%%~na_imp.log' ignore=y
)

pause

4、增量导入数据
SKIP:当表存在时,不执行任何操作,直接跳过导入该表。
APPEND:当表存在时,在现有数据的基础上追加导入的数据。
REPLACE:当表存在时,替换表结构和数据,相当于删除表然后重新创建并插入数据。
TRUNCATE:当表存在时,清空表中的数据,然后插入导入的数据。
impdp sys/123456@192.168.1.200:1521/Oracle directory=jy dumpfile=expdp_full_20250412_%U.dmp logfile=impdp_$(date +%Y%m%d).log table_exists_action=append  full=y parallel=8;

5、导出数据,设置了并行PARALLEL=4,和文件大小FILESIZE=1G
expdp username/password@dbname DIRECTORY=dpump_dir1 DUMPFILE=expdp%U.dmp FILESIZE=1G PARALLEL=4

Oracle数据库提供了expdpimpdp命令用于备份恢复数据库。这两个命令的使用方式如下: 1. expdp命令 expdp命令用于备份Oracle数据库,它能够将某个schema或整个数据库导出到一个二进制文件中。具体命令格式如下: ``` expdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dumpfile_name.dmp SCHEMAS=schema_name ``` 其中: - `username/password@connect_string`:指定连接Oracle数据库的用户名、密码连接字符串。 - `DIRECTORY=directory_name`:指定备份文件的目录。 - `DUMPFILE=dumpfile_name.dmp`:指定备份文件的名称。 - `SCHEMAS=schema_name`:指定要备份的schema名称,多个schema可以用逗号分隔。 执行命令后,Oracle数据库会将指定的schema或整个数据库导出到一个二进制文件中。 2. impdp命令 impdp命令用于恢复Oracle数据库,它能够将之前导出的二进制文件导入到数据库中。具体命令格式如下: ``` impdp username/password@connect_string DIRECTORY=directory_name DUMPFILE=dumpfile_name.dmp SCHEMAS=schema_name ``` 其中: - `username/password@connect_string`:指定连接Oracle数据库的用户名、密码连接字符串。 - `DIRECTORY=directory_name`:指定备份文件所在的目录。 - `DUMPFILE=dumpfile_name.dmp`:指定备份文件的名称。 - `SCHEMAS=schema_name`:指定要恢复的schema名称,多个schema可以用逗号分隔。 执行命令后,Oracle数据库会将指定的schema或整个数据库从备份文件中恢复出来。 需要注意的是,expdpimpdp命令需要在Oracle数据库服务器上执行,而不是在客户端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值