本文将为您详解使用了DB2® V9 的自动存储功能的数据库,如何才能进行非增量重定向还原,并对自动存储功能有详细的阐述,供您参考,希望对您有所启迪。
IBM的DB2 V9 引入了自动存储器管理,使用自动存储功能可以帮助您简化表空间的存储管理,新创建的使用自动存储功能的表空间,其容器和空间分配完全由 DB2数据库管理器确定。本文重点介绍使用DB2® V9 自动存储功能的数据库如何进行非增量重定向还原。
简介
数据库可能会因为软件或硬件故障而不可用,可能会遇到存储问题、断电、应用程序故障或误操作等各种需要采取不同恢复措施的故障情况。本文重点介绍使用了DB2® V9 的自动存储功能,不允许增量备份的数据库如何进行重定向还原。由于使用自动存储器功能的数据库在还原方面和以往有了很大区别,客户在实际使用的过程中容易出现各种问题,所以本文对自动存储功能会有详细的阐述。
自动存储特性最初是在DB2 V8.2.2中引入的,DB2 V9扩展了这一特性,使用自动存储功能可以帮助您简化表空间的存储管理,新创建的使用自动存储功能的表空间,其容器和空间分配完全由 DB2数据库管理器确定。
自动存储管理
自动存储器跨磁盘和文件系统自动增大数据库大小。因此,在保持数据库管理的存储器性能和灵活性的同时,不再需要管理存储器容器。在DB2 V9.1中,已对多分区数据库增加了自动存储器支持。如果您使用的是带DPF(Data Partitioning Feature,数据库分区功能)的企业服务器版,那您可以使用支持自动存储器功能的多分区数据库。在DB2 V9中创建新数据库的时候,默认启用自动存储功能,主要目的是简化表空间的存储管理,使用自动存储功能的数据库有一个或多个相关联的存储器路径,在创建表空间的时候不用指定存储的路径等特性。对使用自动存储器功能的数据库,其表空间可以使用自动存储管理,也可以不使用自动存储管理。对于不使用自动存储器功能的数据库,则其表空间不能使用自动存储管理。
自动存储器简化了存储管理,它使您能够指定用于数据库管理器存放表空间数据以及为各种用途分配空间的存储路径。另外,在创建和填充表空间时,DB2 将管理这些表空间的容器和空间分配。如果不需要使用自动存储器,则必须通过运行 CREATE DATABASE 命令并将 AUTOMATIC STORAGE 选项设置为NO,或通过使用 sqlecrea API 并将 SQLEDBDESCEXT 参数设置为 SQL_AUTOMATIC_STORAGE_NO 来创建数据库。#p#
自动存储器功能只能在创建数据库时指定,不能对已经创建的未使用自动存储器功能的数据库启用自动存储器; 同样,对创建数据库时启用自动存储器的数据库也不能禁用自动存储器,变通的方法就是在创建表空间的时候可以指定是否使用自动存储器,即虽然数据库启用了自动存储器功能,但可以创建不使用自动存储器功能的表空间。
由于对多分区配置引入了自动存储器数据库,所以更改了 db2look 命令。现在在发出 db2look 命令之前,必须确保所有数据库分区都是活动的。如果有任何数据库分区处于不活动状态,则会发出警告消息,该消息说明无法生成表空间的DDL。此 db2look 命令更改会影响所有表空间类型。
接下来,我们将通过示例的方式分别解释如何在创建数据库的时候使用自动存储器功能。
示例1:创建不使用自动存储器的DB2数据库DB2TEST1
CREATE DATABASE DB2TEST1 AUTOMATIC STORAGE NO ON /db2/databases/db2test1
如果在实际过程中不需要使用自动存储功能,则必须在创建数据库时将 AUTOMATIC STORAGE 选项设置为 NO,否则,将创建使用自动存储器功能的数据库。
示例2:创建使用自动存储器的DB2数据库DB2TEST2
CREATE DATABASE DB2TEST2
因为在DB2 V9中创建新数据库的时候,默认启用自动存储功能,我们在创建数据库的时候没有显式将指定AUTOMATIC STORAGE 选项设置为NO,所以新创建的数据库DB2TEST2 将自动启用自动存储功能,其数据库路径是使用 dftdbpath 数据库管理器配置参数来确定,其存储器路径也是使用 dftdbpath 数据库管理器配置参数来确定。
默认创建了3个表空间:SYSCATSPACE、TEMPSPACE1和USERSPACE1,都是使用自动存储管理。需要注意的是,对USERSPACE1表空间,和其在DB2 V8相比其表空间类型由常规变成了大型。#p#
示例3:创建使用自动存储器的DB2数据库DB2TEST3
CREATE DATABASE DB2TEST3 ON /db2/databases/db2test3
因为在DB2 V9中创建新数据库的时候,默认启用自动存储功能,我们在创建数据库的时候没有显式将指定AUTOMATIC STORAGE 选项设置为NO,所以新创建的数据库DB2TEST3 将自动启用自动存储功能,其数据库路径是:/db2/databases/db2test3,其存储器路径也是:/db2/databases/db2test3。
示例4:创建使用自动存储器的DB2数据库DB2TEST4
CREATE DATABASE DB2TEST4 AUTOMATIC STORAGE YES
也可以在创建数据库的时候显式将指定AUTOMATIC STORAGE 选项设置为YES,效果和默认时相同,创建的数据库DB2TEST4也使用自动存储,其数据库路径和存储器路径由dftdbpath 数据库管理器配置参数确定。
示例5:创建使用自动存储器的DB2数据库DB2TEST5
CREATE DATABASE DB2TEST5 ON /db2/databases/db2test5/autostorage DBPATH ON /db2/databases/db2test5
因为在DB2 V9中创建新数据库的时候,默认启用自动存储功能,我们在创建数据库的时候没有显式将指定AUTOMATIC STORAGE 选项设置为NO,所以新创建的数据库DB2TEST5 将自动启用自动存储功能,数据库路径由DBPATH ON directory参数指定,在当前示例中数据库路径是:/db2/databases/db2test5,存储器路径由ON directory 参数指定,在当前示例中存储器路径是 /db2/databases/db2test5/autostorage。#p#
对于前面显示的示例,下表总结了所使用的存储器路径:
表 1. 自动存储器数据库路径和存储器路径