AWS RDS Oracle hit ORA-39405

报错信息:

复制代码
ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version 42 into a target database with TSTZ version 35.

分析过程:

这个报错是由于timezone_file的版本,源端比目标端高,于是impdp不支持。

这个报错是Oracle引擎本身的限制,参考Mos文章 ORA-39405: Oracle Data Pump Does Not Support Importing From A Source Database With TSTZ Version (Doc ID 2793311.1)

在原生Oracle上,将timezone_file的patch应用,完成升级即可解决。

那么如果AWS RDS Oracle 实例上,如果遇到这个报错,应该怎么解决呢?

解决方案:

有个误区,是可能此时大家会检查RDS Oracle的小版本,而后将目标端把版本升级到更高版本。但是timezone_file的版本,不一定会跟着RDS Oracle的升级而升级。

正确的方式是,根据文档[1], 首先将RDS Oracle的选项组,如果是默认选项组,那么需要更改为自建选项组。

而后在自建选项组中,将timezone_file_autoupgrade 这个选项添加上。

需要注意的是,根据文档[1], 打开此选项可能会导致几个小时的停机时间。当实例使用过时的时区文件版本时,可能会发生停机。或者,当引擎版本升级包含新的时区文件版本时,也可能会发生这种情况。

可以通过如下query查询timezone_file的版本:

复制代码
select * from v$timezone_file;

参考文档:

1\] [Downtime during the time zone file update - Amazon Relational Database Service](https://docs.amazonaws.cn/en_us/AmazonRDS/latest/UserGuide/Appendix.Oracle.Options.Timezone-file-autoupgrade.considerations.html "Downtime during the time zone file update - Amazon Relational Database Service")

相关推荐
ZStack开发者社区11 分钟前
DeepSeek-V4首发即支持,ZStack AIOS 私有化部署即刻可用
人工智能·开源·云计算
Bert.Cai13 分钟前
MySQL LPAD()函数详解
数据库·mysql
OnlyEasyCode1 小时前
Navicat 任务自动备份指定数据库
数据库
if else2 小时前
Redis 哨兵集群部署方案
数据库·redis
yejqvow122 小时前
Pandas 高效实现组内跨行时间戳匹配与布尔标记
jvm·数据库·python
了不起的云计算V2 小时前
从DeepSeek V4适配看国产算力的三个拐点
数据库·人工智能
qq_189807032 小时前
html标签如何提升可访问性_aria-label与title区别【指南】
jvm·数据库·python
norq juox2 小时前
MySQL 导出数据
数据库·mysql·adb
qq_349317483 小时前
mysql如何设置定时自动备份脚本_编写shell脚本与cron任务
jvm·数据库·python
952363 小时前
Spring IoC&DI
java·数据库·spring