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文件的原因
上传的文件 是会自动复制到另外一个路径的 如果没有进行处理 那么表示那个路径并没有那个文件 这样就会卡死 导致之后的文件都不会进行处理(后台有个变量是从数据库里获得文件路径的),所以需要去数据库 执行 ...
随机推荐
- Python debug 调试;
F9:执行跳到下一个断点 F8:执行下一步 F7:进入函数
- POJ2417 Discrete Logging【BSGS】(模板题)
<题目链接> 题目大意: P是素数,然后分别给你P,B,N三个数,然你求出满足这个式子的L的最小值 : BL== N (mod P). 解题分析: 这题是bsgs算法的模板题. #incl ...
- Shell学习之Shell特性(一)
Shell学习之Shell特性 目录 命令和文件自动补齐功能 命令历史记忆功能 history.上下键.!number.!string.!$.!! 别名功能 alias.unalias cp.~use ...
- MySQL 5.7.14 net start mysql 服务无法启动
解决方法: 1.mysqld --initialize 初始化data目录 2.重新输入net start mysql命令 补充,服务停止的方法:net stop mysql
- TCO 2015 1A Hard.Revmatching(Hall定理)
\(Description\) 给定一个\(n\)个点的二分图,每条边有边权.求一个边权最小的边集,使得删除该边集后不存在完备匹配. \(n\leq20\). \(Solution\) 设点集为\(S ...
- BZOJ.3920.Yuuna的礼物(莫队 分块套分块 分段离散化)
题目链接 详细题解:https://www.cnblogs.com/autsky-jadek/p/4376091.html 代码参考自:https://www.cnblogs.com/Sakits/p ...
- Python3基础系列——枚举类型大揭秘
为什么使用枚举 枚举类型是定义常量的一种最优选择. 常量的广义概念是:不变化的量 对于常量的通俗比喻--如同大山不被轻而易举地改变 地球上的重力加速度到海枯石烂也会改变 人们使用的常量是时间不很漫长的 ...
- [HihoCoder1398]网络流五·最大权闭合子图
题目大意:有$N$项活动$M$个人,每个活动$act_i$有一个正的权值$a_i$,每个人$stu_i$有一个负的权值$b_i$.每项活动能够被完成当且仅当该项活动所需的所有人到场.如何选择活动使最终 ...
- extend与append的区别
''' list 的两个方法extend 和 append 看起来类似,但实际上完全不同. extend接受一个参数,这个参数,总是一个list,并把list中的每个元素添加到原list中 appen ...
- Java 数组元素倒序的三种方式
将数组元素反转有多种实现方式,这里介绍常见的三种. 直接数组元素对换 @Test public void testReverseSelf() throws Exception { System.out ...