级别: 中级 【程序编程相关:如何为非传统数据实现索引扩展】
【推荐阅读:如何为非传统数据实现索引扩展】 【扩展信息:执行 DB2 ASP.NET 输入验证】kelly schlamb
高级软件开发人员, ibm canada ltd. 2004 年 9 月db2relocatedb 工具允许 db2 udb for linux. unix® 与 windows® 的 dba 物理地移动整个数据库.一个或多个表空间容器的位置,而不必进行任何备份与恢复.本文可以帮助您了解何时以及如何使用 db2relocatedb,并通过一个实际的生活示例,让 dba 自信能够像使用 db2 工具栏中的其他工具那样熟练地使用该工具.
简介
随 db2 udb v7 与 v8 一起提供的 db2relocatedb 工具,可以成为了解其功能与用法的 dba 手中的一件利器.该工具可以帮助 dba 物理地移动整个数据库.一个或多个表的空间容器的位置,而不必进行任何备份与恢复操作(这些操作可能需要花费很多时间与资源).它还允许重新命名数据库与转换数据库所属的实例.虽然 db2 手册中提供了 db2relocatedb 工具的说明,但人们通常是通过口头传播了解它的.他们非常希望尝试一下这个工具,但因为该工具所做的是改变,比如修改内部数据库结构.文件等,人们使用它的时候感到非常不安.本文将讨论该工具,说明什么时候使用它,以及如何使用它,并通过一些实际的生活示例,让 dba 自信能够像使用 db2 工具栏中的其他工具那样熟练使用它.
什么是 db2relocatedb?
除了保存的用户数据以外,db2 数据库还有大量的内部元数据,这些数据描述了用户数据存放位置.用户数据属于谁,以及如何引用它们.元数据总是被 db2 隐藏在“幕后”,用户与 dba 都不会直接接触它.就最基本的层面而言, db2relocatedb 是这样一种工具,即如果没有其他的办法,或者在数据库内完成这些操作造成的代价不可接受或者太繁琐(与使用 db2relocatedb 相比),那么可以使用它来改变这些元数据.比方说,修改与数据库相关的名称与路径可以使用 db2 的备份与恢复命令来完成.先备份数据库,然后用新的名称与/或路径恢复.备份操作可以在线完成,但恢复操作是离线的,而且其间数据库不能用,如果有可用性要求,那么这种情况是不可接受的.
另外一个示例是改变表空间容器的位置,也可以通过备份与恢复(更具体地说是重定向恢复)完成.但是,如果表空间是 dms,那么可以首先使用 alter tablespace sql 语句向新的位置添加容器,然后再从原来位置删除容器.这种方法的副作用是操作必须按顺序进行,每一步操作之后都可能出现表空间重新调整.
可以用 db2relocatedb 工具执行相同的任务,而且,在多数情况下,与在 db2 “内部”执行相比,db2relocatedb 工具所需的时间(与工作量)更少.但是这些只是其功能的一部分,下面列出了该工具能够于其中发挥重要作用的所有任务:
修改数据库名. 修改数据库创建的路径/驱动器. 更改一个或多个表空间容器. 改变与数据库有关的日志路径 改变与数据库有关的实例 将数据库复制/移动到同一台(也可以不同)机器上,并进行上述一项或多项修改.
现在必须明确一点,因为有时候人们常常会混淆(后面还将详细说明).当使用 db2relocatedb 改变数据库或者其容器的位置时, 您必须负责移动或复制文件可以使用选择的任何方法).该工具本身不会物理地移动任何东西,只能改变 db2 的内部元数据,以反映您所作的修改.
在哪里可以找到 db2relocatedb 工具?
db2relocatedb 工具最初在 db2 udb v7 fixpak 4 中引入的.一开始只在 release notes 予以说明,后来又被添加到产品文档中.v8 的所有版本中也提供了 db2relocatedb.db2relocatedb 是一种服务器端工具(也就是说只在数据库所在的系统上运行),因此,所有的服务器安装中都有该工具.您也可以在下面的目录中找到,该目录随平台不同而不同:
unix:实例目录/sqllib/bin/db2relocatedb windows:安装 db2 的驱动器\sqllib\bin\db2relocatedb.exe基础知识
... 下一页