DataGuard---->备库参数db_file_name_convert和log_file_name_convert的作用
一、参数说明
[1] db_file_name_convert
db_file_name_convert 主数据库和备用数据库的数据文件转换目录对映(如果两数据库的目录结构不一样),如果有多个对映,逐一指明对映关系。
格式: *.db_file_name_convert= 主数据库数据文件目录,备用数据库数据文件目录
[2] log_file_name_convert
指明主数据库和备用数据库的log文件转换目录对映。
格式: *. log_file_name_convert=主数据库log目录,备用数据库目录
二、作用过程:
下面通过跟踪恢复从库的过程来分析这从库参数文件中db_file_name_convert和log_file_name_convert的作用:
1.dataguard的主库完全备份数据库;
2.将主库的完全备份复制到从库的相应位置
3.恢复从库,下面到了最关键部分了
用主库的备份来恢复从库,可以想到从库恢复出来中的控制文件和主库的控制一样。但是我们想使主从库的数据文件路径、联机日志路径不同; 最关键的参数要用到了,那就是db_file_name_convert和log_file_name_convert
从库通过主库的备份恢复控制文件--->恢复控制文件时,oracle查看从库参数文件中的db_file_name_convert和log_file_name_convert参数---->将主库保存数据文件、联机日志的路径转换成从库保存数据文件、联机日志的路径---->生成从库的控制文件
所以,db_file_name_convert和log_file_name_convert这两个参数像桥梁一样,来完成转换dataguard的主库和从库数据文件和联机日志保存路径不同的问题。:
验证1:备库未配置db_file_name_convert和log_file_name_convert
备库未配置db_file_name_convert和log_file_name_convert
Standby>show parameter convert NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
db_file_name_convert string
log_file_name_convert string
Standby>
主库新增数据文件/usr/oracle/app/oradata/orcl/tb01.dbf 和 /usr/oracle/app/oradata/tb02.dbf
Primary>create tablespace TB01 datafile '/usr/oracle/app/oradata/orcl/tb01.dbf' size 1m autoextend on;
Tablespace created. Primary>create tablespace TB02 datafile '/usr/oracle/app/oradata/tb02.dbf' size 1m autoextend on; Tablespace created. Primary>select name from v$datafile; NAME
-----------------------------------------------------------------------------------------------------------------------------/usr/oracle/app/oradata/orcl/system01.dbf
/usr/oracle/app/oradata/orcl/sysaux01.dbf
/usr/oracle/app/oradata/orcl/undotbs01.dbf
/usr/oracle/app/oradata/orcl/users01.dbf
/usr/oracle/app/oradata/orcl/tb01.dbf
/usr/oracle/app/oradata/tb02.dbf 6 rows selected. Primary>
备库执行
alter database recover managed standby database disconnect from session;
结果如下
Standby>select name from v$datafile; NAME
----------------------------------------------------------------------------------------------------
/usr/oracle/standby/app/oradata/orcl_standby/system01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/sysaux01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/undotbs01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/users01.dbf
/usr/oracle/app/oradata/orcl/tb01.dbf
/usr/oracle/app/oradata/tb02.dbf
路径和主库的路径相同
验证2:备库配置了db_file_name_convert和log_file_name_convert
备库配置了db_file_name_convert和log_file_name_convert
Standby>show parameter convert NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
db_file_name_convert string /usr/oracle/app/oradata/orcl/,/usr/oracle/standby/app/oradata/orcl_standby/
log_file_name_convert string /usr/oracle/app/oradata/orcl/,/usr/oracle/standby/app/oradata/orcl_standby/
备库执行
alter database recover managed standby database disconnect from session;
结果如下
Standby>select name from v$datafile; NAME
----------------------------------------------------------------------------------------------------
/usr/oracle/standby/app/oradata/orcl_standby/system01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/sysaux01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/undotbs01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/users01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/tb01.dbf
/usr/oracle/app/oradata/tb02.dbf
结果db_file_name_convert = ‘/usr/oracle/app/oradata/orcl/’,‘/usr/oracle/standby/app/oradata/orcl_standby/’起作用了
将/usr/oracle/app/oradata/orcl/tb01.dbf 转换成了 /usr/oracle/standby/app/oradata/orcl_standby/tb01.dbf
/usr/oracle/app/oradata/tb02.dbf 未被转换,因为不符合
switchover后,当前的备库(以前的主库)未配置db_file_name_convert和log_file_name_convert
1、未配置db_file_name_convert和log_file_name_convert的情况,从库同步后的数据文件和主库路径相同
主库新增了一个数据文件/usr/oracle/standby/app/oradata/orcl_standby/dg01(不要受orcl_standby的影响,这里执行过switchover,以前的备库是当前的主库)
SQL> select name from v$datafile; NAME
--------------------------------------------------------------------------------
/usr/oracle/standby/app/oradata/orcl_standby/system01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/sysaux01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/undotbs01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/users01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/dg01
从库的结果
SYS@orcl>select name from v$datafile; NAME
-----------------------------------------------------------------------------------------------------------------------------/usr/oracle/app/oradata/orcl/system01.dbf
/usr/oracle/app/oradata/orcl/sysaux01.dbf
/usr/oracle/app/oradata/orcl/undotbs01.dbf
/usr/oracle/app/oradata/orcl/users01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/dg01
switchover后,当前的备库(以前的主库)配置了db_file_name_convert和log_file_name_conver
在当前的备库(以前的主库)执行以下的语句
alter system set DB_FILE_NAME_CONVERT='/usr/oracle/standby/app/oradata/orcl_standby/','/usr/oracle/app/oradata/orcl/' scope=spfile;
alter system set LOG_FILE_NAME_CONVERT='/usr/oracle/standby/app/oradata/orcl_standby/','/usr/oracle/app/oradata/orcl/' scope=spfile;
当前的主库(以前的备库)新增一个数据文件 /usr/oracle/standby/app/oradata/orcl_standby/dg02
SQL> select name from v$datafile; NAME
--------------------------------------------------------------------------------
/usr/oracle/standby/app/oradata/orcl_standby/system01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/sysaux01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/undotbs01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/users01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/dg01
/usr/oracle/standby/app/oradata/orcl_standby/dg02 6 rows selected.
当前的备库(以前的主库)同步后的结果
SYS@orcl>select name from v$datafile; NAME
-----------------------------------------------------------------------------------------------------------------------------/usr/oracle/app/oradata/orcl/system01.dbf
/usr/oracle/app/oradata/orcl/sysaux01.dbf
/usr/oracle/app/oradata/orcl/undotbs01.dbf
/usr/oracle/app/oradata/orcl/users01.dbf
/usr/oracle/standby/app/oradata/orcl_standby/dg01
/usr/oracle/app/oradata/orcl/dg02
/usr/oracle/standby/app/oradata/orcl_standby/dg02 被转换成了 /usr/oracle/app/oradata/orcl/dg02
建议:主库备库都配置db_file_name_convert和log_file_name_conver,这样不过怎样switchover,数据文件和redo log文件的位置都非常清晰。
DataGuard---->备库参数db_file_name_convert和log_file_name_convert的作用的更多相关文章
- ORACLE DG 库参数db_file_name_convert和log_file_name_convert的作用
https://www.cnblogs.com/xqzt/p/5089826.html ORACLE DG 库参数db_file_name_convert和log_file_name_convert的 ...
- DataGuard---->主库和备库都配置 db_file_name_convert和log_file_name_convert的作用
一.参数说明 [1] db_file_name_convert db_file_name_convert 主数据库和备用数据库的数据文件转换目录对映(如果两数据库的目录结构不一样),如果有多个对映,逐 ...
- Oracle数据库由dataguard备库引起的log file sync等待
导读: 最近数据库经常出现会话阻塞的报警,过一会又会自动消失,昨天晚上恰好发生了一次,于是赶紧进行了查看,不看不知道,一看吓一跳,发现是由dataguard引起的log file sync等待.我们知 ...
- DataGuard备库ORA-01196故障恢复一则
问题现象 在使用shutdown abort停DataGuard备库后.备库不能open,报ORA-01196错误. 详细例如以下: 发现一备库不能应用日志.查看备库日志没发现报错.怀疑是备库应用日志 ...
- oracle11g dataguard 备库数据同步的检查方法
概述: 一.环境 主库: ip地址:192.168.122.203 oracle根目录:/data/db/oracle SID:qyq 数据文 ...
- OGG 从Oracle备库同步数据至kafka
OGG 从Oracle备库同步数据至kafka Table of Contents 1. 目的 2. 环境及规划 3. 安装配置JDK 3.1. 安装jdk 3.2. 配置环境变量 4. 安装Data ...
- ADG配置(主备库环境)
@font-face { font-family: "Courier New"; }@font-face { font-family: "宋体"; }@font ...
- [Oracle] Data Guard 系列(5) - 创建逻辑备库
在创建逻辑备库之前,必须得先创建物理备库,关于如何创建物理备库,请参考<Data Guard 系列(4) - 在不停主库的情况下创建物理备库>. 1. 在物理备库上停止日志应用服务 SYS ...
- pgsql物理复制(pgsql 备库的搭建以及角色互换,提升)
结构图如下: Postgresql早在9.0版本开始支持物理复制,也称为流复制,通过从实例级复制出一个与主库一模一样的备库.流复制同步方式有同步,异步两种,如果主节点和备节点不是很忙,通常异步模式下备 ...
随机推荐
- 委托----Func和Action
平时我们如果要用到委托一般都是先声明一个委托类型,比如: private delegate string Say(); string说明适用于这个委托的方法的返回类型是string类型,委托名Say后 ...
- 【C++ Primer | 19】嵌套类、局部类
嵌套类 #include <iostream> using namespace std; class c1 { public: int a; void foo(); class c2 { ...
- Pycharm里面使用PIL库之后,为什么调用Image的方法不能弹出代码提示,怎样能让代码提示弹出?
之前也碰到了这个问题,安装了pillow后没有代码提示,最后查了半天,发现问题原来非常简单,解决方法也很无厘头. 之所以没有代码提示,仅仅是因为Pycharm没法判断Image.open()返回的对象 ...
- [转] webpack3.0踩坑:postcss-loader的使用
解决方案: 只是换了一种引入方式,解决了 1,创建postcss.config.js文件,添加如下代码:(引入autoprefixer插件) 1 2 3 4 module.exports = { ...
- 异常Cannot get a text value from a numeric cell
POI操作Excel时偶尔会出现Cannot get a text value from a numeric cell的异常错误. 异常原因:Excel数据Cell有不同的类型,当我们试图从一个数字类 ...
- BZOJ1968 [Ahoi2005]COMMON 约数研究 数论
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1968 题意概括 求 ΣF(i) (1<=i<=n)N<=1000000 F( ...
- BZOJ1088 [SCOI2005]扫雷Mine 动态规划
欢迎访问~原文出处——博客园-zhouzhendong 去博客园看该题解 题目传送门 - BZOJ1088 题意概括 扫雷.只有2行.第2行没有雷,第一行有雷.告诉你第二行显示的数组,问有几种摆放方式 ...
- Spring框架中的Quartz定时任务使用笔记(通过@Scheduled注解的方式实现)
1.修改spring的xml配置信息 applicationContext.xml 三个部分内容 1.xmlns添加:xmlns:task="http://www.springframewo ...
- 8. 博客系统| 富文本编辑框和基于bs4模块防御xss攻击
views.py @login_required def cn_backend(request): article_list = models.Article.objects.filter(user= ...
- 040 关于hive元数据的解析
一:原理 1.整体原理 找到数据库 找到表 先找分区表,然后不找SDS表了,先去找PARTITIONS表,根据这张表的SD_ID找对应的HDFS路劲 再普通表,直接根据SDS表的中SD_ID找到对应的 ...