本文提供一个逐步指南,指导您使用重定向恢复操作对已有 SAP 系统执行跨平台异构系统复制。该功能在 DB2 Version 8 或更高版本中可用。本文描述这种迁移期间可能发生的问题,以及成功完成该操作所需知道的重要信息。
您可能需要使用异构系统复制(Heterogeneous System Copy)更改操作系统平台,或者复制一个系统。当需要构建测试或试验环境时,SAP 建议执行那样的复制。
使用本文中的说明的同时,还必须使用适当的 SAP Installation 手册和 SAP Homogeneous and Heterogeneous System Copy 指南。
在相同操作系统上运行的两个系统之间的系统复制称作同构系统复制(Homogeneous System Copy),这种复制可以使用 R3load 工具或 DB2 重定向恢复过程执行。
而在不同操作系统或不同 DBMS 系统上运行的两个系统之间的系统复制则称作 异构系统复制(Heterogeneous System Copy)。 在 DB2 Version 8 之前,只能使用 SAP 提供的 R3load 工具执行异构系统复制。
对于在不同平台上运行的两个系统,只要每个系统的 endianness(big-endian 或 little-endian)相同,便可以通过 DB2 Version 8 以及更高版本,使用重定向恢复在两个系统之间创建异构系统复制。除了以下限制外,可以为任何 big-endian 服务器做备份,然后将它恢复到另一个 big-endian 服务器。例如,可以将 DB2 for HP-UX 的备份镜像恢复到 DB2 for AIX® 或 Sun Solaris。对于 Windows®,虽然仍然只限于相同的平台,但是可以从 32 位系统迁移到 IA 或 AMD 64 位系统。
注意: endianness 是指最低地址存储的是最高位字节还是最低位字节。 big-endian 意味着最高位字节存储在最低地址(按高位优先的顺序存储字)。大多数 RISC 处理器都是 big-endian。而 little-endian 意味着最低位字节存储在最低地址(按低位优先的顺序存储字)。Intel 微处理器是 little-endian。
下面是系统复制的一些限制:
如果您的系统不属于受支持的组合,那么必须使用 R3load 方法执行系统复制。
接下来的小节解释使用重定向恢复将一个 SAP R/3 系统从一个平台(源系统)复制到另一个系统(目标系统)的过程,该过程如图 2 所示。
使用本文描述的跨平台异构系统复制过程作为参考,并借助特定于当前平台和 SAP 发行版的 SAP 安装手册,以及适当的 IBM 在线文档。此外,还应该查看以下 OSS Note:
在开始系统复制之前,需要清楚以下事情:
应该将日志包括在备份中。从 DB2 Version 8.2 到 9.5,这一点是默认的。请参阅信息中心中针对您所使用的 DB2 版本的关于备份数据库命令的文档(参考资料 小节中有相关链接)。
例如:
./R3SETUP -f CEDBR3CP.R3S
安装助手将询问一些问题,这些问题必须根据系统配置来回答。要获得关于如何回答这些问题的指南,请参阅 R/3 Installation on UNIX: IBM DB2 Universal Database for UNIX and Windows。
要点:目标系统与源系统必须有相同的 SID。
db2 "delete from sapr3.d010l" db2 "delete from sapr3.d010q" db2 "delete from sapr3.d010y" db2 "delete from sapr3.d010linf" |
db2 "import from /dev/null of del replace into <schema_name>.repoload" |
基于 NetWeaver 7.0(2004s) 或更高版本的发行版
在源系统上:
<System Release> --> Software Life-Cycle Options --> System Copy --> IBM DB2 for Linux, Unix, and Windows --> Source System Export --> <System Variant> --> <Technical Stack> --> Export Preparation
在提供的导出位置中,将创建所有标签和目录结构,这些文件可以在目标系统中使用。
在目标系统上:
<System Release> --> Software Life-Cycle Options --> System Copy --> IBM DB2 for Linux, Unix, and Windows --> Target System Installation --> <System Variant> --> <Technical Stack>
db2 update database configuration for <NEW_SID> using LOGARCHMETH1 /db2/<NEW_SID>/log_archive |
有 3 种方法可用于恢复数据库:
从源系统中,发出以下命令调用该工具:
brdb6brt -s <SID> -bm RETRIEVE -user <instance_owner> -using <password> |
例如:
brdb6brt -s LR1 -bm RETRIEVE -user db2lr1 -using PASS123 |
该工具生成一个 SID_NODE000X.src 格式的脚本。 该工具还创建一个名为 SID_NODE000X.brp 的文件,其中包括执行的步骤的日志记录。如果发生错误,那么可以使用该文件跟踪错误。
修改生成的脚本,以适应目标系统的具体要求。可以更改 SID、存储路径、日志目录位置等(注意,如果在使用自动存储,那么不需要设置容器路径)。做出修改后,从 CLP 中使用以下命令运行该脚本:
db2 -tvf <SID>_NODE0000.scr |
本文后面的 下载 小节包含一个链接,以便下载示例重定向恢复脚本。
还可以使用 brdb6brt 工具在一步中创建备份和生成恢复脚本。要了解关于该脚本或 brdb6brt 工具的更多信息,请参阅 SAP DB6 Database Administration Guide。
可以通过 DB2 命令行处理器(CLP)或 db2Restore 应用程序编程接口(API)调用恢复实用程序。要从 CLP 运行恢复,可在目标系统上发出以下命令:
db2 restore db <SID> from <location> taken at <timestamp> redirect generate script. <script>.clp |
例如:
db2 restore db LR1 from /backup/LR1 taken
at 20090804090733 redirect generate script. LR1restore.clp |
修改生成的脚本,以适应目标系统的具体要求。可以更改 SID、存储路径、日志目录的位置等。(注意,如果在使用自动存储,那么不需要设置容器路径。)做出修改后,从 CLP 中使用以下命令运行脚本:
db2 -tvf LR1restore.clp |
例如:
db2 restore database LR1 from /mnt/LR1backup taken at 20090914135805 redirect db2 restore database LR1 continue |
恢复完成时,必须在数据库上执行前滚。
例如:
db2 rollforward db LR1 to end of logs |
如果没有可用的日志,或者不需要前滚,那么可以带 stop 选项发出该命令。
例如:
db2 rollforward db LR1 stop |
或者,也可以将前滚命令添加到前面提到的生成的重定向脚本中。
自动存储这个特性使 DB2 可以自动控制数据库增长,而不必预先为数据库或表空间容器设置任何特定的大小。这可以减少用户的干预,并且可以减少由于空间限制导致工作负责被中断的情况。
对于 9.7 之前版本的 DB2,只能在数据库创建期间启用自动存储(从 DB2 Version 9.1 开始,这是默认行为)。而对于 DB2 9.7,还可以在数据库创建后,将数据库和表空间转换为使用自动存储。
可以使用系统复制方法在同一个系统上将数据库转换为自动存储,也可以通过以下操作,在一步中完成系统复制和到自动存储的转换:
在源系统上:
db2 ALTER DATABASE <dbname> ADD STORAGE ON <path1> [<path2>,...,<pathn>] |
例如:
db2 ALTER DATABASE LR1 ADD STORAGE ON ’/db2/LR1/sapdata1’,’/db2/LR1/sapdata2’,
’/db2/LR1/sapdata3’, ’/db2/LR1/sapdata4’
|
在目标系统上:
db2 set tablespace containers for <tablespace_id1> using automatic storage; db2 set tablespace containers for <tablespace_id2> using automatic storage; ... |
注意,可以从表空间快照中获得表空间 ID。生成的重定向恢复脚本中也包括表空间 ID。
例如:
db2 get snapshot for tablespaces on |
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/15082138/viewspace-626033/ ,如需转载,请注明出处,否则将追究法律责任。