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的作用
一、参数说明
[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
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>
备库执行
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/app/oradata/orcl/tb01.dbf
/usr/oracle/app/oradata/tb02.dbf
路径和主库的路径相同
验证2:备库配置了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/
备库执行
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文件的位置都非常清晰。
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 主数据库和备用数据库的数据文件转换目录对映(如果两数据库的目录结构不一样),如果有多个对映,逐 ...
- DataGuard---->主库和备库都配置 db_file_name_convert和log_file_name_convert的作用
一.参数说明 [1] db_file_name_convert db_file_name_convert 主数据库和备用数据库的数据文件转换目录对映(如果两数据库的目录结构不一样),如果有多个对映,逐 ...
- oracle dg库因为standby_file_management参数导致应用停止
DG库的standby_file_management=manual,主库添加文件的时候,备库无法自动创建对应的文件而报错 File #154 added to control file as 'UN ...
- ORACLE DG之参数详解
1.DB_NAME 数据库名字,需要保持同一个Data Guard中所有数据库DB_NAME相同. 主库和备库相同 DB_NAME='chicago' DB_NAME='chicago' 2.DB_U ...
- Oracle 11g Dataguard参数详解
https://www.jb51.net/article/52269.htm注:本文译自<Oracle Data Guard 11g Handbook> Page 78 – Page 88 ...
- windows,oracle,dg报错:ORA-12528,ORA-12154,ORA-10456 ,PING[ARC1]: Heartbeat failed to connect to standby 'orclbk'. Error is 12154
windows,oracle,dg报错:ORA-12528,ORA-12154,ORA-10456 最近有需求在windows的2台oracle服务器上搭建dg,在过程中遇到了一些错误,跟在linux ...
- oracle DG搭建
Oracle DG 搭建1. 环境 OS IP hostname db_name DB_UNIQUE_NAME主库 RHEL 5.4 192.168.12.20 edgzrip1.oracle.com ...
- OGG 从Oracle备库同步数据至kafka
OGG 从Oracle备库同步数据至kafka Table of Contents 1. 目的 2. 环境及规划 3. 安装配置JDK 3.1. 安装jdk 3.2. 配置环境变量 4. 安装Data ...
- ORACLE DG在线日志修改
ORACLE DG在线日志修改 SQL>select SEQUENCE#,first_time,next_time,APPLIED, THREAD# from v$archived_log or ...
随机推荐
- [LeetCode] 137. 只出现一次的数字 II
题目链接 : https://leetcode-cn.com/problems/single-number-ii/ 题目描述: 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三 ...
- Python入门之 函数
Python入门之 函数 1.初识函数 1.1 什么是函数? <1> 将某个功能封装到一个空间中就是一个函数 <2> 减少重复代码 1.2 定义函数 def -- python ...
- web 过滤器 Filter、 Spring 拦截器 interceptor
1.过滤器(Filter)(在web.xml中注册过滤器) 首先说一下Filter的使用地方,我们在配置web.xml时,总会配置下面一段设置字符编码,不然会导致乱码问题: <filter> ...
- 什么场景下用redis而不用mysql?
redis我们用作缓存,对查询速度要求比较高的应用场景比较适合.对有复杂逻辑关系的存储不适合. mysql是硬盘存储的,在高性能io要求的项目里不能满足需求,而redis所有数据存在内存里,因此要快得 ...
- linux中几个简单的系统命令(还有一些其他杂项命令)
linux中几个简单的系统命令,其他命令接触到了在补充. 1.ps命令:(process status),提供对进程的一次性查看.以及执行ps命令时那个时刻的进程信息 格式:ps[参数] -e 此参数 ...
- 拼接HTML代码在UIWebVIew中显示
其原理:通过网络请求获得相关的信息,再通过手机端进行拼HTML,然后在WebView进行展示,此处还对文章中的图片增加点击效果,可以保存到相册中:文章的样式已经存在项目中,直接去调用: 1:首先了解两 ...
- Nginx设置上传文件大小限制
就是nginx对上传的图片大小有了限制嘛,所以更改nginx的配置文件就好了 client_max_body_size 1000m; 参考:https://blog.csdn.net/TitanSee ...
- 合肥学院ACM集训队第一届暑假友谊赛 B FYZ的求婚之旅 D 计算机科学家 F 智慧码 题解
比赛网址:https://ac.nowcoder.com/acm/contest/994#question B FYZ的求婚之旅 思路: 然后用快速幂即可. 细节见代码: #include <i ...
- laplace transform 拉普拉斯变换
参考网址: 1. https://en.wikipedia.org/wiki/First-hitting-time_model 2. https://en.wikipedia.org/wiki/Lap ...
- python3-访问限制
在Class内部,可以有属性和方法,而外部代码可以通过直接调用实例变量的方法来操作数据,这样,就隐藏了内部的复杂逻辑. 但是,从前面Student类的定义来看,外部代码还是可以自由地修改一个实例的na ...