Sqoop增量抽取Oracle資料,最近8個小時的資料未被抽取
阿新 • • 發佈:2019-02-02
在使用sqoop增量抽取資料時,在不指定m的情況下,匯出日誌中可以看到添加了截止時間,但這個時間並不是系統時間,經過多次比較發現,這個時間比當前系統時間早8個小時。因此懷疑是時區問題。
檢查Oracle中的回話時區和資料庫時區:
SQL> SELECTSESSIONTIMEZONE FROM DUAL;
SESSIONTIMEZONE
---------------------------------------------------------------------------
+08:00
會話時區是北京時區
SQL> SELECTDBTIMEZONE FROM DUAL;
DBTIME
------
+00:00
可以看出正好相差8個小時,因此將資料庫時區修改為東8區:
改變資料庫時區
SQL> ALTER DATABASE SET TIME_ZONE = '+8:00';
關閉資料庫
SQL> shutdownimmediate
重啟資料庫
SQL> startup
再次檢查時區,如下所示二者已經一致:
SQL> SELECT TZ_OFFSET(SESSIONTIMEZONE),TZ_OFFSET(DBTIMEZONE) FROM DUAL;
TZ_OFFS TZ_OFFS
------- -------
+08:00 +08:00
再次執行sqoop指令碼,此時已經可以正常抽取。
【參考】https://www.cnblogs.com/jimeper/archive/2013/04/17/3026810.html