当前位置: 首页 > news >正文

问题现象与原因

迁移环境如下:

源库:Oracle Database 23.26.1(ODA)
目标库:Oracle AI Database 26ai(23.26.2,自建 CDB/PDB)
迁移方式:expdp 到 impdp
导入时报错:

ORA-39002: invalid operation
ORA-39405: Oracle Data Pump does not support importing from a source database
with TSTZ version 44 into a target database with TSTZ version 43.
一开始容易疑惑:目标库 RU 已经更高,为什么 Time Zone Version 反而更低?

原因是 Database RU 和 Time Zone Version 是两套独立版本体系。升级 RU 或 Oracle Home,并不会自动升级数据库当前使用的 Time Zone Version。

可以在目标库查看当前 Time Zone Version:

SELECT * FROM v$timezone_file;
结果显示目标库仍是:

timezlrg_43.dat 43
再查看 Oracle Home 支持的最新 Time Zone Version:

SELECT dbms_dst.get_latest_timezone_version FROM dual;
结果为:

45
这说明 Oracle Home 已经支持 Version 45,但目标数据库本身仍停留在 Version 43。因此,当导入来自 TSTZ Version 44 的 dump 时,Data Pump 会报 ORA-39405。

02 | 只升级目标 PDB 即可解决
本次场景不需要重新建库,也不需要重新导出。只要把目标业务 PDB 的 Time Zone Version 升级到与源库相同或更高即可。

先切换到目标 PDB:

ALTER SESSION SET CONTAINER=DATACLAWPDB;
以 Upgrade 模式打开 PDB:

ALTER DATABASE OPEN UPGRADE;
开始升级窗口,这里使用 Oracle Home 当前支持的最新版本 45:

BEGIN
DBMS_DST.BEGIN_PREPARE(45);
END;
/

BEGIN
DBMS_DST.END_PREPARE;
END;
/

BEGIN
DBMS_DST.BEGIN_UPGRADE(45);
END;
/
然后重启 PDB:

SHUTDOWN IMMEDIATE;
STARTUP;
升级所有 TSTZ 数据:

SET SERVEROUTPUT ON;

DECLARE
l_failures BINARY_INTEGER;
BEGIN
DBMS_DST.UPGRADE_DATABASE(l_failures);
DBMS_OUTPUT.PUT_LINE('Failures = ’ || l_failures);
END;
/
如果输出中 Failures = 0,说明需要处理的对象已经成功升级。

最后结束升级窗口:

SET SERVEROUTPUT ON;

DECLARE
l_failures BINARY_INTEGER;
BEGIN
DBMS_DST.END_UPGRADE(l_failures);
DBMS_OUTPUT.PUT_LINE('Failures = ’ || l_failures);
END;
/
成功后再次确认:

SELECT * FROM v$timezone_file;
目标 PDB 显示为:

timezlrg_45.dat
45
此时重新执行 impdp,不再出现 ORA-39405,导入可以正常通过。

补充一点:在多租户架构中,PDB 的 Time Zone Version 可以独立于 CDBROOT。也就是说,CDBROOT。也就是说,CDBROOT。也就是说,CDBROOT 和 PDB$SEED 仍为 43,而业务 PDB 升级到 45,是一个可用配置。

从管理角度看,Root、PDB$SEED、业务 PDB 保持一致更方便。但为了完成单个业务 PDB 的导入,只升级目标 PDB 就足够了。

这次问题的核心结论是:RU 版本高不代表 TSTZ Version 高;当目标库 TSTZ Ve

http://www.cnnetsun.cn/news/3581705.html

相关文章:

  • RHCSA简单实用Linux
  • C++继承机制深度解析:从概念到实践,掌握面向对象设计核心
  • 木材烘干房用什么高温风机?看过这三点再决定
  • 新终端流量风口:努比亚豆包 AI 手机,GEO 优化新增流量阵地深度解读
  • 李白游山水有感
  • 基础设施成本优化实战:从资源闲置率40%到5%的FinOps落地策略与自动化工具链
  • 游戏推荐系统的特征存储:用户行为序列的向量化与实时检索
  • HDMI色彩空间转换与中断控制:寄存器配置与驱动开发实战
  • TM4C129XNCZAD USB与LCD控制器电气特性详解与设计实践
  • 语言、思想与意识的投影关系
  • “捏脸“背后的工程逻辑:3D数字人全维度DIY定制系统
  • 智能眼镜技术解析:从AI架构到用户体验的设计挑战
  • C++程序员转型AI开发的优势与实战指南
  • 2026年免费投屏软件横评实测:不花钱哪个最好用?综合性价比最高的只有这款
  • 小红书大模型IMO满分夺金,第三题解法让冠军选手直呼优雅
  • 深入解析ADC控制寄存器:嵌入式数据采集的核心配置与实战
  • 嵌入式EMAC寄存器深度解析:从DMA搬运到流控制,优化网络性能的关键配置
  • Nginx location与proxy_pass配置详解与实战技巧
  • 六自由度航空模拟平台:高保真地面仿真 赋能航空训练与测试提质增效
  • Unity音频系统实战:解决游戏声音响度不稳定问题
  • 上善若水:WATERFLY 的品牌灵感从何而来
  • Seedance2.5本地部署指南:免费AI视频生成与扩散模型实战
  • 单调队列讲解
  • Live2D口型同步技术:轻量级本地部署方案与实践指南
  • 降完AI率会不会又被查重卡住?实测两关一起过
  • OpenClaw源码架构解析:企业为什么需要本地AI Agent系统部署?
  • iPhone11性能优化:关闭9项功能提升流畅度
  • SaaS平台的数据库扩展之路:从单库到读写分离再到分库分表的复盘
  • 第21届全国大学生智能车竞赛安徽赛区参赛指南
  • 大模型智能体初始化与MCP协议实践指南