新增数据文件导致dataguard同步异常

DataGuard - 物理Standby管理 DG - 物理Standby管理 ================ 一、Read only/write模式打开物理standby 以read only 或read write模式打开物理standby,可以转移一些查询,备份之类的操作到standby数据库,以分担一些primary的压力。 1). standby数据库处于shutdown状态 直接startup即可 。 阅读详情

新增数据文件导致dataguard同步异常

前天一朋友发来一问题,一台服务器的归档目录快满了,不清楚是否可以清理掉,因为它是一台备机。这里记录一下当时指导他的处理过程:


确定主备关系

经了解,这是一套physical standby结构的dataguard。通常情况下,物理standby需要两边节点的物理结构也相同,否则需要通过参数db_file_name_convert、log_file_name_convert明确指定。

日志应用情况

要确定是否可以清除那些归档,需要查看,传递到备库的这些日志是否完全应用了。让他查询之后,结构如下,显然是没有应用完的。
dataguard

为什么没有应用

竟然堆积了两百多个归档没有apply,那么想必是出现了什么异常,遗憾的是他并没有在alert日志找到相关的信息。(我觉得肯定会报出来,他没有找到而已)
看看dataguard相关的进程情况:

select process,status,client_process,sequence# from v$managed_standby;

正常情况下应该有MRP0进程处于WAIT_FOR_LOG状态或WRITING状态。但实际没有。
dataguard

那么只能再应用一遍,看看报什么错吧。

alter database recover managed standby database disconnect from session;

立马报错了:
dataguard
看样子是主库那边新增了数据文件,但是备端同步应用的时候发现无法新增,然后自动生成了一个文件名并放到默认的dbs路径下。这也就是导致日志无法应用的原因了。导致归档日志不断堆积。

看看主备库上的24号文件

主库:
dataguard

备库:
dataguard

从这里看,因为主备使用了裸设备,所以在主库新增数据文件的时候,备库无法正常创建。如果使用的filesystem或者asm存储,那么可以避免该问题的发生。

恢复过程

参照主库端的24号文件对应的裸设备大小在备端创建相同的裸设备文件。

mklv -y ora_users01 -t raw -ex -TO -w n -s n -r n datavg 10000m
chown oracle:oinstall /dev/rora_users01

修改参数standby_file_management

将standby_file_management设为手动模式

alter system set standby_file_management='MANUAL' scope=both;

--重新创建24号文件
alter database create datafile '/oracle/app/product/10g/db_1/dbs/UNNAMED00024' as '/dev/rora_users01';

再次应用归档

alter database recover managed standby database disconnect from session;

dataguard

随着归档日志的apply,24号文件状态将从RECOVER变为ONLINE。

dataguard
归档日志已恢复正常应用。

dataguard
未应用的日志越来越少。 

当日志完全应用完毕后,即可清理这些归档以便回收空间。

【故障处理】ADG延迟 - MRP0状态为WAIT_FOR_LOG ADG延迟:MRP0状态为WAIT_FOR_LOG,切换归档可暂时追平,但始终无法实时同步。 阅读详情

相关推荐

oracle数据同步异常,案例:DataGuard同步异常问题处理记录

本帖最后由 yuanqk 于 2018-8-11 20:28 编辑真实案例,记录一下,都是小白,非常理解小白在遇到问题时的无奈,希望能帮助到一些人。过程非常简单,主要是处理问题的思路。1、早上收到告警,说备库有15个归档没有同步,我们的告警还是非常low的那种,只能告诉你有几个归档没同步,具体原因不知道。(这也是我后续需要调整的)2、检查具体原因,登录主库,查看dest状态,确实是有问题,不能创建...

weixin_39752941的博客 837

ADG的备库mrp进程状态一直显示WAIT_FOR_LOG

在搭建完单机主备的adg后,MRP0进程的状态一直显示WAIT_FOR_LOG,这个和预期的APPLYING_LOG不符。另外经过测试发现,主备插入数据,备库只有当手动切换归档日志,备库才可以同步到主库写入的数据。

m0_61738548的博客 2594

dataguard (ADG)备库移动(迁移)数据文件

dataguard (ADG)备库移动(迁移)数据文件     最近负责维护的一套oracle rac的dataguard环境在巡检的时候发现问题,现在将当时的处理过程整理了下。 环境介绍: primary主库 Standby备库 HPUX 11.31系统 HPUX 11.31系统 ORACLE 11.2.0.4 RAC数据库 ORACL...

old boy的博客 2683

记录近期修复Dataguard的过程

主库RAC,备库RAC ,主备库不同步,主库上有部分日志没有发送过去,逐个手工copy到备库注册后,可以media recover。主库RAC,备库RAC,主库的节点1可以传输归档日志到备库,节点2开始报以下错误。设置完毕后,重启数据库,打开MRP进程,归档日志的传输和应用正常,查询v$managed_standby结果为APPLYING_LOG。查看节点1和节点2上的密码文件,发现节点2上只有一个密码文件,随后,将节点1上的密码文件copy到节点1上。这个比较奇怪,什么原因,不是很清楚。

文档搬运工 1509

闪回恢复区空间不足导致DataGuard远程归档失败

前段时间搭建了DataGuard环境,采用Physical Standby,工作于最大性能模式,最近在对主库的操作系统日志例行检查时发现有大量的错误信息,如下: Archive process error: ORACLE Instance orcl - Archival Error. Archiver continuing. 经过检查,上述信息最早出现在12个小时之前,但相关业务系统一直未见异

m0ver's Blog 2432

Oracle DataGuard主备不同步?手把手教你修复备库缺失文件(附常见错误排查)

本文针对Oracle DataGuard备库因主备空间不一致、主库新增表空间或实例恢复遗留问题导致文件缺失、同步中断的故障,提供了从精准诊断到手动修复的完整实战指南。通过查询V$RECOVER_FILE等视图定位UNNAMED文件,并演示如何通过ALTER DATABASE CREATE DATAFILE命令手动创建缺失文件,最终恢复ADG同步链路,确保高可用架构稳定运行。

weixin_29280219的博客 236

Oracle DG进程介绍

DATA GUARD 环境中的重要进程 在Primary Database上 LGWR:在Primary Database上,这个进程负责把Redo Buffer中的内容写到联机日志文件中。 LNS(LogWriter Network Service)LNS进程读取日志,并通过网络发送给Standby Database,这个进程是为了减轻LGWR的负担,LGWR进程不用再参与到网络日志的传输

空自留的博客 2484

Oracle Dataguard备库异常停机修复

下面介绍利用RMAN备份来对备库进行修复的方法。

Sebastien23的博客 1498

空间不足导致dataguard同步apply停止

今天接到通知说,主库的数据没有同步到备库 查看日志,发现异常如下: Errors in file/u01/app/oracle/diag/rdbms/shdb/shdb/trace/shdb_dbw0_21769.trc: ORA-01186: file 77 failed verification tests ORA-01157: cannot identify/lock data fi

lyyong2007的博客 1015

NXP MCU CAN波特率(位时间)配置详解

1. 概述 本文将会详细讲解如何设置NXP MCU的CAN波特率、位时间、采样点等属性。 波特率即CAN总线传输频率,位时间是波特率的倒数,例如波特率是500K,那么位时间 = 1 / 500000 = 0.000002s = 2000ns。 我们先来看一下S32K144单片机的EB中与CAN总线波特率相关的可配置参数有哪些: ...

weixin_42967006的博客 9690

Halcon 3D点云处理实战:从PLY文件读取到曲面匹配的完整流程(附避坑指南)

本文详细介绍了Halcon在3D点云处理中的完整流程,从PLY文件读取到曲面匹配,特别强调了3D算子的应用技巧和避坑指南。通过实战案例和参数优化建议,帮助开发者高效处理工业视觉检测中的复杂点云数据,提升匹配精度和性能。

weixin_42535720的博客 277

dataguard db_file_name_convert设置错误导致备库数据文件创建失败

某dataguard环境,主库增加数据文件后,备库没有同步加上,报错如下: 经检查,此备库之前是主库,最近杠切换为备库,db_file_name_convert置为空导致数据文件转换有误,遂将db_file_name_convert设为正确值 ALTER SYSTEM SET db_file_name_convert='+zmpdbdata/zmp','/oradata/ZMP' SCOPE=SPFILE; 参数需重启数据库生效 由于此备库有读进程在访问,shutdown备库之前要把所有连接断开

Du.的博客 1212

[QDS]从零开始,写第一个Qt Design Studio到程序调用的项目

最近在使用Qt Design Studio进行开发,但是简中网上要不就是只搜得到Qt Designer(Qt Creator内部库),要不就只搜得到一点营销号不知道从哪里搬来的账号,鉴于Qt Design Studio是一个这么强大的软件,自然是需要来进行一下小小的实践的。所以开了这篇文章,方便没有使用过Qt Design Studio 和 QML的开发者也可以快速上手QDS(Qt Design Studio)。在本文中,你将学会如何使用QDS开发一个简单的QML程序,与你的C++后端代码进行交流。

Andius的博客 8210

dataguard备库延时加大,同步报错(ORA-01119、ORA-17502、ORA-15173),该如何解决?

一大早就收到了告警信息,提示一个主库下两个dataguard备库延时过大。

老苏畅谈运维 991

用LightRAG+Ollama搭建本地知识库:从文档上传到智能问答的完整流程

本文详细介绍了如何利用LightRAG与Ollama构建企业级本地知识库,涵盖从文档预处理到智能问答的完整流程。通过实战案例展示,该方案能高效处理海量文档,实现语义搜索与知识图谱关联分析,显著提升信息检索效率。特别适合金融、医疗等领域的技术团队快速搭建智能知识管理系统。

weixin_42535461的博客 185

昇腾CANN实战:如何用DVPP+AIPP实现32路视频流毫秒级预处理(附性能对比)

本文深入探讨了昇腾CANN架构中DVPP和AIPP模块在32路视频流毫秒级预处理中的硬件加速技术。通过异构计算架构的优化,实现了从传统CPU方案的40.7毫秒到CANN方案3.4毫秒的显著性能提升,特别适用于智能安防领域的实时视频分析需求。文章详细解析了DVPP多通道并行设计和AIPP模型级预处理融合的技术细节,并提供了性能对比数据与实战调优经验。

alice7model的博客 918

Oracle dataguard 主备同步检测脚本

#!/bin/bash for SID in $(ps -fu oracle | grep pmon | grep -v grep | cut -d_ -f3- | sort); do export ORACLE_SID=$SID source ~/.bash_profile row=`sqlplus -silent '/ as sysdba' << EOSQL set pagesize 0 feedback off verify off heading off echo off sele

phantom in ORACLE 563

uniapp+renderJS+google map开发安卓版APP非小程序

uniapp+renderJS+google map开发安卓版APP非小程序,google map小叉号不显示,google map自定义marker右上角的小叉号如何去掉,uniapp+google map不显示

renkai721的专栏 667

oracle 12C dataguard同步状态RESYNCHRONIZATION异常处理

oracle 12C dataguard同步状态(主备库可以同步数据,但是配置dg broker时会出错) 问题: DGMGRL> enable configuration Enabled. DGMGRL> show configuration Configuration - dg Protection Mode: MaxAvailability Members: ...

zjw922的专栏 984

【常见开源库的二次开发】基于openssl的加密与解密——openssl认识与配置(一)

OpenSSL 是一个开源的软件库,它提供了一系列加密工具和协议,主要用于实现安全通信,如在网络上的数据传输。它支持多种加密算法,包括对称加密、非对称加密、散列函数、伪随机数生成器、数字签名、密钥交换以及证书管理等。

嵌入式技术开发 4160

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Oracle DataGuard

有两种类型的STANDBY:物理STANDBY和逻辑STANDBY。 物理STANDBY提供与主数据库完全一样的拷贝(块到块),数据库SCHEMA,包括索引都是一样的。它是直接应用REDO实现同步的。主要目的是灾备恢复。 逻辑STANDBY则不是这样,在逻辑STANDBY中,逻辑信息是相同的,但物理组织和数据结构可以不同,它和主库保持同步的方法是将接收的REDO转换成SQL语句,然后在STANDBY上执行SQL语句。逻辑STANDBY除灾难恢复外还有其它用途,...

lv_zj的专栏 3581

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

ORACLE DATAGUARD遇到GAP增量恢复方式修复RAC环境备机的实践

ORACLE DATAGUARD技术是一个常用的数据保护机制,在DATAGUARD运行过程中,遇到异常导致备机不同步,而主库的归档日志也被清理,此时出现GAP,无法同步;------若主库比备库多两个数据文件,执行这条命令。备库----------------------------------------------10.第一次增量备份未备份至最新(可通过查找数据文件scn号找出最小scn号)2. 主库做RMAN的增量备份,scn号为查询出来的备库最小scn号。3.将备份好的备份集scp到备库。

还不算晕的专栏 1067

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Oracle Dataguard

Oracle Dataguard主要实现数据库的容灾,根据archive log进行数据的同步,当主库异常时,自动切换到备库。

Gavin Blog 1851

oracle dataguard学习和各版本DG新特性介绍

在DataGurad环境中,至少有两个数据库:Primary数据库(主库):一个primary数据库即被大部分应用访问的生产数据库,该库即可以是单实例数据库,也可以是RAC。Standby数据库(备库):Standby数据库是primary数据库的复制(事务上一致)。DataGuard可以分为物理DataGuard、逻辑DataGuard两种,区别如下:物理DataGuard应用的是主库的归档日志,物理DataGuard无论从逻辑结构和物理结构都是和主库保持一致;

hf191850699的专栏 3517

ORACLE DATAGUARD 日志传输状态监控

ORACLE DATAGUARD的主备库同步,主要是依靠日志传输到备库,备库应用日志或归档来实现。当主、备库间日志传输出现GAP,备库将不再与主库同步。因此需对日志传输状态进行监控,确保主、备库间日志没有GAP,或发现GAP后及时处理。除了在告警日志中查看日志同步情况外,还可以通过查看相关视图来对日志传输状态进行监控。1、主、备库查看当前日志状况SELECT SEQUENCE#,STATUS FR...

weixin_33875839的博客 1437
上一篇: Partner2016的第一篇文章
下一篇: 触发器_差之毫厘谬以千里
Partner2016
博客等级 码龄11年 64粉丝 134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值