运行 DB2 的技巧

来源:互联网 发布:大学毕业证制作软件 编辑:程序博客网 时间:2024/05/20 06:07

本节提供运行 DB2 的技巧。

| ||

如何检查 DB2 级别

|

要检查正在运行的 DB2 级别,请遵循以下示例。

|

对于 Windows,运行此命令:

|
db2level

输出的示例如下所示:

|
DB21085I  Instance "DB2" uses DB2 code release "SQL07027" with level identifier|"03080105" and informational tokens "DB2 v7.1.0.77", "n030303" and "WR21320".
|

对于 AIX,运行此命令:

|
db2level

输出的示例如下所示:

|
DB21085I  Instance "DB2" uses DB2 code release "SQL07027" with level identifier|"03080105" and informational tokens "DB2 v7.1.0.77", "s030303" and "U486937".
| ||

如何重新组织 DB2 表

|

在对数据库进行许多数据更新、删除或插入后,使用索引的 SQL 语句的性能会受到破坏。一般来讲,新插入的行无法以与索引定义的逻辑顺序相同的物理顺序放置(除非您使用群集索引)。|这意味着数据库管理器必须执行附加读操作来访问数据,因为逻辑顺序数据可能在不同的非顺序的物理数据页上。这接着又导致性能恶化。IBM Tivoli Storage Area Network Manager 使用的 DB2 数据库中的某些数据文件可以增大到比任何其它数据文件都大得多。要确定是否需要重新组织 DB2 表,请遵循此过程:

|
    |
  1. 获取数据库配置信息(请参阅获取数据库配置信息)|
  2. 获取 DB2 数据库报告(请参阅获取 DB2 数据库报告)|
  3. 回收 DB2 空间并更新统计信息(请参阅回收 DB2 空间并更新统计信息)
| |

获取数据库配置信息

|

要获取数据库配置信息,请遵循以下过程:

|
    |
  1. 启动 DB2 环境。 |

    对于 Windows,从命令提示符窗口输入 db2cmd 命令。将显示一个新的 db2cmd 窗口。

    |

    对于 AIX,从外壳程序提示符处,运行 DB2 实例所有者的 db2profile。例如,如果 DB2 实例所有者标识是 db2inst1,则运行此命令:

    |
    $ .~/db2inst1/sqllib/db2profile
    |
  2. 发出以下命令。此示例使用缺省数据库名称 itsanmdb。如果您使用其它数据库名称,请输入您的数据库名称。 |
    db2 get db cfg for itsanmdb
    |
  3. 将显示一个数据库配置列表。查找值“Path to log files”。以下示例显示数据库文件的位置(SQL000xx)。 |
    Path to log files =C:\DB2\NODE0000\SQL000xx\SQLOGDIR\
    |
  4. 将目录更改为:C:\DB2\NODE0000\SQL000xx\ITSANM1。查看文件的目录列表。如果看到某些文件比其余文件大得多,则应继续以下过程(请参阅获取 DB2 数据库报告和回收 DB2 空间并更新统计信息)。
| |

获取 DB2 数据库报告

|

要获取 DB2 报告,请遵循以下过程:

|
    |
  1. 从 db2cmd 窗口,使用以下命令连接到数据库: |
    db2 connect to <database_name> user <db2_admin> using|<db2_admin_password>
    例如,如果您的数据库名称为 itsanmdb,您的 DB2 管理员用户标识是 db2admin 且您的 DB2 管理员用户密码是 db2adminpswd,则以下是要使用的命令:|
    db2 connect to itsanmdb user db2admin using db2adminpswd
    |
  2. 从同一个 db2cmd 窗口,将目录更改到 <install_dir>\manager\apps\db2。<install_dir> 是 IBM Tivoli Storage Area Network Manager 安装所在的目录。|
  3. 发出以下 reorgchk 命令。reorgchk 命令计算数据库上的统计信息,以确定是否需要重新组织表。|
    db2 -tvf reorgchk.sql
    搜索报告的 REORG 列中的星号(*)。它指示表或索引需要重新组织。关于如何阅读 reorgchk 命令的输出的更多信息,请参阅IBM DB2 Universal Database Command Reference 中的 reorgchk 命令。关于重新组织编目和表的更多信息,请参阅 IBM DB2 Universal Database|Administration Guide: Performance 中的“Reorganizing Catalogs and User Tables”。
| |

回收 DB2 空间并更新统计信息

|

要回收 DB2 空间并更新统计信息,请遵循以下过程:

|
    |
  1. 从 DB2 命令窗口,对问题表发出 reorg 命令: |
    db2 -tvf reorg.sql
    重新组织大型表和索引可能需要一些时间。因此,应当在系统的使用率很低时重新组织表。可以编辑 reorg.sql 文件并仅选择问题表。重新组织后,将除去碎片数据中的可用空间。问题表的文件大小将减小。|这使得可以更快地访问数据从而提高性能。|
  2. 对问题表发出 runstats 命令: |
    db2 -tvf runstats.sql
    应在发出 reorg 命令后发出 runstats 命令。这将更新 IBM Tivoli Storage Area Network Manager 表的统计信息。可以编辑runstats.sql 文件并选择同一组问题表。可能需要一些时间来收集大表的统计信息。来自 runstats 命令的统计信息可以提供较好的信息以获取较好的性能。

配置 DB2 数据库

您的 DB2 数据库的大小会随 IBM Tivoli Storage Area Network Manager 收集的信息而增大。为避免空间不够,建议您遵循以下的步骤来配置 DB2 数据库。

遵循以下步骤:

  1. 停止管理器。

    要停止 Windows 上的管理器,请遵循这些步骤:

    1. 从任务栏,单击以下选项:
         开始 -> 设置 -> 控制面板 -> 管理工具 -> 服务
    2. 在“服务”面板上,找到并突出显示 IBM WebSphere Application Server V5 - ITSANM-Manager
    3. 右键单击 IBM WebSphere Application Server V5 - ITSANM-Manager
    4. 单击停止

    要停止 AIX 上的管理器,请转至工作目录并运行此命令(使用缺省目录):

    /tivoli/itsanm/manager/bin/aix/stopSANM.sh
  2. 启动 DB2 环境。

    对于 Windows,从命令提示符窗口输入 db2cmd。将显示一个新的 db2cmd 窗口。

    对于 AIX,从外壳程序提示符处,运行 DB2 实例所有者的 db2profile。例如,如果 DB2 实例所有者标识是 db2inst1,则运行此命令:

    $ . ~/db2inst1/sqllib/db2profile
  3. 运行以下命令。这些示例使用缺省数据库名称 itsanmdb。如果您使用的是另外的数据库名称,请使用您的数据库名称。
    db2 update db cfg for itsanmdb using LOGFILSIZ 2500db2 update db cfg for itsanmdb using LOGPRIMARY 20db2 update db cfg for itsanmdb using LOGSECOND 4
    必须禁用与数据库关联的所有连接。然后,下一个连接将使用新的数据库配置启动。
  4. 重新启动管理器。

    对于 Windows,请遵循这些步骤:

    1. 从任务栏,单击以下选项:
         开始 -> 设置 -> 控制面板 -> 管理工具 -> 服务
    2. 在“服务”面板上,找到并突出显示 IBM WebSphere Application Server V5 - ITSANM-Manager
    3. 右键单击 IBM WebSphere Application Server V5 - ITSANM-Manager
    4. 单击启动

    对于 AIX,请转至工作目录并运行此命令(使用缺省目录):

       /tivoli/itsanm/manager/bin/aix/startSANM.sh

管理事务日志

管理器使用的数据库在缺省情况下打开了数据库恢复选项。这使得系统万一崩溃时可恢复数据库。通过将恢复选项打开,DB2 将生成事务日志并在 DB2 系统目录中保存它们。一段时间后,这些日志的大小将增大。用于释放空间的建议方法是使用DB2 Administration Guide 中描述的 DB2 userexit 功能。另一种释放文件系统空间的方法是将非活动的日志移动到其它文件系统。下面描述了这种方法。要将非活动的日志移动到另一文件系统,请遵循以下步骤。

遵循以下步骤:

  1. 启动 DB2 环境。

    对于 Windows,打开命令提示符窗口。输入 db2cmd

    对于 AIX,从外壳程序提示符处,运行 DB2 实例所有者的 db2profile。如果 DB2 实例所有者是 db2inst1,则输入:

    $ . ~/db2inst1/sqllib/db2profile
  2. 发出以下命令。此示例使用缺省数据库名称 itsanmdb。如果您使用其它数据库名称,请使用您的数据库名称。
    db2 get db cfg for itsanmdb
  3. 将显示数据库配置的列表。查找值 Path to log filesFirst active log filePath to log files 是日志文件所在的位置。First active log file 指示当前活动日志。以下示例显示了此输出。
    Path to log files       = C:\DB2\NODE0000\SQL000nn\SQLOGDIR\First active log file   = S0000014.LOG 
    对于 AIX,路径为:DB2/NODE0000/SQL000nn/SQLOGDIR/。您可将从 S0000001.LOG 至 S0000013.LOG 的文件移动到另一文件系统,或备份并除去这些日志文件来释放日志空间。(不要移动活动日志文件。)

此方法是作为管理事务日志的快捷方法为您提供的。但是,用于释放空间的建议方法是使用 DB2 userexit 程序。

在 Windows 上使用 DB2

本节提供了在 Windows 上使用 DB2 时的一些技巧和提示。

检查 DB2

要查看 DB2 是否已启动运行,请遵循这些步骤:

  1. 单击以下选项:
    开始 -> 程序 -> DB2 for Windows NT -> 控制中心
  2. 您将在对话框窗口中获得一个日志。输入 DB2 管理员标识和密码并单击确定
  3. 您将看到 DB2 控制中心窗口,其中带有安装了 DB2 数据库的主机名。
  4. 一旦安装了 IBM Tivoli Storage Area Network Manager,将可以验证 DB2 数据库是否如图 165 中所示被创建。
    图形 165. 带 DB2 数据库的 DB2 控制中心
    带 DB2 数据库的 DB2 控制中心

停止和重新启动 DB2 服务器

要打开 DB2 命令窗口,请单击:

开始 -> 程序 -> DB2 for Windows NT -> 命令窗口

|要停止 DB2,请从“DB2 命令”窗口输入 db2stop 命令。在可以发出此命令之前,必须首先从 Windows“服务”面板停止这些服务。

|
DB2 Security Server(这将提示您停止仓库记录器和仓库服务器,单击“是”)|DB2 License Server|DB2 JDBC Applet Server|DB2 - DB2DAS00|DB2 - DB2CTLSV|DB2 - DB2

然后可以发出 db2stop 命令。

|要重新启动 DB2,请从“DB2 命令”窗口输入 db2start 命令。在可以发出此命令之前,必须首先从 Windows“服务”面板启动这些服务:

|
DB2 - DB2|DB2 - DB2CTLSV|DB2 - DB2DAS00|DB2 JDBC Applet Server|DB2 License Server|DB2 Security Server

然后可以发出 db2start 命令。

| ||

删除 DB2 数据库

|

要删除 DB2 数据库(itsanmdb),请遵循以下步骤:

|
    |
  1. 打开 DB2 命令窗口。|
  2. 输入以下命令: |
    db2 connect to itsanmdb user db2admin using <password>
    这将用用户标识 db2admin 连接到名为 itsanmdb 的数据库。|

    输出显示如下:

    |
    Database Connection Information|| Database server        = DB2/NT 7.2.6| SQL authorization ID   = RCHIANG| Local database alias   = ITSANMDB
    |
  3. 发出此命令以列出 DB2 应用程序: |
    db2 list application
    您将看到以下输出: |
    Auth Id  Application    Appl.      Application Id               DB       # of|         Name           Handle                                  Name    Agents||-------- -------------- ---------- ---------------------------- -------- -----||RCHIANG  db2bp.exe      11         *LOCAL.DB2.031024215710      SAMPLE   1||RCHIANG  db2bp.exe      10         *LOCAL.DB2.031024215537      ITSANMDB 1
    |
  4. 发出以下命令以停止此应用程序: |
    db2 force application (10)
    |
  5. 然后可以使用以下命令删除 DB2 数据库: |
    db2 drop database itsanmdb

在 AIX 上使用 DB2

本节提供了在 AIX 上使用 DB2 时的一些技巧和提示。

要检查 DB2 是否正在运行,请运行此命令:

ps -ef | grep -i db2

此命令显示正在运行的进程。

| ||

归档数据库日志

|

如果已用完了用于数据库日志的空间,则可以开发用户出口程序来自动执行日志文件归档和检索。可以检查 DB2 的用户出口,以确保它已正确设置。IBM Tivoli Storage Area Network Manager 缺省情况下使 DB2 数据库日志使用循环日志(logretain=no)。数据库日志将定期归档到预先指定的位置。用户出口样本程序位于SQLLIB\samples\c\db2uext2.* 中(对于 Windows)。 |对于 AIX,用户出口样本程序位于 sqllib/samples/c 子目录中。 |您可以修改文件空间名称、数据库名称、前缀日志名称和后缀日志名称。此外,还可以定制用户出口以调用 IBM Tivoli Storage Manager API 以执行备份和恢复数据库日志。关于用户出口的更多信息,请参阅IBM DB2 Universal Database Data Recovery and High Availability Guide and Reference。关于如何在用户出口程序中设置参数的信息,请参阅IBM DB2 Universal Database Administration Guide: Performance

| ||

检查 DB2 性能

|

如果希望检查和调整 DB2 性能,可以使用 DB2 性能配置向导。要使用此向导,请遵循以下过程:

|
    |
  1. 从 DB2 命令提示符窗口,发出 db2cc|
  2. 将显示“DB2 控制中心”窗口。|
  3. 转至数据库的 DB2 实例(如 itsanmdb)。|
  4. 右键单击 DB2 实例。选择使用向导配置性能|
  5. 将显示“介绍”面板,允许您确认数据库的名称。单击下一步|
  6. 将显示“服务器”面板,允许您调整您希望数据库使用的服务器的内存。使用滑动条调整目标内存。单击下一步|
  7. 将显示“工作负载”面板,允许您选择数据库的工作负载类型。选择混合|单击下一步|
  8. 将显示“事务”面板,以便您可以指定典型的数据库事务。可以指定每个工作单元 SQL 语句的平均数以及每分钟事务数。作出选择并单击下一步|
  9. 将显示“优先级”面板,以便您可以指定数据库管理优先级。选择两者并单击下一步|
  10. 将显示“已填充”面板,允许您指定是否将用数据填充数据库。选择并单击下一步|
  11. 将显示“连接”面板,允许您估计连接到此数据库的应用程序的数量。可以指定已连接本地应用程序的平均数量(100)和已连接远程应用程序的平均数量(20)。作出选择并单击下一步|
  12. 将显示“隔离”面板,允许您选择想要的行锁定类型。选择游标稳定性并单击下一步|
  13. 将显示“结果”面板,允许您复查性能配置推荐。该信息提供下列参数的当前值和推荐值: |
    编目高速缓存大小|已更改页面阈值|数据库堆大小|缺省等级|缺省预取大小|锁定列表的最大存储|日志缓冲区大小|日志文件大小|主日志文件的数量|辅助日志文件的数量|现行应用程序的最大数量|每个应用程序的最大锁定数|组提交计数|异步页面清除程序的数量
    您可以立即应用这些推荐,也可以将这些推荐保存在脚本中。选择一个选项并单击完成

 

 

http://publib.boulder.ibm.com/tividd/td/ITSANN/SC23-4697-02/zh_CN/HTML/btacpi1302.htm

0 0