發(fā)布于:2021-01-26 11:54:50
0
83
0
在我之前的一篇文章中,我們討論了如何設(shè)置和使用集成捕獲模式,以及如何使用集成捕獲模式的下游挖掘數(shù)據(jù)庫(kù)選項(xiàng)。
現(xiàn)在讓我們看看如何將經(jīng)典捕獲升級(jí)為集成捕獲。
綜上所述,經(jīng)典捕獲和集成捕獲模式之間的主要區(qū)別在于,在經(jīng)典捕獲中,extract聯(lián)機(jī)讀取Oracle數(shù)據(jù)庫(kù)(視情況而定)重做日志文件以捕獲更改,而在集成捕獲模式中,數(shù)據(jù)庫(kù)日志挖掘服務(wù)器讀取重做日志文件并捕獲數(shù)據(jù)庫(kù)中的更改LCR(邏輯更改記錄)的形式,然后由金門提取過(guò)程訪問(wèn)。
讓我們看看這個(gè)升級(jí)過(guò)程的一個(gè)例子。
在本例中,我們有一個(gè)名為testme的(經(jīng)典捕獲)提取組。為了這個(gè)示例的目的,我們創(chuàng)建了一個(gè)沒有任何datapump提取組的直接提取組。
GGSCI (pdemvrhl062) 2> ADD EXTRACT testme, TRANLOG BEGIN NOW
EXTRACT added.
GGSCI (pdemvrhl062) 3> ADD RMTTRAIL ./dirdat/ie EXTRACT testme
RMTTRAIL added.
GGSCI (pdemvrhl062) 5> EDIT PARAMS testme
EXTRACT testme
USERID ggate, PASSWORD ggate
RMTHOST 10.32.xxx.xx, MGRPORT 7809
RMTTRAIL ./dirdat/ie
TABLE sh.countries;
GGSCI (pdemvrhl062) 7> START EXTRACT testme
Sending START request to MANAGER ...
EXTRACT TESTME starting
我們可以看到,一旦提取過(guò)程開始,它就會(huì)讀取數(shù)據(jù)庫(kù)的在線重做日志文件——因此我們知道這是一個(gè)經(jīng)典的提取。
GGSCI (pdemvrhl062) 8> INFO EXTRACT testme
EXTRACT TESTME Last Started 2013-02-08 17:26 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:02:32 ago)
Log Read Checkpoint Oracle Redo Logs
2013-02-08 17:23:42 Seqno 75, RBA 1308688
SCN 0.0 (0)
要將經(jīng)典捕獲升級(jí)為集成捕獲,我們需要首先停止提取過(guò)程并將其注冊(cè)到數(shù)據(jù)庫(kù)中。
GGSCI (pdemvrhl062) 13> STOP EXTRACT testme
Sending STOP request to EXTRACT TESTME ...
Request processed.
GGSCI (pdemvrhl062) 14> REGISTER EXTRACT testme DATABASE
2013-02-08 17:37:34 WARNING OGG-02064 Oracle compatibility version 11.2.0.0.0 has limited datatype support for integrated capture. Version 11.2.0.3 required for full support.
2013-02-08 17:38:22 INFO OGG-02003 Extract TESTME successfully registered with database at SCN 3114483.
我們現(xiàn)在可以檢查一下是否可以升級(jí)摘錄。
在我的例子中,我注意到如下所示的一條錯(cuò)誤消息,指出在這個(gè)階段無(wú)法升級(jí)摘錄。
GGSCI (pdemvrhl062) 13> STOP EXTRACT testme
Sending STOP request to EXTRACT TESTME ...
Request processed.
GGSCI (pdemvrhl062) 14> REGISTER EXTRACT testme DATABASE
2013-02-08 17:37:34 WARNING OGG-02064 Oracle compatibility version 11.2.0.0.0 has limited datatype support for integrated capture. Version 11.2.0.3 required for full support.
2013-02-08 17:38:22 INFO OGG-02003 Extract TESTME successfully registered with database at SCN 3114483.
GGSCI (pdemvrhl062) 4> INFO testme UPGRADE
ERROR: Extract TESTME is not ready to be upgraded because recovery SCN 3114444 has not reached SCN 3114483.
為了解決這個(gè)錯(cuò)誤,我發(fā)出了alterextract命令,啟動(dòng)并立即停止了提取。
GGSCI (pdemvrhl062) 5> ALTER EXTRACT testme TRANLOG BEGIN NOW
EXTRACT altered.
GGSCI (pdemvrhl062) 7> START EXTRACT testme
Sending START request to MANAGER ...
EXTRACT TESTME starting
GGSCI (pdemvrhl062) 8> INFO EXTRACT testme
EXTRACT TESTME Last Started 2013-02-08 17:44 Status RUNNING
Checkpoint Lag 00:00:42 (updated 00:00:01 ago)
Log Read Checkpoint Oracle Redo Logs
2013-02-08 17:44:05 Seqno 84, RBA 44048
SCN 0.0 (0)
GGSCI (pdemvrhl062) 9> STOP EXTRACT testme
Sending STOP request to EXTRACT TESTME ...
Request processed.
現(xiàn)在我們看到摘錄已經(jīng)可以升級(jí)了。
GGSCI (pdemvrhl062) 10> INFO testme UPGRADE
Extract TESTME is ready to be upgraded to integrated capture.
為了升級(jí)經(jīng)典的capture extract,我們使用upgrade INTEGRATED TRANLOG命令,如下所示。
GGSCI (pdemvrhl062) 11> ALTER EXTRACT testme , UPGRADE INTEGRATED TRANLOG
Extract TESTME successfully upgraded to integrated capture.
GGSCI (pdemvrhl062) 12> START EXTRACT testme
Sending START request to MANAGER ...
EXTRACT TESTME starting
GGSCI (pdemvrhl062) 13> INFO EXTRACT testme
EXTRACT TESTME Initialized 2013-02-08 17:44 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:01:57 ago)
Log Read Checkpoint Oracle Integrated Redo Logs
2013-02-08 17:44:59
SCN 0.3142900 (3142900)
我們可以看到摘錄不再讀取重做日志文件。請(qǐng)注意經(jīng)典捕獲和集成捕獲之間的區(qū)別。
經(jīng)典
Log Read Checkpoint Oracle Redo Logs
2013-02-08 17:44:05 Seqno 84, RBA 44048
SCN 0.0 (0)
集成
Log Read Checkpoint Oracle Integrated Redo Logs
2013-02-08 17:44:59
SCN 0.3142900 (3142900)
我們可以看到,在升級(jí)到集成捕獲之后,在數(shù)據(jù)庫(kù)中創(chuàng)建了一個(gè)隊(duì)列和隊(duì)列表。
SQL> select CAPTURE_NAME, QUEUE_NAME, STATUS from DBA_CAPTURE;
CAPTURE_NAME QUEUE_NAME STATUS
------------------------------ ------------------------------ --------
OGG$CAP_TESTME OGG$Q_TESTME ENABLED
SQL> select OWNER, QUEUE_TABLE, QUEUE_TYPE from dba_queues
2 where NAME='OGG$Q_TESTME';
OWNER QUEUE_TABLE
------------------------------ ------------------------------
QUEUE_TYPE
--------------------
GGATE OGG$Q_TAB_TESTME
NORMAL_QUEUE
作者介紹
熱門博客推薦