primary库新增数据文件后,standby库无法创建文件并终止数据同步
主库是RAC环境,使用asm存放数据文件,备库是操作系统本地文件系统存放数据文件。
在主库执行以下操作:
SQL> alter tablespace ysdv add datafile '+data' size 1024m autoextend on next 100m maxsize 10240m;
备库的alert日志报以下错误:
Mon Jul 31 13:00:59 2017
Errors in file /d01/app/oracle/diag/rdbms/dvstby/dvstby/trace/dvstby_pr00_3809.trc:
ORA-01119: error in creating database file '+DATA'
ORA-17502: ksfdcre:4 Failed to create file +DATA
ORA-15001: diskgroup "DATA" does not exist or is not mounted
ORA-15077: could not locate ASM instance serving a required diskgroup
ORA-29701: unable to connect to Cluster Synchronization Service
File #7 added to control file as 'UNNAMED00007'.
Originally created as:
'+DATA/dv/datafile/dv.328.950783567'
Recovery was unable to create the file as a new OMF file.
Errors with log /d01/app/oracle/arch/2_1729_930568019.dbf
MRP0: Background Media Recovery terminated with error 1274
Errors in file /d01/app/oracle/diag/rdbms/dvstby/dvstby/trace/dvstby_pr00_3809.trc:
ORA-01274: cannot add datafile '+DATA/dv/datafile/dv.328.950783567' - file could not be created
Mon Jul 31 13:02:12 2017
Recovery interrupted!
Recovery stopped due to failure in applying recovery marker (opcode 17.30).
Datafiles are recovered to a consistent state at change 172502737 but controlfile could be ahead of datafiles.
Mon Jul 31 13:02:13 2017
MRP0: Background Media Recovery process shutdown (dvstby)
查看备库参数设置:
SQL> show parameter convert NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert string +DATA/dv/DATAFILE/, /d01/app
/oracle/oradata/dvstby/dataf
ile/, +DATA/dv/TEMPFILE/, /s
01/app/oracle/oradata/dvstby
/tempfile/
log_file_name_convert string +DATA/dv/ONLINELOG/, /d01/ap
p/oracle/oradata/dvstby/onli
nelog/
SQL> show parameter standby_file_management NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO
SQL>
原因是主备库的文件路径不一样,备库在自动转换文件名称时失败。
修改方案:
1.将stndby_file_management设置为manual
SQL> show parameter standby_file_management NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
standby_file_management string AUTO
SQL> alter system set standby_file_management='MANUAL';
2.找出unname的数据文件
SQL> select name from v$datafile; NAME
--------------------------------------------------------------------------------
/d01/app/oracle/oradata/dvstby/datafile/system.293.930567941
/d01/app/oracle/oradata/dvstby/datafile/sysaux.294.930567941
/d01/app/oracle/oradata/dvstby/datafile/undotbs1.323.937148625
/d01/app/oracle/oradata/dvstby/datafile/users.296.930567941
/d01/app/oracle/oradata/dvstby/datafile/undotbs2.324.937148779
/d01/app/oracle/oradata/dvstby/datafile/dv.306.930571875
/d01/app/oracle/dvuct/11.2.0/dbhome_1/dbs/UNNAMED00007
/d01/app/oracle/oradata/dvstby/datafile/dv.325.931996247
/d01/app/oracle/oradata/dvstby/datafile/dv.326.931996261
/d01/app/oracle/oradata/dvstby/datafile/dv.327.931996267 10 rows selected.
3.重命名/重建数据文件,指定正确的名称
SQL> alter database create datafile '/d01/app/oracle/dvuct/11.2.0/dbhome_1/dbs/UNNAMED00007' as '/d01/app/oracle/oradata/dvstby/datafile/dv.328.950783567';
4.再次查看
SQL> select name from v$datafile; NAME
--------------------------------------------------------------------------------
/d01/app/oracle/oradata/dvstby/datafile/system.293.930567941
/d01/app/oracle/oradata/dvstby/datafile/sysaux.294.930567941
/d01/app/oracle/oradata/dvstby/datafile/undotbs1.323.937148625
/d01/app/oracle/oradata/dvstby/datafile/users.296.930567941
/d01/app/oracle/oradata/dvstby/datafile/undotbs2.324.937148779
/d01/app/oracle/oradata/dvstby/datafile/dv.306.930571875
/d01/app/oracle/oradata/dvstby/datafile/dv.328.950783567
/d01/app/oracle/oradata/dvstby/datafile/dv.325.931996247
/d01/app/oracle/oradata/dvstby/datafile/dv.326.931996261
/d01/app/oracle/oradata/dvstby/datafile/dv.327.931996267 10 rows selected.
5.将stndby_file_management设置为auto
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT=AUTO scope=both;
6.开启mrp
SQL> alter database recover managed standby database using current logfile disconnect;
7.验证mrp已经启动
SQL> select process, status , sequence# from v$managed_standby; PROCESS STATUS SEQUENCE#
--------- ------------ ----------
ARCH CLOSING 3231
ARCH CONNECTED 0
ARCH CLOSING 1791
ARCH CLOSING 3232
ARCH CLOSING 1792
MRP0 APPLYING_LOG 3166
RFS IDLE 0
RFS IDLE 0
RFS IDLE 0
RFS IDLE 0
RFS IDLE 1793
RFS IDLE 0
RFS IDLE 0
RFS IDLE 3233 14 rows selected. SQL>
primary库新增数据文件后,standby库无法创建文件并终止数据同步的更多相关文章
- Python3 判断文件和文件夹是否存在、创建文件夹
Python3 判断文件和文件夹是否存在.创建文件夹 python中对文件.文件夹的操作需要涉及到os模块和shutil模块. 创建文件: 1) os.mknod(“test.txt”) 创建空文件 ...
- 【C#-文件管理】 判断文件夹或文件是否存在,并创建文件夹或文件
1.判断文件夹是否存在 Directory.Exists(“文件夹路径”) 返回false表示不存在,true表示存在 2.判断文件是否存在 File.Exists("文件路径&quo ...
- Vue Router路由守卫妙用:异步获取数据成功后再进行路由跳转并传递数据,失败则不进行跳转
问题引入 试想这样一个业务场景: 在用户输入数据,点击提交按钮后,这时发起了ajax请求,如果请求成功, 则跳转到详情页面并展示详情数据,失败则不跳转到详情页面,只是在当前页面给出错误消息. 难点所在 ...
- PHP判断文件夹是否存在和创建文件夹的方法(递归创建多级目录)
在开始之前,我先说明一下,可能许多朋友与我一样认为只要给一个路径,mkdir就可以创建文件夹,其实不是那样,单个的MKDIR只能创建一级目录,对于多级的就不行了,那如何用mkdir来创建呢?先我抄一段 ...
- python判断文件和文件夹是否存在、创建文件夹
>>> import os >>> os.path.exists('d:/assist') True >>> os.path.exists('d: ...
- python 判断文件和文件夹是否存在、创建文件夹
原文链接:https://www.cnblogs.com/hushaojun/p/4533241.html >>> import os >>> os.path.ex ...
- Java 判断文件夹、文件是否存在、否则创建文件夹
1.判断文件是否存在,不存在创建文件 File file=new File("C:\\Users\\QPING\\Desktop\\JavaScript\\2.htm"); if( ...
- WIN10桌面无创建文件夹选项,无法创建文件
在桌面或其他磁盘,右键没有新建选项,无法新建文件夹或文档. 右键桌面左下角开始按钮,点击:命令提示符(管理员) 弹出,Windows命令处理程序对话框,点击是 粘贴内容: cmd /k r ...
- MATLAB读取每个文件夹下的badcsv文件后合并为总的badexcel文件
clear; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%读取子文件夹中bad.csv数据%并把所有数据写到一个excel文件中%%%%%%%%%%%%%%%%%% ...
- zf-安徽桐城关于(资源中心-数据录入)上传文件后没有进行处理Excel文件的原因
上传的文件 是会自动复制到另外一个路径的 如果没有进行处理 那么表示那个路径并没有那个文件 这样就会卡死 导致之后的文件都不会进行处理(后台有个变量是从数据库里获得文件路径的),所以需要去数据库 执行 ...
随机推荐
- Codeforces 1041F Ray in the tube (看题解)
Ray in the tube 感觉是套路题.. 如果确定一个差值x我们如何取确定答案呢, 我们把a[ i ] -> a[ i ] % (2 * x), 把b[ i ] -> (b[ i ...
- Codeforces Round #309 (Div. 2) -D. Kyoya and Permutation
Kyoya and Permutation 这题想了好久才写出来,没看题解写出来的感觉真的好爽啊!!! 题目大意:题意我看了好久才懂,就是给你一个序列,比如[4, 1, 6, 2, 5, 3],第一个 ...
- 解决celipse中mybatis使用的时候xml没有提示的问题
文件下载好以后点击Add会出现如下界面 上面是添加mapper的插件,再找到config的配置文件.和上面相似的操作安装以后就可以了
- 062 hive中的常用方法(case,cast,unix_timestamp)
1.case的用法 )格式1 case col when value then '' when value then '' else '' end )格式2 case when col='value' ...
- 使用PhoneGap搭建一个山寨京东APP(转)
为什么要写一个App 首先解释下写出来的这个App,其实无任何功能,只是用HTML和CSS模仿JD移动端界面写的一个适配移动端的Web界面.本篇主要内容是介绍如何使用PhoneGap把开发出来的m ...
- window下mongodb安装和配置
mongodb安装和配置 1.下载:https://www.mongodb.com 2.解压到盘的根目录下,本人解压到D盘根目录 3.在软件根目录下新建一个文件夹data 4.再新建两个文件夹db.l ...
- 009.Docker Compose部署及基础使用
一 Docker Compose概述 Compose是一个用于定义和运行多容器Docker应用程序的工具.使用Compose,您可以使用YAML文件来配置应用程序的服务.然后,使用单个命令,您可以从配 ...
- ReportNG报表显示中文乱码和TestNG显示中文乱码实力解决办法
最近在进军测试自动化框架学习阶段,但无意间总是会伴随小问题的困扰,比如中文乱码,而导致显示总是不舒服,个人觉得,就一定要解决,似乎有点点强迫症.所以遇到ReportNG报表显示中文乱码和TestNG显 ...
- crm的知识点整理
''' # 1. 通过ChangeList封装好多数据 # 2. 销售中公共资源:Q查询,3天 15天 from django.db.models import F,Q F 使用查询条件的值,专门取对 ...
- NOIP 竞赛注意事项
<一>程序习惯注意 一.Linux与Windows的区别 a) 大小写敏感 i. 在Windows下,文件名大小写不敏感,例如A.c 与 a.c 与和a.C与A.C和没有区别. ii. ...