Oracle设置日志参数-ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
要实现两个数据库之间的实时同步,需要给Oracle设置参数
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; -- 执行了12小时,等待数据库中的其它事务都提交以后才执行完成
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY) COLUMNS;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (UNIQUE) COLUMNS;
遇到的问题
在执行第一条命令的时候,等待超过12小时,命令挂起12小时。原因是要等待数据库中的其它事务都提交以后才可以执行这个命令。
解决方案
1. 等待其它事务全部执行完成
2. 数据库停机重启,强制关闭所有事务就可以顺利的执行你的命令了。
注意:如果在等待命令的过程中,强行kill掉这个设置参数的命令会如何。下面是参考资料,注意,仅供参考。
- 命令特性:ALTER DATABASE ADD SUPPLEMENTAL LOG DATA这类DDL (Data Definition Language) 命令通常不涉及大量数据的修改,而是修改数据库的元数据或配置。因此,从理论上讲,即使这个命令被中断,需要回滚的操作相对较少,不像大规模的数据插入或更新那样涉及大量的数据回滚。
- Oracle处理机制:Oracle数据库对于DDL操作的处理通常是原子性的,意味着要么完全执行,要么完全不执行。如果你强行中断了这个命令,Oracle会尝试撤销已经部分完成的操作,以保持数据库的一致性和完整性。这种撤销操作通常涉及的是元数据的更改,而不是大量数据的回滚。
- 数据库状态:强行中断可能会留下未完成的操作,这可能需要数据库在后续操作中进行清理或恢复,但这种情况对于ALTER DATABASE ADD SUPPLEMENTAL LOG DATA来说影响通常较小。
- 性能影响:即使有回滚发生,由于这个命令涉及的更改主要是配置性质的,不涉及大量数据的移动,所以对数据库性能的影响应该是有限的。
- 监控和分析:如果这个命令长时间不响应,建议先通过Oracle的动态性能视图(如V$SESSION或V$SQL等)监控命令的执行状态,了解是否真的卡住,还是只是执行较慢。
- 谨慎操作:在决定kill一个数据库操作之前,最好是谨慎考虑,因为这可能会留下未完成的状态。如果必须这么做,确保你了解可能的后果,并准备好执行必要的后续步骤,比如重新执行命令或检查数据库的一致性。
Oracle设置日志参数-ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;的更多相关文章
- Linux/Unix shell 监控Oracle告警日志(monitor alter log file)
使用shell脚本实现对Oracle数据库的监控与管理将大大简化DBA的工作负担,如常见的对实例的监控,监听的监控,告警日志的监控,以及数据库的备份,AWR report的自动邮件等.本文给出Linu ...
- backup, file manipulation operations (such as ALTER DATABASE ADD FILE) and encryption changes on a database must be serialized.
昨天在检查YourSQLDba备份时,发现有台数据库做备份时出现了下面错误信息,如下所示: <Exec> <ctx>yMaint.ShrinkLog</ctx> ...
- Oracle 设置日志模式
在NOARCHIVELOG模式下启动和运行一个数据库. 确定闪回恢复区的位置和归档日志目标目录的位置. 步骤一 为归档的重做日志配置FRA和单独的归档日志目标. 首先,设置FRA参数DB_RECOVE ...
- Oracle设置内存参数后,启动数据库报ORA-00843 ORA-00849解决办法
Oracle安装完成后,调优内存参数(MEMORY_TARGET和MEMORY_MAX_TARGET设置为0),重启数据库,报ORA-00843 ORA-00849错误. 根据提示,不应将MEMORY ...
- WARNING OGG-00706 Failed to add supplemental log group on table
在配置OGG时,需要给同步的表添加补充日志,在ggsci命令行执行 add trandata user.table SQL> desc jack.t1 Name Null? Type --- ...
- 通过Oracle补充日志,找到锁阻塞源头的SQL
问题背景: 有时会考虑一件事情,如果在Oracle环境下出现了锁阻塞的情况,如何定位到SQL源头(通过session.lock.transaction等视图仅能定位到会话)?或许有人会想有没有可能通过 ...
- Oracle重做日志文件
一.联机重做日志的规划管理 1.联机重做日志 记录了数据的所有变化(DML,DDL或管理员对数据所作的结构性更改等) 提供恢复机制(对于意外删除或宕机利用日志文件实现数据恢复) 可以被分组管理 11 ...
- 初识oracle重做日志文件
转自 http://blog.csdn.net/indexman/article/details/7746948 以下易容翻译自oracle dba官方文档,不足之处还望指出. 管理重做日志文件 学习 ...
- ORACLE 修改日志大小及增加日志成员
日志文件能不能resize,直接扩大日志文件的大小?10g是不能的. 网上的一般方法就是新建两个临时日志组(oracle至少要求两个日志组),切换到这两个临时日志组后,删掉重建扩大或缩小,再添加日志组 ...
- oracle redo日志维护
环境 OS:Red Hat Linux As 5 DB:10.2.0.1 1.添加日志组 alter database add logfile group 4 ('/u01/app/oracle/or ...
随机推荐
- [转帖]02-rsync备份方式
https://developer.aliyun.com/article/885789?spm=a2c6h.24874632.expert-profile.283.7c46cfe9h5DxWK 简介: ...
- [转帖]【JVM】堆内存与栈内存详解
堆和栈的定义 java把内存分成栈内存和堆内存. (1)栈内存 在函数中定义的一些基本类型的变量和对象的引用变量都是在函数的栈内存中分配. 当在一段代码块中定义一个变量时,java就在栈中为这个变量分 ...
- vue动画 <transition-group> 使用半场动画
<style> /* 给动画添加一组过度效果 */ .v-enter, .v-leave-to { opacity: 0.8; /* 从右向左进入 */ transform: transl ...
- 分页sql大全
一.排除Top分页法(自命名,非规范) 思想:所谓"排除Top分页",主要依靠"排除"和Top这个两大核心步骤.首先查询当前页码之前的数据,然后将该数据从总数据 ...
- EXPLAIN分析pgsql的性能
EXPLAIN分析pgsql的性能 前言 EXPLAIN命令 EXPLAIN -- 显示一个语句的执行计划 命令详解 EXPLAIN输出结果展示 analyze buffers 全表扫描 索引扫描 位 ...
- 外部文件使用django的models
#外部文件使用django的models,需要配置django环境 import os if __name__ == '__main__': os.environ.setdefault("D ...
- 【双指针】双指针算法详解两道经典OJ【力扣27,力扣26,力扣38】超详细算法教程
[双指针]双指针算法详解两道经典OJ[力扣27,力扣26,力扣38]超详细算法教程 今天又又到了我们刷力扣题的时间啦! 今天博主给大家带来的三道题是: 27. 移除元素 26. 删除有序数组中的重复项 ...
- Hive-mapjoin详解(mapjoin原理)
笼统的说,Hive中的Join可分为Common Join(Reduce阶段完成join)和Map Join(Map阶段完成join).本文简单介绍一下两种join的原理和机制. 一 .Common ...
- Python-统计执行时间
方法一:datetime.datetime.now() import datetime import time starttime = datetime.datetime.now() print(st ...
- Python-pymysql操作MySQL数据库
一.安装pymysql py -m pip install pymysql; 二.pymysql数据库操作 1.简单示例 #coding=utf-8 import pymysql ## 打开数据库连接 ...