--Checkpoint 保留了很少的记录,对于哪些很长时间内不需要的的数据会自动删除,所以checkpoint 不会对数据库造成性能上的影响。
的检查点信息有两种存放方式:
1. 存放在GGHOME\dirchk下的文件中。
这种是默认的方法,一个进程对应一个文件。提取进程可以只使用这种模式。不需要checkpoint table。 但是这种方式在db recovery 之后可能出现数据不一致。
gg2:/u01/backup> cd /u01/ggate/dirchk
gg2:/u01/ggate/dirchk> ls
REP1.cpr REPT2.cpr
2. 存放在数据库指定的表中,需要单独配置。
配置步骤如下:
(1)在./GLOBALS文件里添加checkpoint 表名
CHECKPOINTTABLE [ (2)连上DB,创建checkpoint 表 GGSCI> DBLOGIN [SOURCEDB GGSCI> ADD CHECKPOINTTABLE --生成这个检查点记录表 (3)在新增复制进程时可以在添加时指定checkpointtable[ 2.1 配置./GLOBALS 参数 GGSCI (gg2) 65> view params ./GLOBALS GGSCHEMA ggate CHECKPOINTTABLE ggate.checkpoint 当我们在GLOBALS 文件里指定了默认的checkpoint 之后,新的Replicat groups 在创建时会自动使用这个参数,不需要其他指令。 2.2 连上数据库,创建checkpoint表 GGSCI (gg2) 58> dblogin useridggate@gg2,password ggate Successfully logged into database. GGSCI (gg2) 59> add checkpointtableggate.checkpoint Successfully created checkpoint tableGGATE.CHECKPOINT. 2.3 在创建Replicat进程时,指定checkpoint 表 GGSCI (gg2) 14> add replicatrep1,exttrail /u01/ggate/dirdat/lt, checkpointtable ggate.checkpoint REPLICAT added. 至此,Checkpoint 的配置就完成。 我们查看一下checkpoint 表。 SQL> conn ggate/ggate deConnected. SQL> desc checkpoint Name Null Type ------------------------------------------------- ---------------------------- GROUP_NAME NOT NULLVARCHAR2(8) GROUP_KEY NOT NULLNUMBER(19) SEQNO NUMBER(10) RBA NOT NULLNUMBER(19) AUDIT_TS VARCHAR2(29) CREATE_TS NOT NULL DATE LAST_UPDATE_TS NOT NULL DATE CURRENT_DIR NOT NULLVARCHAR2(255) SQL> select * from checkpoint; GROUP_NA GROUP_KEY SEQNO RBA AUDIT_TS CREATE_TS LAST_UPDATE_ CURRENT_DIR -------- ---------- ---------- --------------------------------------- ------------ ------------ ---------------------- REP1 3987940558 12 1564 2011-11-17 17:21:55.471376 17-NOV-11 17-NOV-11 /u01/ggate Blog: http://blog.csdn.net/tianlesoftware] --指定的检查点记录表
] 替代nodbcheckpoint,使用数据库记录检查点信息。
二.示例