使用FlashCopy恢复Oracle数据库
Document #: 2811993L05000
Body: [标题]
使用FlashCopy恢复Oracle数据库
内容提要:
本文介绍当Oracle数据库的数据文件丢失或损坏时,如何使用IBM的FlashCopy功能在
本地对Oracle数据库的运行环境进行恢复,本文以在IBM pSeries服务器上运行的Oracle8i 数据库为例,应用软件为PeopleSoft。本文将不对建立FlashCopy的详细步骤进行详细的 介绍,如有需要请参阅其他技术文档。
说明:
IBM ESS FlashCopy简介
FlashCopy是IBM ESS存储服务器所支持的功能之一,主要用于本地的备份和恢复。FlashCopy 在某一时间点(T0)建立源LUN和目标LUN之间的对应关系,随后源LUN数据块(512字节)的更新 会将源LUN数据块更新前的原始数据拷贝到目标LUN中。FlashCopy可以保存系统在T0时间的数据 映像,如果在T0时间系统中的数据是完整和一致的,那么在目标LUN中的数据就可以用于系统的 备份和恢复。
系统环境:
硬件: IBM pSeries Model H80 2 GB RAM
2 x 18.2GB internal storage (rootvg) 15 x 8GB allocated ESS storage 4 Fiber Channel Adapters FC 6228 Fiber Channel Switch Model 2109
软件: PeopleSoft Financials v8 PeopleTools v8.41 Oracle8i v8.1.7.3
IBM WebSphere Application Server v4 IBM HTTP Web Server v1.3 JAVA v1.3
操作步骤:
1. 在ESS上建立和保存用于FlashCopy的源LUN和目标LUN的任务,其中源LUN包含Oracle的卷组。
2. 将Oracle数据库中的tablespaces设置成BEGIN BACKUP模式。 3. 在ESS上建立FlashCopy的映射(T0)。
4. 将Oracle数据库中的tablespaces设置成END BACKUP模式。 5. 模拟数据丢失或损坏的事件发生。
6. 将FlashCopy目标LUN分配给与源LUN相同的服务器。 7. 在目标LUN上建立新的卷组。
8. 将丢失或损坏的文件由目标LUN拷贝到相应的Oracle的目录中,然后执行Oracle数据库的恢复步骤。
在生产环境中,前四步作为数据备份的步骤应该定期进行,其余的步骤只在Oracle数据库需要恢复
的时候进行。需要注意的是在建立FlashCopy的映射关系时,所有的数据库的表必须处于BEGIN BACKUP的状态。
1. 在ESS上定义用于FlashCopy的源LUN和目标LUN的任务,其中源LUN包含Oracle的卷组。 此步骤本文不再详述,如需了解详细步骤请参阅ESS相关文档。
2. 将Oracle数据库中的tablespaces设置成BEGIN BACKUP模式。
在FlashCopy的映射关系建立之前,在数据库中所有的表空间必须设置成BEGIN BACKUP状态, 可采用SQL script以简化操作。
a. oracle@atsaix1:/oracle=> sqlplus
SQL*Plus: Release 8.1.7.0.0 - Production on Mon Dec 30 17:18:00 2002 (c) Copyright 2000 Oracle Corporation. All rights reserved.
Enter user-name: system Enter password: (password)
Connected to:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production JServer Release 8.1.7.0.0 - Production
SQL> set head off SQL> set pagesize 500 SQL> spool beg_backup.sql
SQL> select 'alter tablespace '||tablespace_name||' begin backup ;' from dba_tablespaces ;
alter tablespace SYSTEM begin backup ; alter tablespace PSRBS begin backup ; alter tablespace PSTEMP begin backup ; alter tablespace AMAPP begin backup ; alter tablespace AMLARGE begin backup ; .
. .
alter tablespace TRLARGE begin backup ; alter tablespace TRWORK begin backup ; alter tablespace WSAPP begin backup ; alter tablespace PSIMAGE begin backup ; alter tablespace PSINDEX begin backup ; 98 rows selected.
SQL> spool off SQL> exit
b. 编辑此文件去掉 \行
oracle@atsaix1:/oracle=> vi $ORACLE_HOME/beg_backup.sql
c. 运行此脚本
oracle@atsaix1:/oracle=> sqlplus system/(password) @$ORACLE_HOME/beg_backup Tablespace altered. Tablespace altered. Tablespace altered. Tablespace altered. Tablespace altered. Tablespace altered. …
3. 在ESS上建立FlashCopy的映射(T0)。
运行ESS StorWatch Specialist 进入\,然后选择\,找到在步骤1中定义的
任务并运行,确认源LUN与目标LUN之间的映射关系已经建立。
4. 将Oracle数据库中的tablespaces设置成END BACKUP模式。 映射关系建立后,就可以将数据库设回正常工作状态。
oracle@atsaix1:/oracle=> sqlplus
SQL*Plus: Release 8.1.7.0.0 - Production on Mon Dec 30 17:18:00 2002 (c) Copyright 2000 Oracle Corporation. All rights reserved.
Enter user-name: system Enter password: (password)
Connected to:
Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production JServer Release 8.1.7.0.0 - Production
SQL> set head off SQL> set pagesize 500