Oracle数据库ADG搭建实施报告

Oracle数据库

ADG搭建实施报告

20236

修改历史

日期

版本号

作者

修改说明

更改请求号

注释:“变更请求号”为文档正式发布后需要变更时的编号。

审阅

姓名

日期

备注

分发

公司

姓名

日期

备注

目录

1 概述

2 实施步骤

2.1 基本信息

2.2 准备工作

2.2.1 RMAN备份主库

2.2.2 备份文件传输至备库

2.2.3 添加tnsnames.ora文件信息

2.2.4 配置静态监听

2.2.5 拷贝密码文件

2.2.6 配置hosts

2.3 主库检查

2.3.1 是否安装相关组件

2.3.2 FORCE_LOGGING模式

2.3.3 归档模式

2.3.4 remote_login_passwordfile配置

2.4 修改参数文件

2.4.1 修改主库参数

2.4.2 修改备库参数

2.5 创建并恢复备库实例

2.5.1 恢复参数文件

2.5.2 恢复控制文件

2.5.3 恢复数据库

2.6 创建standby redo

2.6.1 查看主库日志文件大小

2.6.2 创建standby日志组

2.6.3 备库介质恢复

2.6.4 开启日志投递

2.7 同步状态检查

2.7.1 查看备库警告日志

2.7.2 mrp进程状态检查

2.7.3 外部归档文件处理

2.7.4 日志接收与同步检查

2.7.5 延迟查询

2.8 DG_BLOCK配置

2.8.1 配置监听

2.8.2 修改配置参数

2.8.3 配置DG_BLOCK

1概述

本文档为RAC TO 单节点的数据库ADG搭建实施手册。

2实施步骤

2.1 基本信息

(如下是idmdb主、备库基本信息)主库使用两节点RAC,备库使用单节点进行搭建ADG,具体信息如下表格:

DB类型

主机名

DB_NAME

DB_UNIQUE_NAME

INSTANCE

ASM DG

主库

CRPLDAPDB01

Idmdb

Idmdb

Idmdb 1

DATA, +DATA/arch

CRPLDAPDB02

Idmdb2

备库

dg-ldapdb

Idmdb

dg_ldapdb

dg_ldapdb

 灾备网络地址

主机

灾备IP

灾备VIP

CRPLDAPDB01

10.59.1.42

10.59.1.41

CRPLDAPDB02

10.59.1.44

10.59.1.43

dg-ldapdb

10.61.0.230

2.2 准备工作

备注:无特殊说明所有操作均在备库服务器上

2.2.1 RMAN备份主库

备注:主库端操作

  1. 查看数据库大小
  2. 编写脚本进行全库备份 

SQL> SELECT SUM(DS.BYTES)/1024/1024/1024 "SIZE(G)" FROM DBA_SEGMENTS ds;

   SIZE(G)

----------

134.760681

idmdb1:/backup/fullback20200103@CRPLDAPDB01> vi fullbak.sh

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME

ORACLE_SID=idmdb1; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

export NLS_LANG=AMERICAN_CHINA.AL32UTF8

TMPDIR=/var/tmp; export TMPDIR

NLS_DATE_FORMAT="YYYY/MM/DD hh24:mi:ss"; export NLS_DATE_FORMAT

TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN DISPLAY

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

PATH=$PATH:$ORACLE_HOME/bin:/usr/sbin; export PATH

PS1=[`hostname`:$ORACLE_SID:\$PWD$]

BACKUP_DIR=/backup/fullback20200103

rman target / log $BACKUP_DIR/rman_db_full_$(date +%Y%m%d).log<<EOF

run{

allocate channel c1 device type disk;

allocate channel c2 device type disk;

allocate channel c3 device type disk;

CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO COMPRESSED BACKUPSET;

configure channel device type disk maxpiecesize 4G;

BACKUP FORMAT='/backup/fullback20200103/data_%U_%T.dbf' DATABASE;

BACKUP SPFILE FORMAT '/backup/fullback20200103/spfile_%U_%T.ora';

backup current controlfile for standby format'/backup/fullback20200103/ctl_stand_con.ctl';

release channel c1;

release channel c2;

release channel c3;

}

EOF

idmdb1:/backup/fullback20200103@CRPLDAPDB01>chmod 755 fullbak.sh

idmdb1:/backup/fullback20200103@CRPLDAPDB01> nohup sh fullbak.sh > fullbak.log &

2.2.2备份文件传输至备库

备注:主库端操作

将全库备份通过灾备复制网络传输至备库服务器的/home/oracle/backup目录中。

2.2.3添加tnsnames.ora文件信息

  1. 配置主备端三个节点的tnsnames.ora,添加如下信息:

IDMDB =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.59.1.45)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.59.1.42)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.59.1.44)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME =idmdb)

     )

  )

dg_ldapdb =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = 10.61.0.230)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME =dg_ldapdb)

     )

  )

#以上已添加可通过lsnrctl status查看状态

2.2.4配置静态监听

LISTENER=

  (DESCRIPTION=

    (ADDRESS_LIST=

      (ADDRESS=(PROTOCOL=tcp)(HOST=10.61.0.230)(PORT=1521))))     

SID_LIST_LISTENER=

  (SID_LIST=

    (SID_DESC=

      (GLOBAL_DBNAME=dg_ldapdb)           

      (ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)     

      (SID_NAME=dg_ldapdb)))

2.2.5 拷贝密码文件

  1. 在备库端将主库传输过来的口令文件拷贝到$ORACLE_HOME/dbs下并重命名:

scp orapwidmdb1 oracle@10.61.0.230:$ORACLE_HOME/dbs/orapwdg_ldapdb

2.2.6配置hosts

vi /etc/hosts 

10.61.0.230 dg-ldapdb

2.3主库检查

备注:主库端操作

2.3.1 是否安装相关组件

SQL> SELECT * FROM V$OPTION WHERE PARAMETER in ('Oracle Data Guard', 'Advanced Compression');

PARAMETER             VALUE

------------------------------- ----------

Oracle Data Guard     TRUE

Advanced Compression TRUE

2.3.2  FORCE_LOGGING模式

select  force_logging  from v$database;

(开启:alter database force logging;)

2.3.3 归档模式

SQL> archive log list

Database log mode        Archive Mode

Automatic archival        Enabled

Archive destination        +DATA/arch

Oldest online log sequence     3545

Next log sequence to archive   3547

Current log sequence        3547

2.3.4 remote_login_passwordfile配置

show parameter remote_login_passwordfile

(remote_login_passwordfile应为EXCLUSIVE)

2.4 修改参数文件

2.4.1 修改主库参数

备注:主库端操作

修改主库参数

alter system set log_archive_config='dg_config=( idmdb, dg_ldapdb)' scope=both  sid='*';

alter system set log_archive_dest_state_2='defer' scope=both sid='*';

#等备库实例启动,再开启enabled

alter system set log_archive_dest_2='service=dg_ldapdb LGWR ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 net_timeout=30 valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=dg_ldapdb' sid='*' scope=both;

alter system set fal_client=' idmdb' scope=both sid='*';

alter system set fal_server=' dg_ldapdb'  scope=both sid='*';

alter system set standby_file_management=AUTO scope=both sid='*';

alter system set log_archive_max_processes = 8 scope=both sid='*';

2.4.2 修改备库参数

  1. 修改备库参数文件
  2. 创建文件夹
  3. 注意参数文件修改与核对
  4. 注意两个节点的口令文件的权限,位置和命名orapw dg_ldapdb
  5. tnsping idmdb检查网络服务名是否ping通

[oracle@dg-ldapdb dbs]$ cat initdg_ldapdb.ora

*.aq_tm_processes=1

*.audit_file_dest='/u01/app/oracle/admin/dg_ldapdb/adump'

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/u01/app/oracle/oradata/dg_ldapdb/current01.ctl','/u01/app/oracle/oradata/dg_ldapdb/current02.ctl'#Restore Controlfile

*.db_block_size=8192

*.db_cache_size=6453M

*.db_create_file_dest='/u01/app/oracle/oradata/dg_ldapdb'

*.db_domain=''

*.db_name='idmdb'

*.db_unique_name='dg_ldapdb'

*.db_recovery_file_dest='/u01/app/oracle/flashback'

*.db_recovery_file_dest_size=10g

*.dg_broker_start=FALSE

*.diagnostic_dest='/u01/app/oracle'

#*.dispatchers='(PROTOCOL=TCP) (SERVICE=dg_ldapdbXDB)'

*.fal_client='dg_ldapdb'

*.fal_server='idmdb'

*.java_jit_enabled=TRUE

*.job_queue_processes=1000

*.large_pool_size=698M

*.log_archive_config='dg_config=(idmdb,dg_ldapdb)'

*.log_archive_dest_1='location=/arch'

*.log_archive_dest_2='service=idmdb LGWR ASYNC NOAFFIRM delay=0 optional compression=disable max_failure=0 max_connections=1 reopen=300 net_timeout=30 valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=idmdb'

*.log_archive_dest_state_2='enable'

*.log_archive_format='%t_%s_%r.dbf'

*.log_archive_max_processes=8

*.log_archive_min_succeed_dest=1

*.log_archive_trace=0

*.nls_territory='CHINA'

*.open_cursors=1000

*.pga_aggregate_target=2g

*.processes=1200

*.query_rewrite_enabled='TRUE'

*.query_rewrite_integrity='TRUSTED'

*.remote_login_passwordfile='exclusive'

*.sessions=1325

*.sga_max_size=5g

*.standby_file_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.db_file_name_convert='+DATA/idmdb','/u01/app/oracle/oradata/dg_ldapdb'

*.log_file_name_convert='+DATA/idmdb,'/u01/app/oracle/oradata/dg_ldapdb'

Mkdir -p  /u01/app/oracle/admin/dg_ldapdb/adump

mkdir -p /u01/app/oracle/oradata/dg_ldapdb

mkdir -p /arch

mkdir -p /u01/app/oracle/flashback

mkdir -p /u01/app/oracle/oradata/dg_ldapdb/datafile

mkdir -p /u01/app/oracle/oradata/dg_ldapdb/onlinelog

2.5 创建并恢复备库实例

2.5.1 恢复参数文件

sqlplus / as sysdba

SQL> create spfile from pfile;

SQL> startup nomount

#检查数据库是否使用spfile启动及参数:

show parameter spfile

show parameter name

show parameter standby

show parameter cluster

show parameter listerner

show parameter fal

show parameter manage

show parameter convert

show parameter log

2.5.2 恢复控制文件

rman target /

RMAN> restore standby controlfile from '/home/oracle/backup/fullback20200103/ctl_stand_con.ctl';

RMAN> alter database mount;

2.5.3 恢复数据库

  1. restore database

RMAN> catalog start with '/home/oracle/backup/fullback20200103';

RMAN> crosscheck backupset;

RMAN> delete noprompt expired backup;

RMAN> restore database;

2.6创建standby redo

2.6.1 查看主库日志文件大小

备注:主/备库端操作

col group# for 99

col thread# for 99

col member for 99

col bytes for 99999999

col status for a10

col type for a20

set linesize 200

set pagesize 100

SELECT L.GROUP#, L.THREAD#, LF.MEMBER, L.BYTES/1024/1024, L.STATUS, LF.TYPE

  FROM V$LOG L, V$LOGFILE LF

 WHERE L.GROUP# = LF.GROUP#;

2.6.2 创建standby日志组

备注:若数据库已经有standby log的信息,主备库可不用重新删除添加。即忽略该步骤。以下为主备库均无standby log情况下操作。

  1. 添加主备库端两节点的standby日志组

主库:

alter database add standby logfile thread 1 group 13 ('+DATA','+DATA') size 200m;

alter database add standby logfile thread 2 group 14 ('+DATA','+DATA') size 200m;

备库:

alter database add standby logfile thread 1 group 7 ('/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby07a.log','/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby07b.log') size 200m;

alter database add standby logfile thread 1 group 8 ('/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby08a.log','/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby08b.log') size 200m;

alter database add standby logfile thread 1 group 9 ('/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby09a.log','/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby09b.log') size 200m;

alter database add standby logfile thread 2 group 10 ('/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby10a.log','/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby10b.log') size 200m;

alter database add standby logfile thread 2 group 11 ('/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby11a.log','/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby11b.log') size 200m;

alter database add standby logfile thread 2 group 12 ('/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby12a.log','/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby12b.log') size 200m;

alter database add standby logfile thread 1 group 13 ('/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby13a.log','/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby13b.log') size 200m;

alter database add standby logfile thread 2 group 14 ('/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby14a.log','/u01/app/oracle/flashback/DG_LDAPDB/onlinelog/standby14b.log') size 200m;

2.6.3 备库介质恢复

alter database recover managed standby database using current logfile

disconnect from session nodelay;

2.6.4 开启日志投递

备注:主库端操作

alter system set log_archive_dest_state_3='enable' scope=both sid='*';

alter system switch logfile;

2.7同步状态检查

2.7.1 查看备库警告日志

tail -100f alersid.log

2.7.2 mrp进程状态检查

select inst_id,process,status,thread#,sequence#,block# from gv$managed_standby where PROCESS like 'MRP%';

2.7.3 外部归档文件处理

注意:外部存档日志文件空间,如空间不足请及时删除(文档 ID 1617965.1)

SQL>select * from V$FLASH_RECOVERY_AREA_USAGE;

RMAN>delete foreign archivelog all;

2.7.4 日志接收与同步检查

主库:

select thread#,max(sequence#) "Last Primary Seq Generated" from v$archived_log val,v$database vdb where val.resetlogs_change#=vdb.resetlogs_change# group by thread# order by 1;

备库:

-- 检查备库已经接收到的 sequence# 号

select thread#,max(sequence#) "Last Standby Seq Received" from v$archived_log val,v$database vdb where val.resetlogs_change#=vdb.resetlogs_change# group by thread# order by 1;

-- 检查备库已经应用到的 sequence# 号

select thread#,max(sequence#) "Last Standby Seq Applied" from v$archived_log val,v$database vdb where val.resetlogs_change#=vdb.resetlogs_change# and val.applied in ('YES','IN-MEMORY') group by thread# order by 1;

2.7.5 延迟查询

select name,value from v$dataguard_stats;

2.8  DG_BLOCK配置

2.8.1 配置监听

主库:

vi /u01/app/11.2.0/grid_1/network/admin/listener.ora

--Primary Node1

SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=idmdb1)(GLOBAL_DBNAME=idmdb__DGMGRL)(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)))

--Primary Node2

SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=idmdb2)(GLOBAL_DBNAME=idmdb__DGMGRL)(ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)))

备库:

LISTENER=

  (DESCRIPTION=

    (ADDRESS_LIST=

      (ADDRESS=(PROTOCOL=tcp)(HOST=10.61.0.230)(PORT=1521))))     

SID_LIST_LISTENER=

  (SID_LIST=

    (SID_DESC=

      (GLOBAL_DBNAME=dg_ldapdb)           

      (ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)     

      (SID_NAME=dg_ldapdb))

    (SID_DESC=

      (GLOBAL_DBNAME=dg_ldapdb_DGMGRL)           

      (ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1)     

      (SID_NAME=dg_ldapdb)))

2.8.2 修改配置参数

主库:

ALTER SYSTEM SET DG_BROKER_CONFIG_FILE1='+data/IDMDB/DATAGUARDCONFIG/dgb_config1.ora' SCOPE=BOTH sid='*';

ALTER SYSTEM SET DG_BROKER_CONFIG_FILE2='+data/IDMDB/DATAGUARDCONFIG2/dgb_config1.ora' SCOPE=BOTH sid='*';

alter system set dg_broker_start=true scope=both sid='*';

备库:

alter system set dg_broker_start=true scope=both sid='*';

2.8.3 配置DG_BLOCK

SQL> dgmgrl sys/oracle

在dgmgrl下创建配置:

DGMGRL> CREATE CONFIGURATION idmdb AS PRIMARY DATABASE IS 'idmdb' CONNECT IDENTIFIER IS 'idmdb';

DGMGRL> ADD DATABASE 'dg_ldapdb' AS CONNECT IDENTIFIER IS 'dg_ldapdb';

DGMGRL> SHOW CONFIGURATION;

Configuration - idmdb

  Protection Mode: MaxPerformance

  Databases:

    idmdb     - Primary database

    dg_ldapdb - Physical standby database

Fast-Start Failover: DISABLED

Configuration Status:

SUCCESS

DGMGRL> show database verbose idmdb;

Database - idmdb

  Role:            PRIMARY

  Intended State:  TRANSPORT-ON

  Instance(s):

    idmdb1

    idmdb2

  Properties:

    DGConnectIdentifier             = 'idmdb'

    ObserverConnectIdentifier       = ''

    LogXptMode                      = 'ASYNC'

    DelayMins                       = '0'

    Binding                         = 'optional'

    MaxFailure                      = '0'

    MaxConnections                  = '1'

    ReopenSecs                      = '300'

    NetTimeout                      = '30'

    RedoCompression                 = 'DISABLE'

    LogShipping                     = 'ON'

    PreferredApplyInstance          = ''

    ApplyInstanceTimeout            = '0'

    ApplyParallel                   = 'AUTO'

    StandbyFileManagement           = 'AUTO'

    ArchiveLagTarget                = '0'

    LogArchiveMaxProcesses          = '8'

    LogArchiveMinSucceedDest        = '1'

    DbFileNameConvert               = ''

    LogFileNameConvert              = ''

    FastStartFailoverTarget         = ''

    InconsistentProperties          = '(monitor)'

    InconsistentLogXptProps         = '(monitor)'

    SendQEntries                    = '(monitor)'

    LogXptStatus                    = '(monitor)'

    RecvQEntries                    = '(monitor)'

    ApplyLagThreshold               = '0'

    TransportLagThreshold           = '0'

    TransportDisconnectedThreshold  = '30'

    SidName(*)

    StaticConnectIdentifier(*)

    StandbyArchiveLocation(*)

    AlternateLocation(*)

    LogArchiveTrace(*)

    LogArchiveFormat(*)

    TopWaitEvents(*)

    (*) - Please check specific instance for the property value

Database Status:

SUCCESS

DGMGRL> SHOW DATABASE VERBOSE dg_ldapdb;

Database - dg_ldapdb

  Role:            PHYSICAL STANDBY

  Intended State:  APPLY-ON

  Transport Lag:   0 seconds (computed 0 seconds ago)

  Apply Lag:       0 seconds (computed 0 seconds ago)

  Apply Rate:      647.00 KByte/s

  Real Time Query: ON

  Instance(s):

    dg_ldapdb

  Properties:

    DGConnectIdentifier             = 'dg_ldapdb'

    ObserverConnectIdentifier       = ''

    LogXptMode                      = 'ASYNC'

    DelayMins                       = '0'

    Binding                         = 'OPTIONAL'

    MaxFailure                      = '0'

    MaxConnections                  = '1'

    ReopenSecs                      = '300'

    NetTimeout                      = '30'

    RedoCompression                 = 'DISABLE'

    LogShipping                     = 'ON'

    PreferredApplyInstance          = ''

    ApplyInstanceTimeout            = '0'

    ApplyParallel                   = 'AUTO'

    StandbyFileManagement           = 'auto'

    ArchiveLagTarget                = '0'

    LogArchiveMaxProcesses          = '8'

    LogArchiveMinSucceedDest        = '1'

    DbFileNameConvert               = '+DATA/idmdb, /u01/app/oracle/oradata/dg_ldapdb'

    LogFileNameConvert              = '+DATA/idmdb,/u01/app/oracle/oradata/dg_ldapdb'

    FastStartFailoverTarget         = ''

    InconsistentProperties          = '(monitor)'

    InconsistentLogXptProps         = '(monitor)'

    SendQEntries                    = '(monitor)'

    LogXptStatus                    = '(monitor)'

    RecvQEntries                    = '(monitor)'

    ApplyLagThreshold               = '0'

    TransportLagThreshold           = '0'

    TransportDisconnectedThreshold  = '30'

    SidName                         = 'dg_ldapdb'

    StaticConnectIdentifier         = '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dg-ldapdb)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=dg_ldapdb_DGMGRL)(INSTANCE_NAME=dg_ldapdb)(SERVER=DEDICATED)))'

    StandbyArchiveLocation          = '/arch'

    AlternateLocation               = ''

    LogArchiveTrace                 = '0'

    LogArchiveFormat                = '%t_%s_%r.dbf'

    TopWaitEvents                   = '(monitor)'

Database Status:

SUCCESS

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: Oracle数据库ADG(Active Data Guard)是Oracle数据库的一项高可用性和灾备解决方案。ADG可以在主数据库和一个或多个物理备份数据库之间实现实时数据同步,从而提供了高可用性和灾备保护。 首先,ADG通过将主数据库的重做数据流传输到备份数据库实现数据同步。这个过程可以实时地复制主数据库的所有更改操作,并确保备份数据库始终与主数据库保持同步。 其次,ADG还提供了一些高可用性功能,例如自动故障切换(Automatic Failover)。这意味着,如果主数据库出现故障,ADG可以自动将备份数据库切换为活动数据库,从而继续提供服务,而不需要手动干预。 此外,ADG还提供了读取一致性的读取功能。备份数据库数据是与主数据库相同的,可以实现对备份数据库的读取操作,同时仍然保持数据的一致性。 需要指出的是,ADG并不是免费的。它是Oracle数据库的一个高级特性,需要购买和许可。此外,为了实现ADG,还需要配置并管理物理备份数据库,而这可能需要额外的硬件和维护成本。 总的来说,Oracle数据库ADG是一项强大的高可用性和灾备解决方案。它可以实现实时数据同步,提供故障切换和读取一致性等功能,以提供更高的数据库可用性和保护。然而,由于其需要购买和配置物理备份数据库,以及附加的成本,使用ADG需要仔细评估和权衡成本和收益。 ### 回答2: Oracle数据库ADG(Active Data Guard)是Oracle数据库的一项高可用性解决方案,它可以通过物理复制技术实现实时的数据保护和灾难恢复能力。 ADG通过将数据库的主库数据实时复制到一个或多个备库,确保数据的冗余和高可用性。备库可以位于相同的数据心,也可以分布在不同的地理位置,以实现跨数据心的灾难恢复。备库不仅可以用于灾难恢复,还可以作为查询、报表等只读用途的数据库,提供更好的性能和扩展能力。 ADG具有以下特点和优势: 1. 冗余性:通过实时复制,备库拥有与主库相同的数据,可以在主库不可用时提供数据的持续访问。 2. 实时复制:ADG使用Oracle的Redo Apply技术,实现了主库和备库之间的实时数据同步,可以减少数据丢失和恢复时间。 3. 可读性:ADG备库可以被配置为只读模式,可以用于运行查询和报表,减轻主库的负载,提供更好的性能和扩展能力。 4. 快速故障切换:当主库发生故障时,ADG可以自动将备库切换为主库,实现快速的故障转移和恢复。 5. 跨数据心复制:ADG支持在不同的数据心之间进行数据复制,实现跨地理位置的灾难恢复。 总结来说,Oracle数据库ADG是一种高可用性的解决方案,通过实时数据复制和灾难恢复策略,确保数据库数据冗余和持续可用性。它提供可读的备库,提升性能,并支持跨数据心的灾难恢复。 ### 回答3: Oracle数据库ADG是指可用性高级管理(Active Data Guard),它是Oracle数据库的企业级高可用解决方案之一。 ADG的核心功能是数据库的灾难恢复和故障转移。它通过将实时数据复制到远程站点,以保证在主库发生故障时可以快速切换到备库,从而实现数据库的高可用性。 ADG的主要特点和优势有以下几点: 1. 实时数据复制:ADG支持实时数据复制,备库可以随时与主库保持同步,确保数据的一致性和完整性。 2. 延迟低:ADG数据复制具有低延迟特性,数据同步速度快,可以提供高效的数据保护和恢复能力。 3. 自动故障切换:一旦主库发生故障,ADG可以自动切换到备库,让用户无感知地继续访问数据库,大大减少业务断时间。 4. 高可扩展性:ADG支持跨不同平台的数据库复制,可以在异地或远程的备库上建立数据心,提高系统的可扩展性和灵活性。 5. 数据库性能优化:ADG可以利用备库处理一些查询操作,减轻主库的负载,提高数据库的性能和响应速度。 总之,Oracle数据库ADG是一种可靠的高可用性方案,它通过实时数据复制和自动切换机制,能够最大程度地降低数据库故障对业务的影响,确保数据库的持续可用性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

红尘︶炼心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值