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

相关推荐
zuYM4g7Dp29 分钟前
NoSql数据库设计心得
数据库·nosql
ZHW_AI课题组2 小时前
调用阿里云实现文本翻译功能
阿里云·云计算
睡不醒男孩0308232 小时前
第七篇:揭秘 PostgreSQL 数据库内核级管控:CLup 深度架构设计与高可用底座技术白皮书
数据库·postgresql·clup
cmes_love3 小时前
Level 2逐笔成交历史数据下载方法笔记
数据库·笔记·oracle
swordbob3 小时前
MySQL字符集陷阱:从Oracle迁移踩坑到utf8mb4强制规范
数据库·sql
牛油果子哥q3 小时前
【C++ STL string 】C++ STL string 终极精讲:底层原理、内存机制、全套API、深浅拷贝、易错坑点与工程实战规范
数据库·c++
十五年专注C++开发3 小时前
MySql中各种功能用sql语句实现总结
数据库·sql·mysql
数据库小学妹4 小时前
AI时代数据库怎么选?多模融合、数据统一存储与选型实战指南
数据库·人工智能·经验分享·ai
Albert Edison4 小时前
【Redis】Centos7.9 安装 Redis 5 教程
数据库·redis·缓存
云计算磊哥@4 小时前
运维开发宝典026-MySQL02数据库表操作
运维·数据库·运维开发