12c 資料泵一致性匯出
在OGG同步的專案中,總會遇到默寫表同步失敗需要重新表級初始化。這時候採用資料泵來匯入匯出就需要考慮資料一致性問題,確保我們匯出的資料是基於某個scn或者某個時間戳,這樣做才能讓已經停止的複製程式(replicat)知道從哪裡開始追加資料庫變化。
12c中資料泵為我們提供了兩種一致性匯出的引數,一個是基於scn的FLASHBACK_SCN,另一個是基於時間戳的FLASHBACK_TIME
1, 取得當前的scn
這裡可以採用兩種方法,一種是透過函式取得的,能精確到當前的scn。另一種是向前滾動加1的scn。通常生產環境的資料庫都在不停的產生資料變化,scn也隨之飛快的變化,選擇那種獲取scn的方式都可以,能想起哪個就用哪個吧。
方法一, 獲取當前的scn
SYS@ora12c >select dbms_flashback.get_system_change_number from dual;
GET_SYSTEM_CHANGE_NUMBER
------------------------
2096931
方法二, 生成當前的scn,該生成動作會促使scn+1
SYS@ora12c >select current_scn from v$database;
CURRENT_SCN
-----------
2096937
2,使用FLASHBACK_SCN引數一致性匯出資料
由於語句比較長,在employees 後面採用了換行符號\,注意employee與\之間有空格。下一行的>是回車後自動生成的,表示後面的內容和前面的是一行的。
[oracle@snow ~]$ expdp dp/dp directory=dp_dir dumpfile=20150226.dmp tables=hr.employees \
> flashback_scn=2096937
3,使用FLASHBACK_TIME引數一致性匯出資料
在這裡建議使用引數檔案的方式,這樣會省去很多轉移符
[oracle@snow ~]$ date
Mon Feb 9 16:08:01 EST 2015
[oracle@snow ~]$ vi flashback.par
userid=dp/dp
directory=dp_dir
dumpfile=20150226_1.dmp
logfile=20150226_1.log
flashback_time="to_timestamp('2015-02-09 16:00:00','yyyy-mm-dd hh24:mi:ss')"
[oracle@snow ~]$ expdp parfile=flashback.par
這裡有個小插曲,如果是在虛擬機器上做這個實驗,並且經常掛起虛擬機器(暫停)導致時鐘和宿主機時鐘不一致,通常是比宿主機慢,會報錯。
簡單的說就是虛擬機器時間慢,為其設定了一個將來的時間匯出而報錯。使用date看看虛擬機器的時間,自然就明白了。
ORA-39001: invalid argument value
ORA-39150: bad flashback time
ORA-08186: invalid timestamp specified
全文完
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29047826/viewspace-1441904/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 12c 資料泵匯入匯出級別
- 12c pdb的資料泵匯入匯出簡單示例
- 資料泵匯出匯入
- 資料泵的匯入匯出
- 資料泵匯出匯入表
- Oracle資料泵-schema匯入匯出Oracle
- 資料泵匯出匯入資料標準文件
- Oracle資料泵的匯入和匯出Oracle
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- Oracle使用資料泵匯出匯入表Oracle
- 資料泵取匯出和匯入(一)
- 資料庫泵(expdp/impdp)匯入匯出流程資料庫
- 使用資料泵工具expdp工具匯出資料
- 資料泵匯出資料包錯處理
- Oracle expdp資料泵遠端匯出Oracle
- 使用資料泵匯出DDL語句
- 轉oracle資料泵匯出時報錯Oracle
- Oracle使用資料泵expdp,impdp進行資料匯出匯入Oracle
- 資料泵避免個別表資料的匯出
- 資料泵匯出索引資料和統計資訊嗎索引
- 資料泵過濾匯出資料的where條件
- 資料泵避免個別表資料的匯出(二)
- Impdp資料泵匯入
- python實現oracle資料泵匯出功能PythonOracle
- oracle 資料泵匯出簡單使用版Oracle
- 利用資料泵匯出查詢結果(二)
- 利用資料泵匯出查詢結果(一)
- 資料泵匯出匯入物化檢視(ORA-39083)
- oracle10G新特性之資料泵匯出/匯入Oracle
- 【匯入匯出】資料泵 job_name引數的使用
- 資料泵在本地匯出資料到遠端資料庫中資料庫
- 使用資料泵impdp匯入資料
- oracle監控資料泵匯入和匯出的sql語句OracleSQL
- Oracle使用資料泵在異機之間匯出匯入表Oracle
- 10g資料泵和匯入匯出效能對比(三)
- 10g資料泵和匯入匯出效能對比(二)
- 10g資料泵和匯入匯出效能對比(一)
- 10g資料泵和匯入匯出效能對比(四)