首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Oracle DBA

    在线重定义(online redefinition)真的在线吗?

    背景   最近用Online Redefinition解决了一批普通大表(超千万级别)转换成分区表,后期方便做数据裁剪(truncate partition),Online Redefinition的优点是支持在线操作 问题二:dbms_redefinition.sync_interim_table 操作异常慢,导致订单超时失败   回溯操作流程:每天凌晨3-7点之间4小时窗口期,计划需要执行1周。 回想第一天与第二天的操作再往前回溯之前的操作经历,然后通过AWR报告分析发现在dbms_redefinition.sync_interim_table执行计划不对的情况。 刷新数据 SQL> exec dbms_redefinition.sync_interim_table('TWO','T1','T1_PART'); PL/SQL procedure successfully 结束重定义,被卡住了,此时访问此表的应用报超时(生产经验) SQL> exec dbms_redefinition.finish_redef_table('TWO', 'T1','T1_PART');

    51410编辑于 2025-01-26
  • 来自专栏数据和云

    Oracle online系列(下):online indexbuild

    点击上方蓝色字关注我们~ online indexbuild (online create或者rebuild index)是Oracle的一个极其常用的online操作,我们知道当创建索引或者重建索引没有加 本文将深入解析online indexbuild的工作原理。 在分析online indexbuild实现原理之前,先介绍一下indexbuild online与非online除了对表持有的TM锁级别不同之外的第二个比较大的区别,就是 indexbuild的执行计划不同 : indexbuild online只能使用全表扫描的方式; indexbuild非online,遵循CBO最小cost原则去选择执行计划,索引快速全扫描或者全表扫描。 由于online create index和online rebuild index在实现原理上基本一致,所以此次测试online rebuild index即可,测试环境选择的11.2.0.4,通过gdb

    1.6K20编辑于 2022-03-04
  • 来自专栏公众号:Lucifer三思而后行

    ORACLE分区表转换之在线重定义(DBMS_REDEFINITION

    一、DBMS_REDEFINITION(在线重定义) 参考MOS文档:How To Partition Existing Table Using DBMS_REDEFINITION (Doc ID 472449.1 the EXECUTE_UPDATE procedure CAN_REDEF_TABLE Procedure Determines if a given table can be redefined online CURRENT_USER IS ------------ -- OVERVIEW -- -- This package provides the API to perform an online PRAGMA SUPPLEMENTAL_LOG_DATA(can_redef_table, NONE); -- NAME: start_redef_table - start the online NAME: abort_redef_table - clean up after errors or abort the -- online

    2.3K30发布于 2021-08-17
  • 来自专栏数据和云

    Oracle online系列(上):Online Move Datafile

    点击上方蓝色字关注我们~ 先从Online Move Datafile说起,Online Move Datafile是12.1的新特性,在12c之前如果想要move datafile通常需要下列步骤: 之前需要recover datafile 5.online datafile Oracle 12.1推出了Online Move Datafile的新特性,那么Oracle是如何通过一条命令就搞定了12c 10046跟踪Online Move Datafile的会话,strace跟踪dbwr进程。 非常关键的一点 dump控制文件可以看到,secondary file被加入,并且 Online move state变成了1。 该步骤是Online Move Datafile的结束动作。

    1.9K40编辑于 2022-03-04
  • 来自专栏杨建荣的学习笔记

    在线重定义的补充测试(r10笔记第26天)

    ##connect account: ref_conn conn ref_conn/oracle create synonym ref_conn.test_online_ref for ref_owner.test_online_ref ; select count(*)from ref_conn.test_online_ref; 然后创建变更后的表。 exec dbms_redefinition.can_redef_table('REF_OWNER','test_online_ref',1); exec DBMS_REDEFINITION.CAN_REDEF_TABLE ('REF_OWNER','test_online_ref',2); exec DBMS_REDEFINITION.START_REDEF_TABLE('REF_OWNER','test_online_ref ','new_ref',NULL,2); exec DBMS_REDEFINITION.FINISH_REDEF_TABLE('REF_OWNER','test_online_ref','new_ref

    76380发布于 2018-03-19
  • 来自专栏CQ品势

    Online Judge

    北京大学 Online Judge(POJ) <http://acm.pku.edu.cn/JudgeOnline/> 建立较晚,但题目加得很快,现在题数和ZOJ不相上下,特点是举行在线比赛比较多, 这个题库的一大特点就是 Online Judge功能强大,其实pku现在已经是中国最好的ACM网站。 浙江大学 Online Judge(ZOJ) <http://acm.zju.edu.cn> 国内最早也是最有名气的OJ,有很多高手在上面做题。打开速度快。 西班牙Valladolid大学 Online Judge(UVA) <http://acm.uva.es/> 世界上最大最有名的OJ,题目巨多而且巨杂,数据也很刁钻,全世界的顶尖高手都在上面。 俄罗斯Ural立大学 Online Judge(URAL) <http://acm.timus.ru/> 也是一个老牌的OJ,题目不多,但题题经典,我在高中的时候就在这上面做题的。

    1.1K30编辑于 2021-12-07
  • 来自专栏C++干货基地

    C++报错已解决:Error:redefinition of ‘a‘

    的变量定义: // a.h int a; 现在,如果我们有两个源文件main.cpp和another_file.cpp,并且它们都包含了a.h,但没有正确地使用头文件保护,那么我们可能会遇到"Error:redefinition 总结: 遇到"Error:redefinition of ‘a’"错误时,请检查您的代码中是否有重复声明或定义的情况,并使用适当的解决方法来修复它。

    81710编辑于 2025-05-20
  • 来自专栏Oracle数据库技术

    自动段指导任务(Automatic Segment Advisor)

    Segment Advisor)主要生成以下类型的建议: ・当段指导(Segment Advisor)发现某对象的高水位线 (High Water Mark 简称HWM)下 的空余空间特别多时,会推荐online segment shrink; 如果该对象并不适合Shrink(如表不是定义在ASSM的表领域等),段指导会推荐在线重定义对象 (online table redefinition).例如:利用DBMS_REDEFINITION Segment Advisor)功能主要可以生成以下类型的建议: ・当段指导(Segment Advisor)发现某对象的高水位线 (High Water Mark 简称HWM)下的 空余空间特别多时,会推荐online segment shrink; 如果该对象并不适合Shrink(如表不是定义在ASSM的表领域等), 段指导会推荐在线重定义对象(online table redefinition). 例如:利用DBMS_REDEFINITION程序包。・当段指导(Segment Advisor)发现某对象的行链接数大于某个临界值时, 会记录下来作为通知内容。

    1.7K20发布于 2020-03-26
  • 来自专栏社区的朋友们

    MySQL Online DDL

    作者:黄稚禹 Online DDL in MySQL5.5 历史上看,MySQL 在 2007 年就完成了在线索引接口的设计。 参数 虽然 MySQL 5.6 支持了在线 DDL 操作,不过还是有些需要注意的问题,最为重要的就是参数 innodb_online_alter_log_max_size 的配置。 Online DDL in MySQL5.7 那到了 MySQL5.7,在 5.6 的基础上又增加了以下的新特性: 增加了 Alter table rename index 的语法支持,同时继续支撑 Online DDL 实现原理 5.7 的 Online DDL 使用限制与问题 1.仍然存在排他锁,有锁等待的风险。 】 这里,主要介绍在线修改表结构工具:PT-OSC(pt-online-schema-change) 该工具特点与优势: 1.支持并发 DML 操作 2.经过多年生产环境验证,可靠稳定。

    8.5K22发布于 2017-06-01
  • 来自专栏CNCF

    Vitess online DDL介绍

    作者:Shlomi Noach Vitess 引入了一种运行模式迁移的新方法:非阻塞的、异步的、预定的online DDL。 通过 online DDL,Vitess 简化了模式迁移过程,它获得了操作开销的所有权,并为用户提供了一个简单、熟悉的界面:标准的 ALTER TABLE 语句。 开发 Vitess online DDL 的目标是尽可能地向用户隐藏所有的复杂性。 最终,我们希望 online DDL 能够在一个重新分片过程中无缝地工作。此外,它也可以在计划中的或计划外的母本中工作。 online DDL 被标记为实验性的,我们正收集用户反馈。 还有更多…… online DDL 不限于 ALTER TABLE 语句。DROP TABLE 语句也存在锁定问题。

    1.9K20发布于 2021-03-15
  • 来自专栏乐沙弥的世界

    基于 dbms_redefinition 在线重定义表

    Oracle提供的重定义包dbms_redefinition即是用与完成此操作。其实质是Oracle使用了智能物化视图及物化视图日志的方式。 / --下面再开启一个新的session,用于在线重定义表 scott@USBO> set serveroutput on; --校验表能否被重定义 scott@USBO> exec dbms_redefinition.can_redef_table ('SCOTT','TB_EMP'); --开始重定义 scott@USBO> exec dbms_redefinition.start_redef_table('SCOTT', 'TB_EMP', ('SCOTT', 'TB_EMP', 'TB_EMP_INT', - > dbms_redefinition.cons_trigger, 'SCOTT', 'tr_bf_tb_emp_hiredate COUNT(*) ---------- 5 --下面的过程用于同步重定义表与临时表 scott@USBO> exec dbms_redefinition.sync_interim_table

    1.3K20发布于 2018-08-13
  • 来自专栏数据和云

    14亿条记录,12c 做不到2小时内变更表结构字段类型?

    SQL> set timing on; SQL> begin 2 DBMS_REDEFINITION.START_REDEF_TABLE(uname => '&USERNAME' SQL> DECLARE 2 num_errors PLS_INTEGER; 3 BEGIN 4 DBMS_REDEFINITION.COPY_TABLE_DEPENDENTS OM_OFFERING_INST_TEST" ("CUST_ID") online parallel 35; Index created Executed in 257.138 seconds SQL OM_OFFERING_INST_TEST" ("GROUP_ID") online parallel 35; Index created Executed in 244.853 seconds OM_OFFERING_INST_TEST" ("SUBS_ID") online parallel 35; Index created Executed in 261.665 seconds 收集统计信息

    57520发布于 2020-03-25
  • 来自专栏MYSQL轻松学

    MySQL5.6的Online DDL不是真正的Online DDL

    Online DDL是从mysql5.6版本后引入的新功能,可以实现在线DDL操作不锁表。但是MySQL5.6的Online DDL不是真正的Online DDL,针对部分操作还是有局限性。 5.6之后的DDL处理方式: innodb_online_alter_log_max_size参数,默认为128M,超出范围会报错,所以处理大表的情况下需要调整这个值。 只有以下几类DDL操作不可以通过“Online”的方式进行:会影响其他DML操作 1、新加字符编码不同 2、更改列数据类型 3、删除主键 4、添加全文索引 所以5.6的Online DDL并不是真正的Online DDL,如果想保证尽量不锁表,可以使用oak-online-alter-table和pt-online-schema-change等工具。 7、删除_old表 8、删除触发器 https://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html#innodb-online-ddl-summary-grid

    2.1K60发布于 2018-03-09
  • 来自专栏JiekeXu之路

    Oracle 在线重定义(上)

    监控在线表重定义进度 通过查看 V$ONLINE_REDEF 视图,可以监控在线表重定义操作的进度。 在在线重新定义表的过程中,有些操作可能需要很长时间才能执行。 在执行这些操作时,可以通过 V$ONLINE_REDEF 视图查看操作的详细进度。 V$ONLINE_REDEF 视图在 PROGRESS 列中为操作提供了一个百分比的完整值。 这个视图在 operation 列中显示完成操作所需的总步骤数中的当前步骤。 查询 V$ONLINE_REDEF 视图。 SELECT * FROM V$ONLINE_REDEF; 在线表重定义失败后重启 如果在线重定义表失败,则可以查看 DBA_REDEFINITION_STATUS 视图查看错误信息和可重启信息。

    1.1K21编辑于 2024-01-26
  • 来自专栏杨建荣的学习笔记

    关于分区表的在线重定义(r5笔记第98天)

    首先验证表是否可以在线重定义 n1@TEST11G> EXEC dbms_redefinition.can_redef_table('N1','TAB_PART_ONE_PAR',1); BEGIN online redefine table "N1"." TAB_PART_ONE_PAR" with no primary key ORA-06512: at "SYS.DBMS_REDEFINITION", line 139 ORA-06512: at " ,我们可以考虑使用rowid EXEC dbms_redefinition.can_redef_table('N1','TAB_PART_ONE_PAR',dbms_redefinition.cons_use_rowid exec DBMS_REDEFINITION.CAN_REDEF_TABLE('N1','TAB_PART_ONE_PAR',2); exec DBMS_REDEFINITION.START_REDEF_TABLE

    681100发布于 2018-03-16
  • 来自专栏XRSec.Blog

    Online Config VS Code

    Datebase :You are advised to create a Docker container for the database

    1.8K20编辑于 2022-03-12
  • 来自专栏c++与qt学习

    Online DDL和Cardinality

    Online DDL和Cardinality 前言 Fast Index Creation Online Schema Change Online DDL Cardinality 什么是Cardinality ---- Online Schema Change Online Schema Change(在线架构改变,简称OSC)最早是由Facebook实现的一种 在线执行DDL的方式,并广泛地应用于Facebook 这个缓存的大小由参数innodb_online_alter_log_max_size控制,默认的大小为128MB。 :HY000(ER_INNODB_ONLINE_LOG_TOO_BIG) Message: Creating index 'idx_aaa' required more than 'innodb_online_alter_log 对于这个错误,用户可以调大参数innodb_online_alter_log_max_size,以此获得更 大的日志缓存空间。

    74430编辑于 2022-12-13
  • 来自专栏数据和云

    在线重定义“巧改”分区表

    分区表的改造只是诸多数据重组织或重定义场景中的一种,在数据变动需求越来越多、越来越复杂,而系统停机的成本又显著升高的背景下,从Oracle 8i开始就设计了有限的在线重新组织数据的功能,例如create indexes online , rebuilding indexes online。 ,以支持快速刷新同步数据 DBMS_REDEFINITION.SYNC_INTERIM_TABLE 用来把源表中的数据同步到过渡表 DBMS_REDEFINITION.FINISH_REDEF_TABLE 这个过程的操作步骤比较多,也是做在线重定义时需要特别注意的,但其执行时间通常是非常短的: 1)先调用一次DBMS_REDEFINITION.SYNC_INTERIM_TABLE,同步数据 2)锁定源表 ,锁定之后表数据不再允许发生变化 3)再调用一次DBMS_REDEFINITION.SYNC_INTERIM_TABLE,同步数据 4)交换源表和过渡表的表名 5)删除物化视图和物化视图日志 6)释放表锁资源

    1.2K60发布于 2018-03-07
  • 来自专栏小文博客

    OCE – Online Code Editor

    这是一款可以实现多人在线,实时同步的团队代码编辑器 编辑器入口: 1.直接访问code.qcgzxw.cn/code.html 2.在www.qcgzxw.cn页面顶部的OCE进入 使用说明 1.打

    1.5K10发布于 2018-06-25
  • 来自专栏java小白

    Online程序学习(二)

    八、界面元素 1、按钮 在PAI处理结果 2、文本控件 3、输入框控件 4、单选按钮 成组设置Funcation Code,将多个单选按钮设置成一组 选中需要设置成一组的单选按钮,右键单选按钮组定义 5、复选框 默认情况下为不选中(通过赋值实现初始化为选中) 可以关联Function Code实现功能 6、显示与隐藏 选中复选框时,将输入框隐藏 IF GV_CHECKBOX = 'X'. LOOP AT SCREEN. IF SCREEN-NAME = 'GV_

    1.3K10发布于 2021-11-09
领券