分类: DB2/Informix
2007-12-06 10:40:27
1 OnBar 能够备份:dbspace, Blobspace, Logical-log, Sbspace, ISM Catalog;不能备份OS文件。
不许备份的内容:mirror chunk, 未使用的dbspage pages,temp dbspace.
2 备份类型
Whole system backup (onbar -b -w):基于备份起始点checkpoint时刻的所有storage space和logical log的顺序(serial)备份。那个时间点记录在备份信息里。
在恢复的时候, 你可以使用log,也可以不使用log(只做fast recovery), 因为数据都是一致的。
Standard Backup (onbar -b):部分或者全部storage space, 以及log的并行备份。在每个 storage space备份开始的时刻,有一个check point, 但是所有备份的storage space因为是不同时间的备份的,
所以它们之间的数据不是一致的,在恢复的时候必须使用log来rollforward到一个一致的时刻。
Incremental Backup (onbar -b -L 0/1/2):对某个storage space的增量备份,不节省时间,但在恢复的时候,节约了应用log的时间。
3 Cold (offline)和Warm(Online, Fast Recovery, Quiesent) Restore
在informix中没有冷备份的概念。你只能在online, quescient, or fast recovery 模式下备份。
总之,onbar的备份都是联机的,只能备份到storage space级别和log级别,不能针对表或者数据库。所以,需要用户自己划分数据到不同的storage space。
在informix中作media restore & recovery,你必须有一份0级备份,以及随后的所有log.
你可以在online, quescient状态下,恢复非关键storage space (除rootdbs, physical log, logical log以外),称之为warm restore.
你可以在offline状态下,依据emergency boot file来恢复数据,称之为cold restore. 冷恢复一般需要salvage log, 除非你指定物理恢复.
使用冷恢复,你可以在一个新的环境下恢复一个系统,即使chunk name, offset发生变化。
4 physical restore and logical restore
恢复storage space的0/1/2级备份称之为物理恢复。应用日志称之为logical restore. 重放的日志使用tempdbs, 所以必须保证足够的数据空间.
5在onbar以外需要备份的内容:
ONCONFIG file
Emergency boot files
sm_versions file
The sqlhosts file (UNIX)
The oncfg_servername.servernum file in the etc subdirectory
Storage-manager configuration and data files
Simple-large-object data in blobspaces that are stored on disks or optical platters
Externally stored data such as external tables that a DataBlade maintains
6 备份前的准备工作
1)保留上述系统文件
2)oncheck检查数据完整性(integrity), 做记录。
3) 对每个重要表的行数和onstat –d作记录。
4)确保log空间足够。
7 备份语法
onbar –b [ –L level ] [-F] [–f filename] [dbspace list] [-w] [-O]
-L 备份级别
-F fake备份,用于使HPL express mode后的表从只读状态改为读写状态。
-f 使用文件指示storage space.
-w whole system backup
-O override error checks to back up logs when blobspaces are offline
If you use the onbar script to back up storage spaces and logical logs, it backs up the ISM catalog automatically. If you call onbar_d directly, you must use the ism_catalog -create_bootstrap command.
Salvage logs
Onbar –b –s [–O]
备份log
onbar –b –l [-C|-c] –O
-C continuous backup
-c include the current log
8 什么时候需要备份
1)客户认为需要保存的时刻。
2)调度制定的时刻。
3)改变了physical schema, 在下列时刻需要零级备份rootdbs,和发生变化的dbs
l Move, drop, or resize a logical-log file.
l Change the size or location of the physical log.
l Change your storage-manager configuration.
l Add, move, or drop a dbspace.
l Add, move, or drop a chunk to any type of storage space
l Add, move, or drop a blobspace or sbspace.
l Although you no longer need to backup immediately after adding a log file, your next backup should be level-0 because the data structures have changed.
l If you create a new storage space with the same name as a deleted storage space, perform a level-0 backup twice: 1. Back up the root dbspace after you drop the storage space and before you create the new storage space with the same name. 2. After you create the new storage space, back up the root dbspace and the new storage space.
4) 当下列时刻,需要零级备份涉及到的dbspace
l Convert a nonlogging database to a logging database.
l Convert a raw, static, or operational table to standard. This backup ensures that the unlogged data is restorable before you switch to a logging table type.
9 监视onbar活动
onbar –m lines –r seconds 监视storage space备份
onbar –P 监视backed up logs
onstat –l 监视日志状态
10 验证backup
archecker or onbar –v
onbar –v –f filename 验证文件中指定的storage space
onbar –v –t “2001-12-10 10:20:50” 验证时点备份
onbar –v –w 验证全系统备份
对于blob,sb还是用oncheck-cD -cS验证数据库。
如果验证失败,可以用时点恢复
onbar –r –p –t datetime dbspace1
onbar –r –l
11 onbar 恢复类型
1) mirrored dbspace
onbar在恢复时候,自动写primary和mirror chunk.
2) temp dbspace
onbar不备份temp,也不恢复. 但是在恢复rootdbs的时候创建空的tempdbs.
3) warm restore
只对非关键的storage space.
4) cold restore
当critical storage space坏掉以后, 只能cold restore. 而且是全部的critical dbspaces(root, physical log, logical log).
另外,以下情况也需要cold restore:
l Point in time restore
l Point in log restore
l Whole system restore
l Imported restore
l Renaming chunks
5) mixed restore
先冷恢复关键数据空间,然后再热恢复不重要的数据空间.
6) Parallel restore
当BAR_MAX_BACKUP =1 串行恢复, >1 并行恢复. 不能是全系统恢复.
7) Whole system restore
Onbar –r –w or onbar –r –w –p 必须存在whole system backup才可行,后者不恢复log. 只能serial方式. 必须是cold方式.
8) Point-in-time restore
Cold方式,用于恢复被删掉的表.或者恢复到某一时刻. 会丢失随后的交易. 必须恢复所有的storage space, 否则数据不一致.
9) Imported restore
必须备份恢复storage manager有关的配置和数据. 版本和软件必须相同.
10)Rename Chunk Restore
可以在恢复时候指定chunk name.包括关键数据空间,必须cold方式.
11)Restartable Restore
必须指定RESTARTABLE_RESTORE参数.
12 恢复过程的监视
onstat –d
onbar activity log
13 Onbar 恢复命令
1) onbar –r 只恢复down的dbspace, 自动跳过online的storage space.
如果cold恢复,会自动salvage log, 恢复所有storage space, 和需要的log.
2) Onbar –r dbspacelist
如果某个dbspace联机,就会跳过. 写activity log.
3) Onbar –r –l 恢复日志, 需要临时空间. 可以指定ON_RECVRY_THREADS并行程度.
4) 分步warm restore几个storage space
onbar –r –p dblist
onbar –b –l // 备份逻辑日志(必须), 在恢复的时候,可以不使用当然磁盘日志
onbar –r –l 恢复逻辑日志
5) 分步cold restore几个storage space
onbar –b –l –s
onbar –r –p dblist
onbar –r –l
onsmsync ( without arguments)
注意: 如果onbar –r –b/-l 都不会salvage log.
6) Whole system restore
If you use onbar -b -w to back up the whole system, you can restore with any of the following commands:
onbar -r –w # whole-system restore (salvages logs automatically)
onbar -r -p -w # physical-only whole-system restore (no log salvage)
onbar -r # parallel restore of the whole-system backup
onbar -r dbspaces # restore dbspaces from a whole-system backup
onbar -r -t time # point-in-time restore
onbar -r -t time -w # whole-system point-in-time restore
If you use onbar -r -p -w, the database server is in fast recovery mode when the restore completes. Perform either a logical restore (onbar -r -l) or use onmode -m to bring the database server online.
注意: 可以online, 也可以cold.
如果指定-O, 必须cold, 用于恢复丢失的chunk.
7) mixed restore (cold + warm)
必须在cold restore之后,运行onsmsync, 然后再作warm restore.
8)Point-in-log restore
onbar –r –n logid
至于log最后一个提交的交易. 必须冷方式.
9)restore a drop dbspace
onbar –r –p –t time rootdbs, dbspace1, dbspace2 //cold, PIT
onbar –r –l –n uniqid or onbar –r –l –t time //restore log PIT or PIL
onbar –r –t time –O // if the chunk file also deleted, recreate it
10) restore nologed databases or tables
只能使用whole system backup, 恢复到备份时候的状态.