rrrohanb Asked: 2015-12-29 20:35:28 +0800 CST2015-12-29 20:35:28 +0800 CST 2015-12-29 20:35:28 +0800 CST 如何从 DB2(备份结构)中提取结构? 772 db2 中有没有办法在没有实际数据的情况下备份数据库结构(元数据)? 我的目的是将现有数据库中的结构(表、视图、索引、触发器、过程和函数)拉入新数据库。 表格可以是空白的。 db2 backup 1 个回答 Voted Best Answer Chris Aldrich 2015-12-30T05:55:30+08:002015-12-30T05:55:30+08:00 由于 YperSillyCube(TM) 坚持,我将添加他的答案。db2look 是 DB2 附带的用于从数据库中提取 DDL 的工具。您可以提取表、约束、索引、触发器、存储过程等内容,以及安全语句、联合设置、缓冲池和表空间以及一些数据库设置。 我强烈推荐使用它。我在使用 DB2 时一直使用它。非常便利。尤其是与 Beyond Compare 等工具结合使用以比较环境之间的 DDL 等时。 IBM Knowledge Center 链接是很好的阅读文档。Ember Crooks 在此处和此处发布了两篇关于 db2look 的精彩文章。 就个人而言,我倾向于在命令中最多使用以下选项。 db2look -d <databasename> -a -l -e -x -o <file to extract to> -td"@" 这允许我获取除了默认值之外的几个对象、表空间和缓冲池、一些安全设置,然后确保我将@符号设置为语句终止符,以防我有触发器、函数或存储过程。 然后,您可以使用以下命令将它们导入新数据库db2 -td@ -vf <filename>,然后像我在 Unix 上所做的那样将结果重定向或通过管道传输到 tee。请注意,您在 db2look 命令中用作语句终止符的字符需要与导入文件时提供的语句终止符匹配。
由于 YperSillyCube(TM) 坚持,我将添加他的答案。db2look 是 DB2 附带的用于从数据库中提取 DDL 的工具。您可以提取表、约束、索引、触发器、存储过程等内容,以及安全语句、联合设置、缓冲池和表空间以及一些数据库设置。
我强烈推荐使用它。我在使用 DB2 时一直使用它。非常便利。尤其是与 Beyond Compare 等工具结合使用以比较环境之间的 DDL 等时。
IBM Knowledge Center 链接是很好的阅读文档。Ember Crooks 在此处和此处发布了两篇关于 db2look 的精彩文章。
就个人而言,我倾向于在命令中最多使用以下选项。
这允许我获取除了默认值之外的几个对象、表空间和缓冲池、一些安全设置,然后确保我将
@
符号设置为语句终止符,以防我有触发器、函数或存储过程。然后,您可以使用以下命令将它们导入新数据库
db2 -td@ -vf <filename>
,然后像我在 Unix 上所做的那样将结果重定向或通过管道传输到 tee。请注意,您在 db2look 命令中用作语句终止符的字符需要与导入文件时提供的语句终止符匹配。