Oracle 数据泵 导入导出 最简说明

数据泵可以对含有CLOB,BLOB等字段的表导出数据,是应用场景最广的一种导入导出方法,我觉得要比SQL Developer好用,不过需要能够登录数据库所在主机的操作系统。

导出

expdp paasapp/Paas1015 datafile=my_data.dmp content={ALL|DATA_ONLY|META_DATA_ONLY} tables=T1,T2,T3

这是导出命令的最简形式,这个命令是针对本机、单实例的情况,这也是使用数据泵的常见场景,不必创建目录和指定导出目录,导出成功后会打印导出文件所在路径,一般在$ORACLE_BASE/admin/platdb/dpdump/,数据泵可以导出表定义、表空间定义、相关索引、授权、触发器、约束的定义等元数据,也可以只导出数据,也可以全部导出。

还有许多其它控制参数,可以参见网上或官网文档。

导入

impdp paasapp/Paas1015 dumpfile=chart_data.dmp content=data_only

这是导入的最简形式,只导入数据,无需创建目录,把chart_data.dmp放到 $ORACLE_BASE/admin/platdb/dpdump/

还有许多其它控制参数,可以参见网上或官网文档。

版本问题

高版本oracle,用数据泵导出的文件,在低版本oracle中导入,会有版本错误,方法是在导出时指定低版本oracle的版本号,例如:

expdp paasapp/Paas1015 datafile=my_data.dmp content={ALL|DATA_ONLY|META_DATA_ONLY} tables=T1,T2,T3 version=11.2

也可以修改导入数据库的compatible参数(如果其compatible参数比实际oracle的版本低的话,我就是这种情况):

ALTER SYSTEM SET COMPATIBLE = '19.3.0' SCOPE=SPFILE;

然后重启数据库。

相关推荐
minji...4 分钟前
MySQL数据库 (四) MySQL的数据类型,tinyint,float,decimal,枚举enum和集合set
数据库·mysql·tinyint·enum·decimal·varchar·bit
阿演24 分钟前
DataDjinn 新版本更新:国产数据库支持、连接树体验、AI 查询和表格编辑继续增强
数据库·人工智能·ai·ai编程
一只fish1 小时前
Oracle官方文档翻译《Database Concepts 26ai》附录-术语表
数据库·oracle
一只fish1 小时前
Oracle官方文档翻译《Database Concepts 26ai》第23章-数据库开发者概念
数据库·oracle
todoitbo1 小时前
从 MySQL 到 KingbaseES:Database、Schema、User 一次讲透
数据库·mysql·国产数据库·kingbasees
勇往直前plus2 小时前
Redis&Python 梳理
数据库·redis·python
千云2 小时前
100w大表0停机回滚:我们为什么放弃Undo Log,选择表名切换?
数据库·后端·mysql
SXJR2 小时前
使用docker 部署向量数据库Milvus
数据库·docker·容器·milvus·向量数据库
这个DBA有点耶2 小时前
时序数据库深度对比:2026 年主流 TSDB 架构演进与选型指南
数据库·sql·云原生·架构·运维开发·时序数据库
计算机安禾2 小时前
【数据库系统原理】第9篇:SQL的结构化思维:DDL、DML与DCL的职责分离
数据库·sql·oracle