ORA-01882: Timezone Region not found

Hi All,

Good day!

I'm new in Metabase at the same time in Java/Oracle. After I installed Metabase 0.41.6 on Ubuntu 20.04 with MariaDB/MySQL database, I'm getting this error when adding Oracle database on it.

ORA-00604: error occurred at recursive SQL level 1 ORA-01882: timezone region not found

Hope some one can help on this one.

Thank you very much in advance.

Best regards,
Rex

Hi @ramenor
Have a look here: https://stackoverflow.com/questions/9156379/ora-01882-timezone-region-not-found
You are not writing which version of ojdbc8.jar you are using, make sure it's at least 19.3: https://www.metabase.com/docs/latest/administration-guide/databases/oracle.html

Hi Sir @flamber,

Thank you for the response.

I'm using ojdbc11.jar version 21.5.0.0.0

Thank you.

Hi Sir @flamber,

I added this to metabase environment variable and this fixed the issue on my end.

JAVA_TIMEZONE=Etc/UTC

Thank you.

Hi Sir, Im facing the same problem you already solved and im trying to connect Metabase with Oracle BD and im running Metabase on Ubuntu.

Im a newbe, so please show the steps to find metabase environment variable and add JAVA_TIMEZONE=Etc/UTC.

Please

@Careca

  1. Post "Diagnostic Info" from Admin > Troubleshooting.
  2. Post ojdbc version

{
"browser-info": {
"language": "en-GB",
"platform": "Win32",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
"vendor": "Google Inc."
},
"system-info": {
"file.encoding": "UTF-8",
"java.runtime.name": "OpenJDK Runtime Environment",
"java.runtime.version": "11.0.16+8-post-Ubuntu-0ubuntu118.04",
"java.vendor": "Ubuntu",
"java.vendor.url": "https://ubuntu.com/",
"java.version": "11.0.16",
"java.vm.name": "OpenJDK 64-Bit Server VM",
"java.vm.version": "11.0.16+8-post-Ubuntu-0ubuntu118.04",
"os.name": "Linux",
"os.version": "4.15.0-194-generic",
"user.language": "en",
"user.timezone": "Africa/Maputo"
},
"metabase-info": {
"databases": [
"oracle",
"h2"
],
"hosting-env": "unknown",
"application-database": "h2",
"application-database-details": {
"database": {
"name": "H2",
"version": "1.4.197 (2018-03-18)"
},
"jdbc-driver": {
"name": "H2 JDBC Driver",
"version": "1.4.197 (2018-03-18)"
}
},
"run-mode": "prod",
"version": {
"date": "2022-11-01",
"tag": "v0.44.6",
"branch": "release-x.44.x",
"hash": "5c6ae21"
},
"settings": {
"report-timezone": "Africa/Maputo"
}
}
}

---------------------------ojdbc version----------------------------
ojdbc8

@Careca You can use the parameter -Duser.timezone=UTC when starting the Metabase JAR to change the timezone.

But you have also defined the timezone in Admin > Settings > Localization.

You should migrate away from H2 if you are using Metabase in production:
https://www.metabase.com/docs/latest/installation-and-operation/migrating-from-h2

ojdbc8 is not a version. Can be downloaded here: https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html

I sir,
IFor your sugestion below, how can i do that? Step by Step

You can use the parameter -Duser.timezone=UTC when starting the Metabase JAR to change the timezone.

And for this point (But you have also defined the timezone in Admin > Settings > Localization), there a possibility to change the timeZone ou put it as NULL?

@Careca If you don't know where you set the Java parameter to the java command you are using to start the Metabase JAR, then I don't think you should be hosting Metabase yourself.
Anyways:
java -Duser.timezone=UTC -jar metabase.jar

Change the Report Timezone to "Database default", which means it's not setting the timezone.

If you are still having problems, then I would recommend reading through https://stackoverflow.com/questions/9156379/ora-01882-timezone-region-not-found, since the problem is with Oracle not knowing the timezone, so you should add timezone to your database.