Sqoop增量抽取Oracle数据,最近8个小时的数据未被抽取

匿名 (未验证) 提交于 2019-12-03 00:37:01

在使用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

------- -------

再次执行sqoop脚本,此时已经可以正常抽取。


【参考】https://www.cnblogs.com/jimeper/archive/2013/04/17/3026810.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!