要实现混合复原策略,请仔细选择在创建数据库和数据库对象时要将其放置到的数据库空间集。
ON-Bar 会备份与复原物理实体而非逻辑实体。因此,ON-Bar 无法复原特定数据库或一组特定的表。相反,ON-Bar 将复原一组特定的存储空间。跟踪这些存储空间中存储的内容将取决于您。
create database mydb in cat_dbs with log;
create table mytab (i integer, c char(20)) fragment by round robin in tab_dbs_1, tab_dbs_2;
create index myidx on mytab(i) in idx_dbs;
如果您需要复原服务器,那么只有在复原包含数据库目录、表数据和索引的数据库空间之后,您才能访问示例数据库中的所有数据:在本例中,为数据库空间 cat_dbs、tab_dbs_1、tab_dbs_2 和 idx_dbs。
要简化数据的管理和跟踪,请将数据库空间集划分为用于存储特定紧急程度的数据的子集。当您创建数据库对象时,请将这些数据库对象放置在适合其紧急程度的数据库空间中。例如,如果您有三个紧急程度级别的数据,可能希望将与最紧急数据相关联的所有对象(数据库目录、表和索引)放置在特定的数据库空间集内:例如,urgent_dbs_1、urgent_dbs_2、...urgent_dbs_n。您会将与紧急程度较低的数据相关联的所有对象放置在不同的数据库空间集内:例如,less_urgent_dbs_1、less_urgent_dbs_2、... less_urgent_dbs_k。最后,您会将其余数据放置在不同的数据库空间集内:例如,non_urgent_dbs_1、non_urgent_dbs_2、.... non_urgent_dbs_r。
如果您需要复原服务器,那么您应首先对所有关键数据库空间和包含紧急数据的数据库空间(从 urgent_dbs_1 到 urgent_dbs_n)执行冷复原。例如,假设在 logdbsp_1 和 logdbsp_2 这两个数据库空间之间分发逻辑日志,并且物理日志在 rootdbs 中。因此,关键的数据库空间就是 rootdbs、logdbsp_1 和 logdbsp_2。
onbar -r rootdbs logdbsp_1 logdbsp_2 urgent_dbs_1 ... urgent_dbs_2
您可以使服务器联机,并且所有业务紧急数据都可用。
onsmsync onbar -r less_urgent_dbs_1 less_urgent_dbs_2 ..... less_urgent_dbs_k
最后,您可以通过发出以下命令来对服务器的剩余部分执行热复原。
onbar -r
在具有几十个数据库空间的更大型系统中,可以将混合复原的热复原部分划分为几个热复原,每个热复原只复原系统中剩余要复原的数据库空间的其中一小部分。