11g dg 快速搭建命令 修改备库参数文件 INITerps.ORA 参数进行主备互换(注意 db_name 保持一致)
1、开启强制归档
alter database force logging;
2、开启归档
SQL> alter system set db_recovery_file_dest_size=5g;
SQL> alter system set db_recovery_file_dest='C:\app\Administrator\archive';
SQL> shutdown immediate;
SQL> startup mount;
SQL> alter database archivelog;
SQL> alter database open;
3. alter system set standby_file_management='auto';
如果设置为auto,主库增删文件dbf 表空间等会相应地自动在备库做出修改(结合convert参数);
如果设置为manual,当在primary删除表空间或数据文件,执行drop tablespace .. including contents and datafiles,
standby 只是在控制文件中将该文件删除,还需要手动将物理文件删除
4 添加log
alter database add standby logfile group 11 '/opt/oracle/app/oradata/orcl/' size 50m;
alter database add standby logfile group 12 '/opt/oracle/app/oradata/orcl/' size 50m;
alter database add standby logfile group 13 '/opt/oracle/app/oradata/orcl/' size 50m;
alter database add standby logfile group 14 '/opt/oracle/app/oradata/orcl/' size 50m;
- #由于主库有三组ORLs,在创建SRLs的时候若不指定组数,默认会是4-7,那么后续在主库添加日志组的话就会产生混乱,故从第11组开始配置standby redo logfiles。
#还有就是当主库多实例的时候,备库也要配置上多个thread,目的是为了能开启real time apply,但是如果备库只创建了thread 1,并不会影响archive log的传输和应用,但是备库并不会采用real time apply,主库online redo无法做到实时传输应用,只在归档切换后备库才会应用。
5.主库参数文件
CONTROL_FILES='/opt/oracle/app/oradata/orcl/control01.ctl', '/opt/oracle/app/oracle/fast_recovery_area/orcl/control02.ctl'
CONTROL_FILES='/opt/oracle/app/oradata/orcl/control01.ctl', '/opt/oracle/app/oracle/fast_recovery_area/orcl/control02.ctl'
DB_UNIQUE_NAME='einvo'
DB_UNIQUE_NAME='einvo'
LOG_ARCHIVE_DEST_1='LOCATION=/opt/oracle/app VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
DB_UNIQUE_NAME=einvo'
LOG_ARCHIVE_DEST_2='SERVICE=einvo_dg LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=einvodg'
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT='%t_%s_%r.arc'
einvo
LOG_ARCHIVE_DEST_2='SERVICE=einvo_dg LGWR SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
DB_UNIQUE_NAME=einvodg'
einvo_dg LGWR
einvo_dg
einvo_
einvodg
einvo
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT='%t_%s_%r.arc'
LOG_ARCHIVE_FORMAT='%t_%s_%r.arc'
FAL_SERVER=einvo_dg
einvo_dg
einvo_dg
einvo_dg
einvo_
einvo
einvo
einvo
einvo
einvo
DB_FILE_NAME_CONVERT='/opt/oracle/app/oradata','/opt/oracle/app/oradata'
LOG_FILE_NAME_CONVERT='/opt/oracle/app/oradata/orcl/','/opt/oracle/app/oradata/einvodg/'
DB_FILE_NAME_CONVERT='/opt/oracle/app/oradata','/opt/oracle/app/oradata'
LOG_FILE_NAME_CONVERT='/opt/oracle/app/oradata/orcl/','/opt/oracle/app/oradata/einvodg/'
DB_FILE_NAME_CONVERT='/opt/oracle/app/oradata','/opt/oracle/app/oradata'
LOG_FILE_NAME_CONVERT='/opt/oracle/app/oradata/orcl/','/opt/oracle/app/oradata/einvodg/'
DB_FILE_NAME_CONVERT='/opt/oracle/app/oradata','/opt/oracle/app/oradata'
LOG_FILE_NAME_CONVERT='/opt/oracle/app/oradata/orcl/','/opt/oracle/app/oradata/einvodg/'
LOG_FILE_NAME_CONVERT='/opt/oracle/app/oradata/orcl/','/opt/oracle/app/oradata/einvodg/'
DB_UNIQUE_NAME='einvo'
必须和备库不一样,该值必须同时存在于LOG_ARCHIVE_CONFIG与LOG_ARCHIVE_DEST_n参数中,DG间才能互相通信
LOG_ARCHIVE_CONFIG='DG_CONFIG=(
einvo
,einvo
dg)'- 该参数通过DG_CONFIG属性罗列同一个Data Guard中所有DB_UNIQUE_NAME(含primary db及standby db),以逗号分隔。
主库和备库相同 CONTROL_FILES='/opt/oracle/app/oradata/orcl/control01.ctl', '/opt/oracle/app/oracle/fast_recovery_area/orcl/control02.ctl'
LOG_ARCHIVE_DEST_1= 'LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=
einvo
'- 归档文件的生成路径,location代表本地机上,service指明在另一台机器上。
LOG_ARCHIVE_DEST_2= 'SERVICE=
SYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=
LGWReinvo_
dg
'einvo
dg
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
- EXCLUSIVE:(默认值)独占模式使用密码文件,官档中提到了“only one instance of one database”使用exclusive方式,在数据库中是可以执行对于sysdba用户的增加,修改,删除动作的,同样也可以修改sysdba用户的密码,这些更改会记录到密码文件中去。
LOG_ARCHIVE_FORMAT='%t_%s_%r.arc'
- 指定归档文件格式,这里在主备端应保持一样的格式。
%t -thread number
%s -log sequence number
%r -resetlogs ID - 一下两个参数备库上相反
FAL_SERVER=
einvo_
dg- FAL_CLIENT=
einvo
- 主库设置,主要是切换后使用。
- 备库设置,主要是备库发生gap。次参数来从主库fal_server取日志用的
- FAL_SERVER = Oracle_Net_service_name
DB_FILE_NAME_CONVERT='/u01/app/oracle/app/oradata','/opt/oracle/app/oradata'
- 主库配置对主库起作用,切换后把备库文件夹传
/u01/app/oracle/app/oradata
到主库相应文件中/opt/oracle/app/oradata
LOG_FILE_NAME_CONVERT='/opt/oracle/app/oradata/orcl/','/opt/oracle/app/oradata/einvodg/'
/opt/oracle/app/oradata/orcl/users01.dbf
/opt/oracle/app/oradata/orcl/undotbs01.dbf
/opt/oracle/app/oradata/orcl/sysaux01.dbf
/opt/oracle/app/oradata/orcl/system01.dbf
/opt/oracle/app/oradata/SAAS_BASIC_TBS_01.dbf
/opt/oracle/app/oradata/SAAS_BASIC_INDEX_TBS_01.dbf
/opt/oracle/app/oradata/SAAS_BUS_TBS_01.dbf
/opt/oracle/app/oradata/SAAS_BUS_INDEX_TBS_01.dbf
/opt/oracle/app/oradata/SAAS_BUS_TBS_2021_01.dbf
/opt/oracle/app/oradata/SAAS_BUS_TBS_2022_01.dbf
/opt/oracle/app/oradata/SAAS_BUS_TBS_2023_01.dbf
/opt/oracle/app/oradata/SAAS_BUS_INDEX_TBS_2021_01.dbf
/opt/oracle/app/oradata/SAAS_BUS_INDEX_TBS_2022_01.dbf
/opt/oracle/app/oradata/SAAS_BUS_INDEX_TBS_2023_01.dbf
主库的日志
/opt/oracle/app/oradata/orcl/redo03.log
/opt/oracle/app/oradata/orcl/redo02.log
/opt/oracle/app/oradata/orcl/redo01.log
备库参数文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!