问题描述
我即将进行生产迁移,需要帮助。表A有几亿行。迁移应该更新表a中的列,但不是进行更新,而是创建表B (与表A一对一),然后执行cta来创建表C,然后删除表B。
迁移开发人员无需在表B上进行统计。cta具有并行连接,该连接使用广播而不是哈希。它为迁移增加了额外的12个小时。
管理层不想触摸迁移代码来添加统计信息集合,甚至不想添加SQL提示。我想告诉Oracle使用并行哈希联接 (不是广播),但是在迁移开始之前,cta的sql id不存在。在迁移开始之前,表B也不存在。
是否可以为尚不存在的查询创建sql计划基线,或者为尚不存在的表创建统计信息?我知道有一个非文档过程可以重写传入的SQL代码,这也可以是一种选择。
我知道这是解决错误的问题,但这是我需要帮助的。
专家解答
也许是SQL翻译
SQL> exec dbms_sql_translator.create_profile('CTAS'); PL/SQL procedure successfully completed. SQL> exec dbms_sql_translator.register_sql_translation('CTAS','create table t as select * from dba_objects','create table t as select * from dba_objects where rownum <= 10'); PL/SQL procedure successfully completed. SQL> alter session set sql_translation_profile = CTAS; Session altered. SQL> alter session set events = '10601 trace name context forever, level 32'; Session altered. SQL> create table t as select * from dba_objects; Table created. SQL> select count(*) from t; COUNT(*) ---------- 10 1 row selected.复制
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
597次阅读
2025-04-15 17:24:06
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
576次阅读
2025-04-18 14:18:38
XTTS跨版本迁移升级方案(11g to 19c RAC for Linux)
zwtian
491次阅读
2025-04-08 09:12:48
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
474次阅读
2025-04-20 10:07:02
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
459次阅读
2025-04-22 00:20:37
Oracle 19c RAC更换IP实战,运维必看!
szrsu
436次阅读
2025-04-08 23:57:08
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
434次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
420次阅读
2025-04-17 17:02:24
火焰图--分析复杂SQL执行计划的利器
听见风的声音
368次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
358次阅读
2025-04-15 14:48:05