1. 内容提要
本文解答 DB2 客户关于数据服务器最常见的问题。
问题(和答案)涉及以下产品:
IBM DB2 Universal Database (DB2 UDB) Version 8
DB2 UDB Version 8.2
IBM DB2 Version 9 for Linux, UNIX, and Windows (DB2 9)
IBM DB2 Version 9.5 for Linux, UNIX, and Windows (DB2 9.5).
本文安排如下:
本文第一节回答了在安装以及升级 DB2 数据服务器过程中可能遇到的问题。
本文第二节回答了在运行备份或者装载时可能遇到的问题。
第三节回答了一些操作方面的问题
这篇文章读者范围是所有客户。
2. 安装和升级
2.1 我是否能在一个服务器上安装不同版本的数据库?
当然,你可以。
在一个 Windows 平台上,如果你正在使用 DB2 UDB 版本 8,必须首先安装
较早版本,再安装新的版本。新的版本必须安装在一个不同的目录。
例如,你不能把 DB2 UDB 版本 8 安装在 DB2 版本 9 或 DB2 版本 9.5 之后。你需要首先安装 DB2 UDB 版本 8,然后再安装 DB2 版本 9 或 DB2 版本 9.5 在不同的目录中。
关于 DB2 版本 9 和 DB2 版本 9.5,你可以安装在不同的目录中。例如,你可以在某个目录中先安装 DB2 版本 9.5,然后再把 DB2 版本 9 安装在其他的目录中。
2.2 如果我已经有一个 DB2 版本 8.2 的实例,可以在 DB2 9.5 上使用相同的实例吗?
不能,你不能跨 DB2 版本共享实例。你可以把 DB2 UDB 版本 8.2 升级到以后的版本,但你不能没有升级就在不同版本间共享实例。
2.3 我在哪里能够获取 DB2 在 Linux,UNIX 和 Windows 上的修订包?
这里是该网站的链接,你可以在这里启动搜索。
http://www.ibm.com/support/docview.wss?rs=71&uid=swg27007053
在这个网站中,你可以访问并下载关于 DB2 UDB 版本 8,DB2 UDB 版本 9,以及 DB2 UDB 版本 9.5 的修订包和客户代码。
2.4 我最近在系统上应用了 DB2 补丁包,在那之后无法启动实例,这是什么问题?
在安装了补丁后,你需要更新实例。
请尝试运行下面的命令:
db2iupdt instance_name
你可以在 readme.txt 中找到所有安装前和安装后的要求。这个文件是修订包附带的,如果补丁包没有包括一个 readme.txt 文件,你可以通过进入你刚安装的修订包下载时列在前面的问题链接下载这个文件。
不过从 DB2 9.5 开始,不再需要这个步骤了。
2.5 我在哪里能找到 APAR 的列表?
你可以从这里找到所有 DB2 UDB 版本 8 的 APAR:
ftp://ftp.software.ibm.com/ps/products/DB2/fixes/english- us/aparlist/DB2_v82/APARLIST.TXT
或这里:
http://www.ibm.com/support/docview.wss?rs=71&uid=swg21255352
2.6 最近,我在 AIX 平台上安装了 DB2 数据服务器。有什么已知的问题需要注意吗?同时,我们计划升级 AIX,DB2 数据服务器是否支持新的 AIX 版本?
你可以从下面的链接找到 DB2 数据服务器在 AIX 平台上的信息
http://www.ibm.com/support/docview.wss?rs=71&uid=swg21165448
2.7 我在 Windows 平台上卸载了 DB2 UDB 版本 8.2, 然后安装了 DB2 9,然后尝试恢复一个备份,得到了 SQL1005N 错误,为什么?
你可以直接从 DB2 UDB 版本 8 升级到 DB2 9,然后尝试用 restore 来恢复先前的数据库。而不必先卸载 DB2 UDB 版本 8.2,再安装 DB2 9 。
如果你在 Windows 平台上遇到相同的场景,可以在 DB2 UDB 版本 8 之上安装 DB2 9,并在 GUI 安装启动板上选择“迁移”选项。
然而,如果你已经卸载了 DB2 UDB 版本 8,并安装了 DB2 9,那么请尝试运行下面的命令:
db2 list db directory
如果返回为空,就请运行下面的命令:
db2 list db directory on drivename/pathname
这个命令会在当前系统中列出你卸载 DB2 UDB 版本 8 之前的所有数据库。
再次编目数据库,然后运行 MIGRATE DATABASE 命令,这将令你能够连接到数据库并访问数据。更多关于 MIGRATE DATABASE 的信息请参考:
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.admin.cmd.doc/doc/r0001959.html
卸载或删除实例的操作,不会删除数据库以及它的目录。
编目数据库的信息,参见:
http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/start/t0005622.htm
2.8 我从一个 DB2 较早的补丁包升级到了最新的补丁包,如何回退至原来较早的补丁包?
对于 DB2 UDB 版本 8:
在 Solaris 平台上,可以使用 /var/sadm/patch/backoutallpatch* 工具回退一个修订包。
在 HP 平台上,可以将 PDB2* 文件集中属于最新修订包的那部分卸载掉。
在 Linux 平台上,可以在新的修订包之上应用老的修订包。
在 Windows 平台上,没有任何途径能够回退修订包。
在 AIX 平台上,如果你应用新的修订包而不提交它(使用 SMIT 工具或者 installp),就可以回退至较老的修订包。
对于所有 Linux 和 UNIX 平台上的 DB2 9 及以后版本,要在新的修订包之上安装老的修订包,使用 installFixPack 工具时,一定要指出你打算回退至较老的修订包版本;在 Windows 平台,你不能回退到一个较老的修订包。
2.9 如何检查我用的是 DB2 的什么产品?以及如何找出正在运行的 DB2 的版本?
关于 Windows 平台上的 DB2 UDB 版本 8,检查 Windows 注册表:
运行 Windows 命令行,输入 regedit 并回车。这个命令将打开 Windows 注册表。
从注册表展开HKEY_LOCAL_MACHINE --> Software --> IBM --> DB2.
在显示的信息中你可以看到你已经安装了的 DB2 产品(例如,DB2 企业服务器版,DB2 管理客户机,等等。)
在 Windows 平台上要判断 DB2 的版本,需要从 DB2 的命令窗口运行 db2level ;在 UNIX 或者 Linux 平台上,则需要在提示符下运行 db2level 。 db2level 的输出结果列出了你正在运行的 DB2 的补丁,DB2 的位标准,是否有任何特殊补丁正在使用,以及 DB2 技术支持可能需要的其他信息。
Windows 上的例子:
C:>db2level
DB21085I Instance "DB2" uses "32" bits and DB2 code release "SQL09013" with level
identifier "01040107". Informational tokens are "DB2 v9.1.300.257", "s070719",
"WR21392", and Fix Pack "3". Product is installed at "C:PROGRA~1IBMSQLLIB"
with DB2 Copy Name "DB2COPY1".
UNIX 上的例子:
$ db2level
DB21085I Instance "v8inst1" uses "64" bits and DB2 code release "SQL09050" with level
identifier "03010107". Informational tokens are "DB2 v9.5.0.0", "s071001", "AIX6495",
and Fix Pack "0". Product is installed at "/view/DB2_v10_aix64_s071001/vbs/INST".
在 DB2 9 及以后的版本中,使用 db2ls 命令就会得到这个信息。更多关于此命令的信息请参见:
http://publib.boulder.ibm.com/infocenter/db2luw/v9r5/topic/com.ibm.db2.luw.admin.cmd.doc/doc/r0023668.html
db2ls 会输出如下内容:
[root@hansolo wsdb]# db2ls -q -b /opt/mydb2 -a
Install Path: /opt/mydb2
Feature Response File ID Level Fix Pack Feature Description
--------------------------------------------------------------
DB2_PRODUCT_MESSAGES_EN 9.1.0.0 0 Product Messages - English
BASE_CLIENT 9.1.0.0 0 Base client support
JDK 9.1.0.0 0 IBM Software Development Kit (SDK) for Java(TM)
DB2_JAVA_HELP_EN 9.1.0.0 0 Java Help (HTML) - English
REPL_QSERVER 9.1.0.0 0 Replication with MQ Server
BASE_DB2_SERVER 9.1.0.0 0 Run-time Environment
JAVA_SUPPORT 9.1.0.0 0 Java support
SQL_PROCEDURES 9.1.0.0 0 SQL procedures
ICU_SUP 9.1.0.0 0 ICU Utilities
REPL_SERVER 9.1.0.0 0 SQL Replication Support
JAVA_COMMON_FILES 9.1.0.0 0 Java Common files
BASE_DB2_ENGINE 9.1.0.0 0 Base server support
DB2_CONTROL_CENTER_HELP_EN 9.1.0.0 0 Control Center Help (HTML) - English
CONNECT_SUPPORT 9.1.0.0 0 Connect support
CONFIGURATION_ASSISTANT 9.1.0.0 0 Configuration Assistant
SPATIAL_EXTENDER_CLIENT_SUPPORT 9.1.0.0 0 Spatial Extender client
APPLICATION_DEVELOPMENT_TOOLS 9.1.0.0 0 Base application development tools
ADMINISTRATION_SERVER 9.1.0.0 0 Administration Server
COMMUNICATION_SUPPORT_TCPIP 9.1.0.0 0 Communication support - TCP/IP
CONTROL_CENTER 9.1.0.0 0 Control Center
DATABASE_PARTITIONING_SUPPORT 9.1.0.0 0 Parallel Extension
REPL_CLIENT 9.1.0.0 0 Replication tools
RELATIONAL_WRAPPERS_COMMON 9.1.0.0 0 Relational wrappers common
DB2_DATA_SOURCE_SUPPORT 9.1.0.0 0 DB2 data source support
LDAP_EXPLOITATION 9.1.0.0 0 DB2 LDAP support
INSTANCE_SETUP_SUPPORT 9.1.0.0 0 DB2 Instance Setup wizard
XML_EXTENDER 9.1.0.0 0 XML Extender