統合データベースへのレプリケーションに頼ってリモート・データベースをバックアップする場合は、次の手順を使用してリモート・データベースのトランザクション・ログを管理します。つまり、リモート・データベースとトランザクション・ログではバックアップ・ユーティリティ (dbbackup) を実行しません。
バックアップ中のデータベースに対しては、-x オプションを指定して Message Agent (dbremote) を実行しないでください。
リモート・データベースで、-x オプションを指定して Message Agent (dbremote) を実行し、トランザクション・ログのサイズを指定します。このオプションにより、トランザクション・ログが指定したサイズを超えると、Message Agent (dbremote) はトランザクション・ログの名前を変更して再起動します。
次の文では、トランザクション・ログが 1 MB より大きくなると、削除されます。
dbremote -x 1M -c "UID=ManagerSteve;PWD=sql;DBF=c:\mydata.db" |
リモート・データベースで、delete_old_logs オプションを On に設定します。delete_old_logs オプションの設定により、古いトランザクション・ログ・ファイルは、レプリケーションで不要になると、Message Agent (dbremote) によって自動的に削除されます。
トランザクション・ログが不要になるのは、そのトランザクション・ログ・ファイルに記録されている変更をすべて受信して正常に適用したという確認を、すべてのサブスクライバから受け取った時点です。delete_old_logs オプションは、PUBLIC グループに対して、または Message Agent (dbremote) の接続文字列に含まれるユーザのみに対して設定できます。
次の文では、PUBLIC グループに delete_old_logs を設定して、作成されてから 10 日以上過ぎたログを削除します。
SET OPTION PUBLIC.delete_old_logs = '10 days'; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |