清空消息传递引擎的数据存储器

通过清空消息传递引擎的数据存储器,您可废弃持久操作信息而不删除消息传递引擎。

关于此任务

消息传递引擎的持久操作信息存储为持久消息以及有关消息传送和传输的关联信息。要废弃此信息而不从 WebSphere® Application Server 配置中删除消息传递引擎及其目标,应清空消息传递引擎数据存储器。
警告:
  • 清空数据存储器后,以前保存的所有持久消息都将丢失,但您创建的所有目标将继续存在。
  • 完全清空数据存储器时应特别谨慎。如果未完全清空数据存储器,那么会导致不可预测的行为。

过程

  1. 确保消息传递引擎和应用程序服务器已停止。
  2. 清空数据存储器。可以通过几种方法来做到这一点:
    1. 如果使用嵌入式 Derby 数据库(就像缺省数据存储器所做的那样)并且数据库仅包含消息传递引擎数据存储器的表,那么应删除该数据库使用的文件。 这将删除该数据库。消息传递引擎下一次启动时会创建空数据库来替换该数据库。
      要点: 如果要将同一数据库用于应用程序数据,那么必须按后续步骤中针对其他 RDBMS 的描述清空数据存储器表。
      1. 在文件系统中查找数据库数据目录。包含该数据库所使用文件的目录的名称与消息传递引擎数据存储器所使用的 JDBC 数据源配置中的数据库名称相同。缺省情况下,是
         ${USER_INSTALL_ROOT}/profiles/dmgr/databases/com.ibm.ws.sib/messagingEngineName
      2. 删除该目录。如果为 Derby 数据库配置了单独的日志目录,那么还必须删除此日志目录。如果发现不能删除这些文件,请确认应用程序服务器也已停止(如果停止消息传递引擎但未停止应用程序服务器,那么不能删除这些文件)。
    2. 如果正在使用 Derby Network Server 数据库,那么应使用类似的过程,但也应在删除这些文件之前停止 Derby Network Server。 必须在启动消息传递引擎之前重新启动 Derby Network Server。安装 WebSphere Application Server Base 时,WebSphere Application Server Network DeploymentUSER_INSTALL_ROOT 通常会更改。在 ${USER_INSTALL_ROOT}/profiles/dmgr 中可能找不到数据存储器,但在 ${USER_INSTALL_ROOT}/profiles/profileName 中却能找到数据存储器,其中 profileName 是您在安装时给出的名称。
    3. 如果正在使用任何其他 RDBMS,请使用 RDBMS 的管理工具清空数据存储器表。 可从表中移除所有数据,或删除并重新创建表。

      大多数 RDBMS 支持 TRUNCATE TABLE 语句,此语句将从表中移除所有数据。这是清空数据存储器表的首选方法,原因是此方法将保留表及其授权配置不变。

      如果 RDBMS 不支持 TRUNCATE TABLE 语句(例如,DB2® 不支持此语句),那么可使用 DELETE 语句从所有表中删除所有行。但是,如果这些表包含大量数据,那么此操作可能会由于 RDBMS 中的资源有限而不可行。在这种情况下,应删除表然后重新创建它们并设置必需的索引和权限。

      提示: 如果已允许 WebSphere Application Server 创建数据存储器表,那么可使用 DROP TABLE 语句删除这些表。当消息传递引擎下次启动时,它将创建空表来替换这些表。如果尚未允许 WebSphere Application Server Base 创建数据存储器表,那么必须重新创建已删除的表,然后才能启动消息传递引擎。
      提示: 可以使用 sibDDLGenerator 命令的 -drop 选项来生成用于删除表的 DDL。
      可选: 如果已通过从总线中移除消息传递引擎以将其删除,那么现在可以重新创建它。
  3. 启动消息传递引擎和应用程序服务器。

指示主题类型的图标 任务主题



时间戳记图标 最近一次更新时间: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjm0399_
文件名:tjm0399_.html