使用 Optim™ Database Administrator 时,可能会发生一些常见问题。
- 查找 DB2® 实例名称
- 需要 IBM® Data Server Client 的更改命令将请求 DB2 实例名称。Optim Database Administrator 将从连接检测实例名称。在 Windows® 系统上,该实例名称通常为 DB2。在 UNIX® 系统上,该实例名称通常为安装 DB2 所使用的标识。例如,db2inst95。安装环境可能会有所不同。
- 正向工程
- 当进行正向工程更改时,请务必检查从其他对象(例如,视图、具体化查询表和别名)派生的对象的 DDL,以确保解析正确的从属对象。DB2 会完全按照指定情况将某些派生对象的 CREATE 语句存储在目录中。如果这些语句的创建者未完整指定模式名称,那么将假定为当前登录名。如果在执行正向工程的过程中,当前登录名不同,那么 CREATE 语句可能失败。要解决此问题,请在更改对象时使用相同的创建者标识,在 DDL 中完整指定从属对象,或者在命令前添加语法 SET CURRENT SCHEMA。
例如,如果生成 CREATE VIEW MYSCHEMA.VIEW
AS SELECT * FROM MYTABLE; 之类的 CREATE VIEW 命令,并且 MYTABLE 实际上属于名为 DB2 的模式,那么当部署此命令时,DB2 会在当前登录名下查找 MYTABLE。您可能会收到一条错误,指示 loginname.MYTABLE 未定义。如果在 CREATE VIEW MYSCHEMA.VIEW AS SELECT * FROM MYTABLE 语法之前添加 SET CURRENT SCHEMA=DB2 语句,那么所有引用的对象都将得以正确解析。
当
Optim Database Administrator 计算派生对象的 CREATE 语句的正确顺序时,如果这些语句包含其他派生对象的名称而不带标准模式名称,
Optim Database Administrator 将按不正确的顺序排列这些语句。要更正此问题,可能需要:
- 确保用于生成更改命令的登录名与用于创建数据库对象的登录名相同。
- 在“SQL 和 XQuery 编辑器”中打开生成的命令,并按正确顺序排列语句。
- 测试服务器连接
- 通过在“管理资源管理器”视图中创建数据库连接,可以测试服务器连接。
- 模型验证
- 如果 Optim Database Administrator 在物理数据模型中检测到错误,该错误将记录在“问题”视图中。如果看不到“问题”视图,可以通过选择来打开该视图。或者,也可以从键盘输入 Alt+shift+Q,X 来打开该视图。双击问题可查看更多详细信息。
- 更改管理脚本验证
- 如果 Optim Database Administrator 在更改管理脚本中检测到错误,该错误将记录在“问题”视图中。如果看不到“问题”视图,可以通过从主菜单选择来打开该视图。或者,也可以从键盘输入 Alt+shift+Q,X 来打开该视图。双击问题可查看更多详细信息。
- 更改命令验证
- 如果 Optim Database Administrator 在更改管理脚本编辑器“命令”部分的更改命令中检测到错误,该错误将记录在“错误日志”视图中。如果看不到“错误日志”视图,可以通过从主菜单选择来打开该视图。或者,也可以从键盘输入 Alt+shift+Q,L 来打开该视图。双击错误可查看更多详细信息。
- 在数据项目资源管理器中删除资源
- 有时,即使已在数据项目资源管理器中删除了资源,也仍能看到这些资源。您可能必须关闭并重新打开编辑器以进行刷新。通过从主菜单选择,可打开编辑器。
- 使用比较编辑器时缺少屏幕空间
- 比较编辑器可能会占用相当多的空间。要最大化比较编辑器,请双击已打开的编辑器的选项卡。在 Windows 系统上,快捷键为 Alt+-,X。
- 查找数据对象
- 如果知道数据对象所在的物理数据模型,请在数据模型编辑器中打开该模型。在此编辑器中,可以在过滤器字段中输入文本以过滤列表并快速移到某个对象,使用“查找”(Ctrl+F) 来找到某个对象,或向下钻取来找到某个对象。如果不知道对象所在的模型,请使用“搜索”(Ctrl+H)。结果将显示在“搜索”视图中。双击某个对象可在编辑器中打开该对象。
- “运行 SQL”向导取决于扩展名
- SQL 脚本文件夹中的 SQL 脚本文件必须具有文件扩展名 sql 或 ddl。
此外,脚本文件还包含一些 DB2 命令和实用程序。“运行 SQL”向导的不同操作取决于扩展名。尝试从扩展名不是 sql 或 ddl 的脚本文件运行 DB2 命令和实用程序会导致错误。
- 部署卸载和重新装入命令
- 如果部署卸载或重新装入命令时发生错误,SQL 代码将始终为 -22220。此代码表示 IBM Data Server Client 在脚本中遇到错误。错误的准确原因通过错误代码指定。错误代码将显示在数据输出视图中。特定错误代码的详细描述可在《DB2 通用数据库消息参考》手册中找到。
重新装入命令错误- 错误代码 3088
- 指定要装入数据库列名的源列与数据库列不兼容,因为数据库列不可空。
Source table tblA: col1 int, col2 int, col3 varchar(5), col4
num(6, 2)
Target table (table being loaded) tblB: col2 int, col3 varchar(5),
col4 num(6, 2) not null.
如果在卸载期间选择了所有行,那么由于数据类型不匹配,在重新装入期间 VARCHAR 值将无法插入目标表的 col4。通过以下某种方式修正此问题:
- 编辑数据文件。
- 在卸载语句中,使用“定制数据保留”向导来选择 tblA 中的最后三列。根据需要使用向导添加列函数。
- 错误代码 3124
- 行“2”和列“3”中的字段值无法转换为 PACKED DECIMAL 值,但目标列不可空。
未装入该行。
- 错误代码 3196
- 找不到输入文件。如果数据文件位于运行卸载命令的远程机器上,那么必须从数据项目资源管理器再次发出重新装入命令。确保数据文件已传输到运行重新装入命令的机器,然后从数据项目资源管理器中选择重新装入命令文件(例如 xxx_import.chx),右键单击,并选择运行 SQL 以完成重新装入。
卸载命令错误- 错误代码 3025
- 指定文件名或路径的参数无效。由于重新装入和卸载命令很可能在远程系统上运行,因此 Optim Database Administrator 不会验证指定的路径是否存在。为了避免数据丢失,请确保路径有效。还可以在部署脚本之前,从项目资源管理器运行卸载命令。
- 错误代码 3304
- 表不存在。删除表之前,必须先发出卸载命令。部署脚本之前,需要在更改管理脚本编辑器的“命令”部分中验证命令的顺序。缺省数据文件类型为 DEL(定界的 ASCII 格式,用于与许多数据库管理器和文件管理器进行交换)。
如果需要,可以将文件类型更改为 IXF。
如果错误代码不在数据输出视图中,可以在管理通知日志文件 (db2dasdiag.log) 中找到该代码。有关此文件的位置之类的更多信息,请参阅 DB2 信息中心。
- 数据迁移期间映射卸载表和重新装入表
- 双击操作在 Linux® 系统上不是非常有效。
可以改为使用快捷键访问来编辑数据保留条目。输入“e”键或输入 Shift-F10 可编辑选定条目。
此编辑操作将焦点放在第一列(例如,导出命令)的单元格编辑器上。按“Enter”键会将焦点移到第二列(重新装入命令)的单元格编辑器。
- 由于锁定请求达到最大数,部署更改命令失败
- 如果部署更改命令时收到错误代码 SQL0912N,可以通过以下方式解决问题:
要点: 部署更改命令之前,停止并重新启动 DB2。如果不重新启动 DB2,可能仍会收到 SQL0912N 错误。
- 由于活动数据库连接过多,部署更改命令失败
- DB2 限制了可以同时处于活动状态的数据库连接数。数据库管理器配置参数 NUMDB 确定最大连接数,该值缺省情况下为 8。
在“数据源资源管理器”中达到最大连接数后,将无法创建新连接。
因此,尝试部署更改命令时,这些命令可能失败。来自 DB2 的错误消息为“脚本文件中有错”。
此错误的原因是到 DB2 的连接过多。从“数据源资源管理器”中删除某个未使用或很少使用的连接,或者考虑增加 NUMDB 的大小。
- “管理资源管理器”和“对象列表”未自动反映出数据库更改
- 不是通过使用数据对象编辑器或更改管理脚本编辑器进行的数据库更改(在产品外部进行的更改)不会自动反映在“管理资源管理器”和“对象列表”中。要查看更新,需要刷新数据库的连接,或刷新“管理资源管理器”中数据库下的任意一个对象类型文件夹。
- 关闭自动键迁移
- 缺省情况下,键迁移是打开的。如果添加新外键时会将列添加到父表,请关闭自动键迁移以消除此行为。要关闭自动键迁移,请完成以下步骤:
- 在主菜单中,单击。
- 向下钻取到数据管理,然后展开键迁移。
- 双击添加时。
- 清除自动迁移键复选框,单击应用,然后单击确定。
- 更改管理脚本缺少向后兼容性
- 在 Optim Database Administrator V2.2.3 的“更改管理脚本编辑器”中创建或编辑的更改命令脚本与较早版本的 Optim Database Administrator 不兼容。
- 支持在较早发行版的 Optim Database Administrator 中创建的项目和更改管理脚本
- 只有在 Optim Database Administrator V2.2.1 或更高发行版中创建的数据设计项目和更改命令脚本与 Optim Database Administrator V2.2.3 兼容。Optim Database Administrator V2.2.3 将项目中的文件转换为所使用的新格式。
将显示转换期间发生的任何错误,并提示您是继续转换还是取消转换。如果选择继续转换,造成问题的对象将被忽略,而只保留有效对象。
- 使用较早发行版的 Optim Database Administrator 中创建的工作空间时管理资源管理器未打开
- Optim Database Administrator V2.2.3 支持在较早发行版的 Optim Database Administrator 中创建的工作空间。
但是,第一次使用在较早发行版中创建的工作空间时,“管理资源管理器”未打开。要打开“管理资源管理器”,请在主菜单上单击。如果未在列表中看到“管理资源管理器”,请单击其他,展开数据,选择管理资源管理器,然后单击确定。
此时会打开“管理资源管理器”。再次使用此工作空间时,将显示“管理资源管理器”。
- 使用 Kerberos 认证时命令未运行
- 使用安全 Shell (SSH) 协议访问远程数据库服务器时,该协议依赖于底层的 RXA 和 RSE 库。
这些库都不支持 Kerberos 认证。
如果要使用 Kerberos 认证,
Optim Database Administrator 中将不支持以下操作:
- 激活
- 添加数据库分区
- 备份数据库
- 编目
- 创建数据库
- db2set
- 删除数据库
- 删除数据库分区号
- 导出
- 强制
- 获取
- 获取实例
- HADR 设置
- 导入
- 装入
- 停顿
- 重新绑定
- 恢复
- 重新组织
- 重新启动
- 复原
- 前滚
- Runstats
- 设置客户机
- 启动实例
- 停止实例
- 停止前滚
- 取消停顿
- 更新
- 更新选项