• sync()
    • 语法
    • 参数描述
    • 返回值
    • 版本信息
    • 示例

    sync()

    语法

    db.sync( [options] )

    持久化数据和日志到磁盘。

    参数描述

    参数名参数类型描述是否必填
    optionsJson 对象设定 深度刷盘阻塞模式指定集合空间 以及 命令位置参数
    • Options 格式

    属性名描述格式Deep是否开启深度刷盘,取值0/1/-1, 0表示不开启,1表示开启,-1表示采用服务器端默认配置。缺省为1。 Deep取值兼容bool类型。Deep:1Block持久化期间是否阻塞所有的变更操作,取值true/false,缺省为false。Block:falseCollectionSpace指定持久化的集合空间名称,字符串类型。如果指定该参数,则只会持久化该集合空间,否则会持久化所有的集合空间和日志文件。CollectionSpace:"foo"Location Elements命令位置参数项,详细见 命令位置参数GroupName:"db1"

    返回值

    无返回值,出错抛异常,并输出错误信息。可以通过 getLastErrObj() 或 getLastErrMsg() 获取错误信息 或 通过 getLastError() 获取错误码。该操作主要的异常如下:

    • SDB_BACKUP_HAS_ALREADY_START(-67) 与离线备份任务冲突,可以关闭'阻塞模式'进行重试。
    • SDB_REBUILD_HAS_ALREADY_START(-149) 与本地重建任务冲突,可以关闭'阻塞模式'进行重试。
    • SDB_DMS_STATE_NOT_COMPATIBLE(-148) 与其它阻塞操作冲突(如其它sync操作),可以关闭'阻塞模式'进行重试。
    • SDB_DMS_CS_NOTEXIST(-34) 指定集合空间不存在。更多错误可以参考常见错误处理指南 。

    版本信息

    2.8及以上版本

    示例

    • 对全系统所有集合空间和日志进行深度持久化
    1. > db.sync()
    • 对指定集合空间"foo"进行深度持久化
    1. > db.sync( { CollectionSpace : "foo" } )
    • 对指定数据组"group1"进行深度加阻塞的持久化
    1. > db.sync( { GroupName : "group1", Block : true } )