前言
业务部门使用impdp进行数据加载时报错,错误信息如下所示。
ORA-39405: Oracle Data Pump does not support importing from a source database with TSTZ version 41 into a target database with TSTZ version 32. |
错误提示信息已经非常显示,源端数据库的TSTZ版本为41,而目标端数据库为32,所以不支持这个数据导入操作。
检查发现源端数据库版本为19.19,而目标端数据库版本为19.16。要解决这个故障,可以将目标端数据库升级至与源端相同的版本;也可以单独升级目标端的TSTZ版本。
本文简单记录升级TSTZ的步骤。
1、查看当前DST的版本
SQL> SELECT version FROM v$timezone_file; VERSION ---------- 32 SQL> |
2、下载补丁
p35099667_190000_Linux-x86-64.zip |
3、安装补丁
(oracle)$ unzip p35099667_190000_Linux-x86-64.zip -d /software/35099667 (oracle)$ cd /software/35099667/35099667 (oracle)$ opatch apply (oracle)$ opatch lspatches |
所有计算节点都执行。
4、更新数据库中DST的版本信息
更新DST信息有两种方式:(1).利用DBMS_DST包进行更新;(2).利用$ORACLE_HOME/rdbms/admin目录下的utltz_*脚本进行更新。推荐使用第二种方式进行更新。
SQL> @?/rdbms/admin/utltz_countstats.sql SQL> @?/rdbms/admin/utltz_countstar.sql SQL> exec dbms_scheduler.purge_log;
SQL> @?/rdbms/admin/utltz_upg_check.sql
SQL> alter system set cluster_database=false scope=spfile sid='*'; (oracle)$ srvctl stop database -d racdb -o immediate (oracle)$ sqlplus / as sysdba SQL> startup
SQL> @?/rdbms/admin/utltz_upg_check.sql SQL> @?/rdbms/admin/utltz_upg_apply.sql
SQL> alter system set cluster_database=true scope=spfile sid='*'; (oracle)$ srvctl stop database -d racdb -o immediate (oracle)$ srvctl start database -d racdb |
5、查看更新后的DST版本
SQL> SELECT version FROM v$timezone_file;
VERSION ---------- 41 SQL> |
至此,impdp时的ORA-39405报错已经解决。
标签:impdp,utltz,database,admin,DST,v41,SQL,oracle From: https://www.cnblogs.com/missyou-shiyh/p/17716984.html