首先,我想将数据库从 IBM DB2 AIX 导出到 IBM DB2 窗口中。不幸的是,由于不同的操作系统问题,我无法使用 BACKUP 和 RESTORE 命令。所以我不得不求助于db2move命令。
我使用以下命令从远程 IBM DB2 AIX 中的dbemp数据库中导出了myschema模式和所有表:
db2move dbemp export -sn myschema
Run Code Online (Sandbox Code Playgroud)
当我运行该命令时,我以名为dbuser1 的用户身份登录。
它在当前文件夹中生成一堆文件。我将文件抓取到安装了 IBM DB2 LUW 的本地机器(Windows)中。
现在在我本地机器的 IBM DB2 中,我首先使用 IBM Data Studio(我也有一个本地dbemp数据库)删除了现有的模式myschema。
然后我使用以下命令导入文件:
db2move dbemp import
Run Code Online (Sandbox Code Playgroud)
它成功地将架构和表导入本地dbemp数据库。
当我执行上述操作时,我以用户winuser1登录。
我的本地计算机(Windows)中也有一个名为dbuser1的本地用户。在 IBM Data Studio 中,我创建了一个使用dbuser1用户连接到本地dbemp的连接配置文件,我可以浏览myschema模式和表,但我无法浏览表的数据(我遇到了权限错误)。用户winuser1可以浏览表的数据,但出于开发目的,我必须使用用户dbuser1连接到数据库。
所以我发现我可以像这样向表上的用户授予权限:
GRANT ALL ON myschema.table1 …
Run Code Online (Sandbox Code Playgroud) 我尝试使用以下命令备份 IBM DB2 (LUW) 数据库:
./db2 backup database DBEMP to /home/user1/db2bkup
Run Code Online (Sandbox Code Playgroud)
但我收到了这条消息:
SQL1035N 数据库当前正在使用中。SQLSTATE=57019
然后我尝试了这个:
./db2 backup database DBEMP online to /home/user1/db2bkup
Run Code Online (Sandbox Code Playgroud)
我收到了这条消息:
SQL2413N 不允许联机备份,因为数据库不可恢复或备份暂挂条件生效。
这是什么意思?有没有其他方法可以在线备份数据库?我无法停止数据库,因为它正在被使用。
我已经在 Windows 中安装了 IBM DB2 Express-C,但是我找不到任何启动管理工具 (GUI) 的快捷方式。安装时,我选择了“管理工具”选项(我已经检查了两次以确保)。
这是开始菜单中唯一可用的快捷方式:
那么如何运行 IBM DB2 Express-C 的管理工具呢?