2021-03-09

ORACLE迁移索引并行未生效处理方式

案例是 本地服务器 oracle12c->19c实施过程中遇到的问题及解决方法如下:

为提高oracle数据导入效率,尽可能减少数据迁移时间,现总结如下: 
使用网络泵进行数据库迁移命令: 
impdp system/******** directory=LOG_DIR parallel=8 network_link=sourcedb schemas=CCFMP  transform=disable_archive_logging:y logtime=all logfile=LOG_DIR:impdp_bdi20201211.log exclude=statistic 
    虽然impdp设置了并行参数parallel=8,但是在迁移索引时是不使用并行的,parallel并行参数不起作用,查看数据泵日志,impdp已迁移索引数据*00G,耗时*小时,每小时迁移索引数据量*G左右,为提升索引创建效率,采用如下方式手工生成索引创建脚本,同时使用并行度参数,每小时迁移索引数据量**0G左右,较数据泵方式迁移效率提升2.6倍。 
在源库上执行: 
su - oracle 
sqlplus / as sysdba 

set pagesize 0 
set long 900000 
set feedback off 
set echo off 
set linesize 255 
spool "/tmp/create_index.sql"; 
select dbms_metadata.get_ddl('INDEX',u.index_name,u.owner) ||'parallel'|| ';' from dba_indexes u  where u.owner in ('CCFMP'); 
spool off; 

注:CCFMP为待迁移的数据库schema用户,需要根据实际迁移情况修改。 
将索引创建脚本ftp上传到目标数据库,执行索引创建脚本: 
su - oracle 
sqlplus / as sysdba 
SQL>@create_index.sql 
这样impdp语句在遇到已创建的索引时会提示索引已创建并跳过,从而提升迁移速度。 
 

为避免开启索引并发度引起性能争用,索引数据迁移完成后,关闭并行度。 
在源库上执行: 
su - oracle 
sqlplus / as sysdba 
SQL>set pagesize 0 
set long 900000   
set feedback off 
set echo off 
set linesize 255 
SQL>alter_index.sql 
SQL>select ’alter index ’ || u.index_name || ' noparallel;'  from dba_indexes u  where u.owner in ('CCFMP'); 
SQL>spool off; 
将索引修改脚本ftp上传到目标数据库,执行索引修改脚本: 
su - oracle 
sqlplus / as sysdba

SQL>@alter_index.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值