10年实践,Oracle迁移过程踩过的坑,我就不藏着了...
Oracle数据库升级迁移,是一项涉及面广、复杂繁琐的工作,可以带来很大的收益,但同样面临很多的问题及风险。
以下是常见的Oracle数据库迁移方案
那么在升级迁移的过程中,遇到的一些突发异常,为了保证迁移的顺利,我们究竟该如何处理呢?这里小编给大家罗列以下的技巧!
1.数据泵迁移避坑
临时表空间和UNDO表空间在数据泵的迁移过错中,大小评估不够,很容易造成迁移到一半会失败,那么我们可以提前创建大文件表空间来避坑。
1.1 表空间不够的处理
--新建临时表空间
create bigfile temporary tablespace
temp_impdp tempfile '+DATA' size 100g autoextend on;切换表空间
alter database default temporary tablespace temp_impdp;
--建UNDO表空间
create bigfile undo tablespace TEMP_UNDO1
datafile '+DATA' size 100G autoextend on;
alter system set undo_tablespace=TEMP_UNDO1
scope=both sid='racdb1';
等我们迁移结束后,
再将对应的临时表空间、UNDO表空间恢复原始即可!
1.2 统计信息锁定的处理
通常按照schemas迁移后,会发现统计信息被锁定了
SELECT owner,table_name,stattype_locked
FROM DBA_TAB_STATISTICS a
WHERE a.stattype_locked IN ('ALL','DATA','CACHE');记得要用以下方式解除锁定哦
EXEC DBMS_STATS.UNLOCK_TABLE_STATS('SCOTT','TEST');
2.ADG迁移的避坑
2.1 ADG中断如何继续恢复
ADG在做同版本,跨平台的迁移效率是非常高的,但是如果数据量很大,迁移的过程中网路有波动,recovery standby中断了怎那么办呢?其实是有办法继续进行任务的。
12c 新特性 RECOVER … FROM SERVICE 修复备库
18c 新特性 RECOVER STANDBY DATABASE FROM SERVICE 修复备库 GAPFROM SERVICE 子句提供了必须从中还原文件的物理备库的服务名称。
在还原操作过程中,RMAN 会在物理备库上创建需要还原的文件的备份集,
然后通过网络将这些备份集传输到目标数据库。
--中断之后发起这个命令,我们继续任务
rman target sys/oracle@testdb_st<<eof
run {
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
recover standby database from service mesdb_pd;
release channel prmy1;
release channel prmy2;
}
exit;
eof
2.2 正式切换无法Open
正式切换的时候,进行startup的时候会报,部分恢复不一致的情况
那么就通过以下的方式就行处理ALTER DATABASE RECOVER MANAGED
STANDBY DATABASE UNTIL CONSISTENT;
3.非CDB如何快速转容器?
AutoUpgrade实用程序的非CDB到PDB功能为您提供了灵活的选项来控制如何升级您的 升级并转换到多租户架构。
--只需要设置 以下参数就可以了
upg1.log_dir=/u01/app/oracle/cfgtoollogs/autoupgrade/
upg1.sid=test
upg1.source_home=/u01/app/oracle/product/19.0.0.0/dbhome_1
upg1.target_cdb=orclcdb
upg1.target_home=/u02/app/oracle/product/21.0.0.0/dbhome_1
upg1.target_pdb_name=testpdb
upg1.start_time=NOW
upg1.upgrade_node=localhost
upg1.run_utlrp=yes
upg1.timezone_upg=yes
upg1.target_version=21然后执行这个命令就开始自动转换了,非常的快
$ORACLE_BASE/product/21.0.0/dbhome_1/rdbms/admin/autoupgrade.jar \
-config /tmp/config.cfg -mode
deploy
4.大数据10T以上用那种迁移方式快?
XTTS_V4 Oracle跨平台跨版本升级迁移利器,使用跨平台增量备份来减少传输表空间的停机时间,具体的步骤展示给大家。
总结
Oracle Database 19c,也就是12.2.0.3,是Oracle Database 12c和18c系列产品的最终版本,因此也是“长期支持”版本。Oracle 19c带来的更多是稳定性上的提升,急需低版本升级到19C或者更高。
希望这篇文章能够帮助到大家...