更改数据库元数据
更改源数据库的以下元数据时,需要执行此过程以防止复制错误:
-
数据库字符集
-
国家字符集
-
区域设置
-
时区
-
对象名称区分大小写
如果在不执行此过程的情况下进行了这些更改,则会出现以下错误:
2013-05-26 20:10:09 ERROR OGG-05500 Detected database metadata mismatch between current trail file ./dirdat/_p/v1000000003 and the previous sequence. *DBTIMEZONE: [GMT]/[UTC].
此过程将停止提取,然后创建新的线索文件。新数据库元数据包含在此新文件中,其中包含更改后启动的事务处理。
-
停止源数据库上的事务处理活动。尚未对数据库进行元数据更改。
-
在源系统上,发出带有
LOGEND选项的SEND EXTRACT命令,直到显示不再有要捕获的重做数据。SEND EXTRACT *group* LOGEND -
停止提取。
STOP EXTRACT *group* -
在每个目标系统上,发出带有
STATUS选项的SEND REPLICAT命令,直到显示状态 "At EOF" 以指示它已完成对线索中的所有数据的处理。必须在所有目标系统上执行此操作,直到所有复制进程返回 "At EOF"。SEND REPLICAT *group* STATUS -
停止数据泵和复制。
STOP EXTRACT *group* STOP REPLICAT *group* -
更改数据库元数据。
-
在源系统上,发出包含主提取的
ETROLLOVER选项的ALTER EXTRACT命令,以将本地线索滚动到新文件的开头。ALTER EXTRACT *group*, ETROLLOVER -
开始提取。
START EXTRACT *group* -
将复制进程重新定位为从新的线索序号开始。
ALTER REPLICAT *group*, EXTSEQNO *seqno*, EXTRBA *RBA* -
启动复制进程。
START REPLICAT *group*