全库DDL逻辑迁移方式梳理

首页    知识库    常见问题    全库DDL逻辑迁移方式梳理

背景

全库DDL(Data Definition Language)逻辑迁移是指将数据库的结构定义从源数据库迁移到目标数据库的过程。这通常涉及到复制数据库的架构、表结构、索引、视图、存储过程、触发器等,但不包括数据本身。

客户想要获取全量建表DDL,方便新建不同schema或新建不同数据库环境。

 

常用方式

获取元数据DDL脚本get_tab_ddl.sh

get_tab_ddl.sh

脚本用法传入table_schema(owner)示例:sh get_tab_ddl.sh sales

缺点:超多表或者超长表的全库DDL会超过匿名块中CLOB字段l_ddl限制。

 

dbeaver获取元数据DDL

用法如下图:

output-(2)

选中所有对象生成DDL SQL语句。

缺点:不同对象需要分开导出DDL,以及不能导出comments备注信息,各部分的DDL还需要组合封装到一个文件中,因为对象之间有依赖关系,顺序还需要调整。

 

崖山自带工具EXP

选择ROW模式进行元数据文件导出:

ROWS为N时表示仅导出元数据

$ exp sales/sales@127.0.0.1:1688 FILE=export.full.dump FULL=Y ROWS=N

exp详细用法参考官网链接:元数据文件导出 | YashanDB Doc

缺点:对于低于23.2的版本是不支持ROW模式导出元数据。

浏览量:0