必須為擷取的表或資料庫啟動補充日誌記錄,以便資料更改能夠擷取已更改的資料庫行之前的狀態。下面將說明如何在表/資料庫級別上配置它。 一般建議對庫進行啟動。
使用者根據實際的資料庫版本,參考下面文檔進行操作。
使用者根據實際情況,選擇其中一種方案:
同步某張表時,就需要開啟該表的補全日志
優勢:操作比較精準
開啟單表的全補充得在運作管道任務前,不然有可能會出現資料丟失
劣勢:需要一張一張開啟
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;--開啟最小補充日誌ALTER TABLE <schema name>.<table name> ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;--為XX表開啟全補充日誌
若使用者庫裏的表資料量可控,且希望一勞永逸(不想每同步一張表就開啟一次),可開啟全庫補全日志
劣勢:會佔用較多資料庫空間
alter database add supplemental log data;alter system switch logfile;ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
Oracle12c 及之後版本引入了多租使用者環境,其中包含兩個核心概念:容器資料庫-CDB(Container Database)和可插拔資料庫-PDB(Pluggable Database)。
CDB 是一個包含零個或多個 PDB 的資料庫;PDB 是一個獨立的資料庫,可以插入或拔出 CDB,每個 PDB 都有自己的資料檔案和使用者資料;CDB 管理多個 PDB,PDB 共享 CDB 中的系統資源,但資料和物件是隔離的。
在使用上二者與非多租戶資料庫實體沒有任何差別,差別主要在於獲取資料變更時,只能從CDB中擷取到,基於此要對其進行適配。
1)判斷當前連結的資料庫是否是CDB
以具有 DBA 權限的使用者身分登入資料庫,使用如下命令查看資料庫是否開啟多租戶:
SELECT CDB FROM V$DATABASE;
如果查詢結果中的 CDB 列值為 YES,則當前連結的資料庫是容器資料庫(CDB)。如果值為 NO,則當前連結的資料庫是非容器資料庫(非 CDB)
2)判斷當前連結的是根容器還是 PDB
SELECT SYS_CONTEXT('USERENV', 'CON_NAME') FROM DUAL;
若傳回的是 CDB$ROOT,則表示當前連結的是 CDB 的根容器;若傳回的是其他名稱,則表示當前連結的是 PDB。
使用以下命令,確認 supplemental logging 是否開啟:
SELECT supplemental_log_data_min, supplemental_log_data_pk, supplemental_log_data_all FROM v$database;
如果傳回的三列都是 Yes 或者 Implicit ,則表示 identification key logging(標識鍵日誌)和 full supplemental logging(全補充日誌)已同時開啟,可以直接查看第五章資料庫帳號相關內容。
如果傳回的前兩列是 Yes 或者 Implicit,則表示只開啟了 identification key logging(標識鍵日誌),需要開啟全補充日誌。
單表開啟 full supplemental logging(全補充日誌),使用如下命令:
ALTER TABLE <schema name>.<table name> ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
所有表開啟 full supplemental logging(全補充日誌),使用如下命令:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (ALL) COLUMNS;
提交更改的配置:
ALTER SYSTEM SWITCH LOGFILE;
然後可以使用命令查看單表的補全日誌權限是否開啟:
SELECT OWNER, TABLE_NAME, LOG_GROUP_NAME, ALWAYS, LOGGING_COLUMNSFROM DBA_LOG_GROUPSWHERE TABLE_NAME = '你的表名';
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; ALTER TABLE <schema name>.<table name> ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
詳情請參見:③讀取資料變更記錄
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙