oracle19c升级时区版本 32-->42,解决数据泵导数据TSTZ报错

1.查询当前数据库时区版本:

select * from v$timezone_file;

2.下载42安装包
3.打补丁

1、opatch 打相应的时区补丁(如果是rac节点所有节点都要执行)
mkdir -p /tmp/patch
unzip  p35220732_190000_Linux-x86-64.zip -d /tmp/patch/
chown -R oracle:oinstall /tmp/patch

--检查补丁是否冲突 /u01/app/oracle/product/19.3.0/db_1是oracle安装目录,以现场实际为准
切换到目录
cd /tmp/patch/35220732
执行(换成自己的oracle安装目录,按照下面的直接敲就行,不要怀疑):
/u01/app/oracle/product/19.3.0/db_1/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./
#ph后面有空格

--应用补丁
/u01/app/oracle/product/19.3.0/db_1/OPatch/opatch apply

--回退
opatch rollback -id 35220732

说明:仅打补丁不需要重启数据库

4.查询数据库业务链接:

select a.machine,a.program from v$session a ;
#把JDBC的链接都关掉
select a.machine,a.program from v$session a where a.program like '%JDBC%';

5.去k8s界面找到工作负载–停用;(视情况而定,反正就是关掉应用,断开数据库链接);
6.关闭监听:

lsnrctl stop

7.应用停掉之后在sqlplus登录数据库执行下面的命令

slplus /nolog
sql>connect /as sysdba
2、应用相关的sql使时区补丁生效(这一步会重启2次数据库)
注释:下面的是路径 去路径找到对应的sql执行即可;
$ORACLE_HOME/rdbms/admin/utltz_countstats.sql
#Script to gives how much TIMESTAMP WITH TIME ZONE data there is in a database using stats info. No restart required.

$ORACLE_HOME/rdbms/admin/utltz_countstar.sql
#Script to approximate how much TIMESTAMP WITH TIME ZONE data there is in a database using a COUNT(*) for each table that has a TSTZ column. 
This script is useful when using DBMS_DST package or the scripts of utlz_upg_check.sql and utlz_upg_apply.sql scripts.

$ORACLE_HOME/rdbms/admin/utltz_upg_check.sql
#Time zone upgrade check script

$ORACLE_HOME/rdbms/admin/utltz_upg_apply.sql
#Time zone apply script. Warning: This script will restart the database and adjust time zone data.
2、应用相关的sql使时区补丁生效(这一步会重启2次数据库)
$ORACLE_HOME/数据库管理系统
使用stats信息给出数据库中有多少TIMESTAMP WITH TIME ZONE数据的脚本。不需要重新启动。

$ORACLE_HOME/关系数据库管理系统/管理员
脚本使用COUNT*)为每个具有TSTZ列的表估计数据库中有多少TIMESTAMP WITH TIME ZONE数据。
这个脚本在使用DBMS_DST包或utlz_upg_check.sql和utlz_upg_apply.sql脚本时非常有用。

$ORACLE_HOME/关系数据库管理系统
时区升级检查脚本

$ORACLE_HOME/rdbms/admin/utltz_upg_apply.sql
时区应用脚本。警告:此脚本将重新启动数据库并调整时区数据。

8.再次查看当前数据库时区版本,发现升级成功!

select * from v$timezone_file;

通过百度网盘分享的文件:p3522073…zip
链接:https://pan.baidu.com/s/1dDllx85B8WY4xGf7n-gIjQ
提取码:MoKa
复制这段内容打开「百度网盘APP 即可获取」

声明:个人工作中遇到的问题,内容如有侵权请及时联系本人删除。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值