发布时间:2026-07-20阅读(2)
01
安装环境

备注:orcl1是一套Oracle RAC 集群中的一台服务器
02
安装前配置
1、IP地址配置
主库:192.168.2.15
备库:192.168.2.180
2、Oracle安装要求
主库:安装oracle 软件,并创建oracle 数据库
备库:仅安装oracle软件
3、安装位置
主库:/u01/app/oracle/product/11.2.0.4/db_1
备库:/u01/app/oracle/product/11.2.0.4/dbhome_1
数据库实例规划
主库:
实例名:orcl1数据库名orcl 数据库唯一名:orcl_rac
备库:
实例名:orcl数据库名 orcl 数据库唯一名:orcl_dg
Oracle Dataguard 要求主库和备库的数据库名字一样,即db_name要一样,
使用db_unique_name名字区分
03
安装过程
主库:
Select log_mode from v$database;

2、启用强制日志模式(mount 状态下修改)
主库:
Force_logging 为YES 代表数据库是强制日志模式。
3、配置standby 日志文件
主库:
增加standby 日志组(正常比online 日志多一组)alter database add standby logfile THREAD 1 group 5 DATA/orcl/onlinelog/group5_01.log size 50M;alter database add standby logfile thread 1 group 6 DATA/orcl/onlinelog/group6_01.log size 50M;alter database add standby logfile thread 1 group 7 DATA/orcl/onlinelog/group7_01.log size 50M;alter database add standby logfile thread 2 group 8 DATA/orcl/onlinelog/group8_01.log size 50M;alter database add standby logfile thread 2 group 9 DATA/orcl/onlinelog/group9_01.log size 50M;alter database add standby logfile thread 2 group 10 DATA/orcl/onlinelog/group10_01.log size 50M;--查询standby log 命令SELECT bytes,GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;--删除standby 的命令alter database drop standby logfile group 4;
4、配置监听(主库和备库)
使用netca配置监听。
下图是监听配置后的结果,监听正常。
主库:RAC 不用单独配置监听
备库:配置DG的时候,备份的数据库还无法open,所有要配置静态监听/u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/listener.ora
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orcl_dg)(ORACLE_HOME = /u01/app/oracle/product/11.2.0.4/dbhome_1)(SID_NAME = orcl)))LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.180)(PORT = 1521)))(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))))ADR_BASE_LISTENER = /u01/app/oracle/product/11.2.0.4/dbhome_1
启动监听:lsnrctl start
5、配置tnsnames文件(主库和备库)
ORCL_PRI 为主库的连接信息,orcl_std为备库的连接信息/u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin/tnsnames.ora
主库:
ORCL_PRI =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.2.15)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = orcl_rac)))ORCL_STD =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.180)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = orcl_dg)))
备库:
ORCL_PRI =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.2.15)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = orcl_rac)))ORCL_STD =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.180)(PORT = 1521))(CONNECT_DATA =(SERVICE_NAME = orcl_dg)))
6、tnsping (主库和备库)
确认主库和备库是否联通
主备库:tnsping ORCL_PRI
tnsping ORCL_STD
7、创建pfile并修改。
主库:
创建pfile ,修改pfile,生成spfile,并以spfile 启动数据库
alter system set DB_UNIQUE_NAME=orcl_rac scope=spfile sid=*;alter system set LOG_ARCHIVE_CONFIG=DG_CONFIG=(orcl_rac,orcl_dg) scope=both sid=*;alter system set LOG_ARCHIVE_DEST_1=LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl_rac scope=both sid=*;alter system set LOG_ARCHIVE_DEST_2=SERVICE=orcl_std ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_dg scope=both sid=*;#standbyalter system set FAL_SERVER=orcl_std scope=both sid=*;alter system set fal_client=orcl1 scope=both sid=orcl1;alter system set fal_client=orcl2 scope=both sid=orcl2;alter system set DB_FILE_NAME_CONVERT=/data/oradata/, DATA/orcl/datafile/,/data/oradata/, DATA/orcl/tempfile/ scope=spfile sid=*;alter system set LOG_FILE_NAME_CONVERT=/data/oradata/, DATA/orcl/onlinelog/ scope=spfile sid=*;alter system set STANDBY_FILE_MANAGEMENT=AUTO scope=both sid=*;
备库:
*.audit_file_dest=/u01/app/oracle/admin/orcl/adump*.audit_trail=db*.compatible=11.2.0.4.0*.control_files=/data/oradata/control01.ctl,/data/oradata/control02.ctl*.db_create_file_dest=/u01/app/oracle/oradata*.db_name=orcl*.diagnostic_dest=/u01/app/oracle*.db_recovery_file_dest=/data/oradata/fast_recovery_area*.db_recovery_file_dest_size=462107443200*.undo_tablespace=UNDOTBS1*.open_cursors=300*.pga_aggregate_target=200M*.processes=1500*.sessions=1655*.sga_target=420M*.db_unique_name=orcl_dg*.log_archive_config=DG_CONFIG=(orcl_dg,orcl_rac)*.log_archive_dest_1=location=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,all_roles) db_unique_name=orcl_dg*.log_archive_dest_2=SERVICE=orcl_pri ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl_pri*.log_file_name_convert= DATA/orcl/onlinelog/,/data/oradata/*.db_file_name_convert= DATA/orcl/datafile/,/data/oradata/, DATA/orcl/tempfile/,/data/oradata/*.fal_client=ORCL_STD*.fal_server=ORCL1,ORCL2*.standby_file_management=AUTO
创建相应的路径:
mkdir -p /u01/app/oracle/admin/orcl/adumpmkdir -p /data/oradata/mkdir -p /u01/app/oraclemkdir -p /data/oradata/fast_recovery_area
8、配置密码文件
将主库A的密码文件复制到备库和 主库B
scp orapworcl1 192.168.2.180:/u01/app/oracle/product/11.2.0.4/dbhome_1/dbsmv orapworcl1 orapworclscp orapworcl1 192.168.2.14:/u01/app/oracle/product/11.2.0.4/db_1/db
9、备库创建spfile ,并启动到nomount
export ORACLE_SID=orclSql> create spfile from pfile=/tmp/pfile.txt;
10、使用RMAN连接主备库,复制数据主库:使用RMAN 复制主库的控制文件和数据文件到备库
rman target sys/oracle@orcl_pri auxiliary sys/oracle@orcl_std
RMAN> duplicate target database for standby from active database nofilenamecheck dorecover;
11、打开备库,并开始同步数据备库:
Alter database open read only;alter database recover managed standby database using current logfile disconnect from session;
Copyright © 2024 有趣生活 All Rights Reserve吉ICP备19000289号-5 TXT地图HTML地图XML地图