持久数据库恢复
有关概述,请参阅持久数据库I/O页面。
从失败进程中持久数据库恢复
在发生系统故障时,可能需要持久的数据库恢复。当调用mco_db_open_dev()
时,SmartEDB运行时使用事务日志文件自动执行恢复。
请注意,对于自动恢复,重要的是在系统故障发生时,在更新数据库的进程中,RedoLog
(默认)或UndoLog
日志文件类型是活动的。换句话说,如果崩溃进程中的日志文件类型为NoLog
,则不可能进行恢复。日志类型在mco_db_params_t.db_log_type
中指定。
自动恢复不需要应用程序的其他API或操作。
例如:
mco_db_params_t db_params;
...
mco_db_params_init ( &db_params ); /* 用默认值初始化参数 */
// Set log file type
db_params.db_log_type = UNDO_LOG; // NO_LOG | REDO_LOG | UNDO_LOG
请参阅SDK示例 samples/core/19_recovery_diskrecovery