Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » MobiLink - 服务器管理 » 使用 MobiLink 服务器技术 » MobiLink 基于文件的下载 » 建立基于文件的下载

 

对新的远程数据库进行同步

如果要将下载文件应用到从未使用 MobiLink 同步过的远程数据库,则在应用下载文件前,需要在远程数据库上执行常规同步,或者在创建下载文件时使用 dbmlsync -bg 选项。

对于基于时间戳的同步,进行这两种操作中的任一种都会下载数据的初始快照。对于基于时间戳和基于快照的同步,此步骤都会将世代号设置为 begin_publication 脚本在统一数据库上生成的值。

执行常规同步

通过执行不使用下载文件的同步,可以准备远程数据库,以接收下载文件。

使用 -bg 选项

或者,您可以使用 -bg 选项创建一个下载文件,以用于尚未同步的远程数据库。应用此初始下载文件来准备远程数据库,以便进行基于文件的同步。

  • 快照下载   如果执行快照下载,则初始下载文件只需设置世代号。您可以选择在此文件中包含数据的初始快照,但由于每个快照下载都包含所有数据且并不依赖于先前的下载,所以并不需要这样做。

    对于快照下载,使用 -bg 选项更直接了当。只要在创建下载文件时在 dbmlsync 命令行上指定 -bg 即可。您可以通过用于后续下载文件的同一脚本版本来创建初始下载文件。

  • 基于时间戳的下载   如果要执行基于时间戳的下载,初始下载必须在远程数据库上设置世代号,并包括数据的快照。利用基于时间戳的下载,每个下载都构建在先前的下载的基础上。每个下载文件都包含一个上次下载时间戳。自文件的上次下载时间戳后统一数据库上更改的所有行都包括在此文件中。要应用文件,远程数据库必须已经接收到文件的上次下载时间戳之前发生的所有更改。这一点可通过以下方法来确认:检查文件的上次下载时间戳是否大于或等于远程数据库的上次下载时间戳(远程数据库从统一数据库接收到所有更改时的时间)。

    远程数据库必须先接收 1900 年 1 月 1 日后到文件上次下载时间戳之前更改的所有数据,然后才可以应用其第一个常规下载文件。通过 -bg 选项创建的初始下载文件必须包含此数据。选择此数据最简单的方法是另外创建一个脚本版本:该脚本版本使用与常规的基于文件的同步脚本版本相同的 download_cursor 脚本版本,但没有 modify_last_download_timestamp 脚本。如果未定义任何 modify_last_download_timestamp 脚本,则基于文件的下载的上次下载时间戳缺省为 1900 年 1 月 1 日。

如果将使用 -bg 选项构建的下载文件应用到已经同步的远程数据库,-bg 选项会使远程数据库上的世代号更新为创建下载文件时统一数据库上的值。世代号是为了确保在恢复丢失或损坏的统一数据库时上载过程执行完毕后,再执行进一步的基于文件的下载,而以上操作会使此目标落空。

请参见MobiLink 世代号