栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

ORA-01882: timezone region not found

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

ORA-01882: timezone region not found

记一次Oracle的报错,报错信息:
java.sql.SQLException: ORA-00604: error occurred at recursive SQL level 1
ORA-01882: timezone region not found

当时我是把项目打包成了一个镜像部署的,然后在测试时出现了该报错。
直接百度,返现问题是Oracle的时区问题。

然后我容器停了,直接在服务器本机上运行,就没有报错了。

众所周知,Docker的容器其实就是一个微型的Linux,所以问题应该出在Docker上。

先查看服务器本机的时间:

[root@instance-tnpnvt5z ~]# date -R
Thu, 14 Oct 2021 10:11:27 +0800

时间没错。

再进入docker的容器里看时间:

[root@instance-tnpnvt5z ~]# docker exec -it cbbbf1cf4c15 /bin/bash
root@cbbbf1cf4c15:/# date -R
Thu, 14 Oct 2021 01:47:34 +0000

一看! 好家伙,这时间就有问题。

解决方案:
容器时间和宿主机同步

#在 run 时挂载宿主时间配置
-v /etc/localtime:/etc/localtime

然后重新再运行一次镜像,结果还有报错。

最后我又修改了Dockerfile的配置
在启动jar包时加了一个参数:-Duser.timezone=GMT+08

再一次重新打包,运行,测试,一切正常。没有再报错。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/333374.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号