我想复制包含所有数据,表和触发器的数据库。 例如。我希望将SAMPLE数据库复制到包含所有表,数据和触发器的TESTSAMPLE数据库
答案 0 :(得分:0)
您可以使用db2move或数据库备份/还原。这个答案显示备份/恢复。
对于Windows / Linux / Unix上的小型Db2数据库,您可以进行脱机Db2备份,并将生成的文件还原到同一Db2实例中的新数据库中。一些GUI工具允许您通过GUI执行此操作,但我不会描述这些。
有关详细信息,请浏览免费在线Db2 knowledge center网站。
在下面的示例中,我将示例数据库复制到testsmpl数据库中,两者都在同一个Db2实例中。
首先,关闭/停止连接到示例数据库的所有应用程序,因为我们需要脱机备份。
如果您的数据库是 NOT 默认,或者具有非默认表空间,或者配置为在线备份,则以下步骤不是您想要的。
对于在 Microsoft-Windows 上运行的Db2服务器,使用默认设置,以及在Db2实例中名为sample的单个数据库,在DB2服务器上运行以下命令:
确保您的用户名是本地组DB2ADMNS的成员
开始>运行> db2cwadmin.bat
确保您使用的是正确的Db2实例(仅当您有多个Db2实例时,不是默认实例)。
在生成的db2cmd.exe窗口中运行以下命令:
db2 force applications all
md %temp%\db2backup
db2 backup database sample to %temp%
db2 restore database sample from %temp%\db2backup into testsmpl
对于 Unix / Linux,在Db2实例中使用单个示例数据库:
打开Db2服务器的终端窗口
通过su或sudo成为正确的Db2实例所有者(例如su - db2inst1)
db2 force applications all
mkdir -p /tmp/db2backup
db2 force applications all
db2 backup database sample to /tmp/db2backup
db2 restore database sample from /tmp/db2backup into testsmpl