dataguard 参数 db_file_name_convert 恢复的时候起作用
备库的数据库文件目录是一样的时候,
必须使用 nofilenamecheck参数告诉
rman主库和被创建的备份库拥有一样的文件目录和文件名
备库恢复的时候起作用 string1 转化成备库 string2路径
DB_FILE_NAME_CONVERT = 'string1' , 'string2' , 'string3' , 'string4' , ...
取值意义:string1 转化成备库 string2路径
string1 是 主库数据文件的路径
string2 是备库数据文件的路径
string3 是 主库数据文件的路径
string4 是备库数据文件的路径
DB_NAME:在搭建ADG的过程中,主库DB_NAME必须与备库的DB_NAME一致。
在备库中的数据文件头也存在DB_NAME,从主库创建standby controlfile给备库使用后,备库的控制文件中DB_NAME和数据文件头中的DB_NAME不一致,
会导致在开启MPR0进程之后报错,主库与备库同步不了的问题。
所以在搭建ADG参数设置过程中,只有DB_NAME这个参数主库和备库必须完全一致。
在面试过程中有时会问到,在搭建ADG的过程中,都有哪些参数是主备同步,备主同步的必要条件,DB_NAME和LOG_ARCHIVE_CONFIG这两个参数。
在Oracle 11g及之后的版本的dataguard,配置参数log_archive_dest_n已经取消了arch/lgwr属性。 默认使用lgwr来传输redo数据。除非有gap存在,dataguard不再依赖archive log同步主备。
valid_for。。。。只是主库生效
初始化参数LOG_ARCHIVE_DEST_n中的valid_for属性用来指定redo数据的存放位置,可以存放在本地,也可以指定redo transport的位置。
其中VALID_FOR属性用来指定发送指定角色生成的指定类型的日志文件,该参数的主要目的是为了确保,
一旦发生角色切换,数据库能够正常运转,其格式为:VALID_FOR=(redo_log_type,database_role)。没有写VALID_FOR时,默认VALID_FOR=(all_logfiles,all_roles)
VALID_FOR属性由2部分组成:archive_source(online_logfile,standby_logfile,all_logfiles)和database_role(primary_role,standby_role,all_role).
online_logfile: 参数LOG_ARCHIVE_DEST_n只在从v$logfile中的type为online的日志中读取redo数据生效
standby_logfile: 参数LOG_ARCHIVE_DEST_n只在从v$logfile中的type为standby的日志中读取redo数据
all_logfiles: online_logfile和standby_logfile
primary_role: 仅当数据库角色为主库时候生效(当前主库传输给备库时候这个LOG_ARCHIVE_DEST_n 才起作用)
standby_role: 仅当数据库角色为备库时候生效(备库给主库传日志)
all_role: 任意角色均生效
最大保护必须满足lgwr async affirm
最大可用必须满足lgwr async affirm
最大性能必须满足lgwr/arch async noaffirm
如果设置了最大保护模式但LOG_ARCHIVE_DEST_N参数不满足设置,数据库保护模式会退化为最大性能。
可见最大可用以上都必须将LOG_ARCHIVE_DEST_N参数设置为lgwr async affirm。
CONTROL_FILES:为主数据库上的控制文件指定路径名。 建议提供控制文件的第二个副本,以便在将好的控制文件复制到坏的控制文件位置之后,可以轻松地重新启动实例。
REMOTE_LOGIN_PASSWORDFILE:如果使用远程登录密码文件对管理用户进行身份验证或重做传输会话,则必须将此参数设置为 EXCLUSIVE 或 SHARED。
LOG_ARCHIVE_FORMAT:使用线程(%t)、序列号(%s)和resetlogs ID (%r)指定归档重做日志文件的格式。
FAL_SERVER:指定 FAL 服务器的 Oracle Net 服务名(通常是在主角色中运行的数据库)。 当Chicago数据库以备用角色运行时,如果Boston无法自动发送丢失的日志文件,它将使用Boston数据库作为FAL服务器来获取(请求)丢失的归档重做日志文件。
STANDBY_FILE_MANAGEMENT: 设置为AUTO,以便当向主库添加或删除数据文件时,会自动对备库进行相应的更改。
DB_FILE_NAME_CONVERT:指定备库数据文件的路径名和文件名位置,然后是主库。 该参数将主库数据文件的路径名转换为备库数据文件的路径名。 该参数仅用于物理备库的路径名称转换。 该参数可以指定多对路径。
LOG_FILE_NAME_CONVERT:指定备库在线重做日志文件的位置,然后是主库。 该参数将主库日志文件的路径名转换为备库日志文件的路径名。 该参数可以指定多对路径。
*.fal_client、*.fal_server两参数
主备的tns都是如下时
master =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.128.37)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TDB)
)
)
slave =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.128.47)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = TDG)
)
)
37的设置(client是自己,server是对方)
*.fal_client='master'
*.fal_server='slave'
47的设置(client是自己,server是对方)
*.fal_client='slave'
*.fal_server='master'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?