关于oracle adg & db2 的配置步骤精简提炼?

相信每一个配置过ADG或者db2 hadr的兄弟们都会有自己总结的一份步骤提炼,都有自己总结的一份关于坑的标注,所有人的提炼和记录将能帮助大家总结成一份实实在在的提炼手册。欢迎大家各自表达一些观点。

参与13

3同行回答

haizdlhaizdl技术经理大连
Oracle ADG 配置精简参考例:环境说明PDBarydb = pdbstandbydb = sdbracstep1object = pdbSQL> ALTER DATABASE FORCE LOGGING;oracle@$ srvctl stop database -d pdboracle@$ srvctl start database -d pdb -o mountSQL> ALTER DATABASE ARCHIVELOG;step2object = p...显示全部

Oracle ADG 配置精简参考例:

  • 环境说明

    PDBarydb = pdb
    standbydb = sdb
    rac


  • step1
  • object = pdb

    SQL> ALTER DATABASE FORCE LOGGING;

oracle@$ srvctl stop database -d pdb
oracle@$ srvctl start database -d pdb -o mount
SQL> ALTER DATABASE ARCHIVELOG;


  • step2
  • object = pdb

    SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP X '+FRA' size 500m;
    ...


  • step3
  • object = pdb

    SQL> ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(PDB,SDB)';
    SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=PDB';
    SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=SDB LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PDBARY_ROLE) DB_UNIQUE_NAME=SDB';
    SQL> ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE;
    SQL> ALTER SYSTEM SET FAL_SERVER=SDB;
    SQL> ALTER SYSTEM SET FAL_CLIENT=PDB;
    SQL> ALTER SYSTEM SET DB_FILE_NAME_CONVERT='+DATA/SDB/DATAFILE','+DATA/PDB/DATAFILE' SCOPE=SPFILE;
    SQL> ALTER SYSTEM SET LOG_FILE_NAME_CONVERT='+DATA/SDB/ONLINELOG','+DATA/PDB/ONLINELOG' SCOPE=SPFILE;


  • step4
  • object = pdb

    RMAN> run
    {
    allocate channel c1 type disk;
    allocate channel c2 type disk;
    backup database format '/u01/app/oracle/databases/stage/%U';
    backup archivelog all format '/u01/app/oracle/databases/stage/%U';
    backup current controlfile for standby format '/u01/app/oracle/databases/stage/%U';
    }


  • step5
  • object = pdb

    SQL>create pfile='/u01/app/oracle/databases/PDB/stage/initPDB.ora' from spfile;
    oracle@$ scp /u01/app/oracle/databases/PDB/stage/initPDB.ora oracle@SDB:/u01/app/oracle/databases/SDB/stage/


  • step6
  • object = pdb & sdb

    PDB =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = pdb.example.cn )(PORT = 1521))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = PDB)
    )
    )

SDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = sdb.example.cn )(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = SDB)
)
)


  • step7
  • object = sdb@initSDB.ora

    DB_NAME=PDB
    DB_UNIQUE_NAME=SDB
    LOG_ARCHIVE_CONFIG='DG_CONFIG=(PDB,SDB)'
    LOG_ARCHIVE_DEST_1='LOCATION=+FRA/SDB/REDO/ VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=SDB'
    LOG_ARCHIVE_DEST_2='SERVICE=PDB LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PDBARY_ROLE) DB_UNIQUE_NAME=PDB'
    LOG_ARCHIVE_DEST_STATE_1=ENABLE
    DB_FILE_NAME_CONVERT='+DATA/PDB/DATAFILE','+DATA/SDB/DATAFILE'
    LOG_FILE_NAME_CONVERT='+DATA/PDB/ONLINELOG','+DATA/SDB/ONLINELOG'
    REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
    STANDBY_ARCHIVE_DEST=''+FRA/SDB/ARCH/'
    STANDBY_FILE_MANAGEMENT=AUTO
    FAL_CLIENT=SDB
    FAL_SERVER=PDB


  • step8
  • object = pdb

    oracle@$ scp /u01/app/oracle/dbs/opapwPDB1 sdb.example.cn:/u01/app/oracle/dbs/


  • step9
  • object = sdb

    oracle@$ cd /u01/app/oracle/dbs/
    oracle@$ mv orapwPDB orapwSDB

oracle@$ cd /u01/app/oracle/databases/SDB
oracle@$ mkdir data redo oradata stage udump bdump cdump

SQL>create spfile from pfile='/u01/app/oracle/databases/stage/initSDB.ora';
SQL>start nomount;


  • step10
  • object = pdb

    sql> alter system archive log current;


  • step11
  • object = sdb

    oracle@$ RMAN target sys/<password>@PDB auxiliary /
    RMAN> duplicate target database for standby dorecover;
    SQL> sqlplus / as sysdba
    SQL> startup
    SQL> alter database recover managed standby database disconnect;


  • step12
  • object = pdb

    SQL> alter system set log_archive_dest_state_2=enable;


  • Verify

    STANDBY:
    SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

PRIMARY:
SQL> ALTER SYSTEM SWITCH LOGFILE;

STANDBY:
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

收起
银行 · 2017-06-28
浏览2900
iSamdxiSamdx数据库管理员银行
DB2的Hadr主要有以下步骤1.备端环境搭建,要关注主备端的资源和用户等配置的一致性,特别是一些应用用户密码,过期策略之类。配置services和hosts文件等解析相关的配置,配置db2set等。2.主端备份,备端恢复,备端恢复结束应出于rollforward的状态。3.配置数据库hadr相关参数,主要是...显示全部

DB2的Hadr主要有以下步骤
1.备端环境搭建,要关注主备端的资源和用户等配置的一致性,特别是一些应用用户密码,过期策略之类。配置services和hosts文件等解析相关的配置,配置db2set等。
2.主端备份,备端恢复,备端恢复结束应出于rollforward的状态。
3.配置数据库hadr相关参数,主要是主机,实例和端口,选择合适的同步方式
4.先起备端hadr为standby,后起主端hadr为primary。启动成功则ok
5.如应用对主备库的访问切换不是通过网络设备,如F5,ACE,则需在主备端配置alternate server

收起
银行 · 2017-06-29
浏览2486
zengmuanshazengmuansha数据库架构师海鲨科技
做ADG 关键的不是后续而是前传把网络名称,DG_CONFIG,TNSNAME.ORA LISTER.ORA 监听都联通就好了另外就是SYS密码主备要一致其他的就很简单了主库设置成强制归档模式在设置下LOG_ARCHIVE_DEST_X 就行了到了备库环境,最好跟主库目录环境搞成一样.把主库的内存参数文件,搞过...显示全部

做ADG 关键的不是后续而是前传
把网络名称,DG_CONFIG,TNSNAME.ORA LISTER.ORA 监听都联通就好了
另外就是SYS密码主备要一致
其他的就很简单了
主库设置成强制归档模式
在设置下LOG_ARCHIVE_DEST_X 就行了

到了备库环境,最好跟主库目录环境搞成一样.
把主库的内存参数文件,搞过来,根据备库要求进行修改和裁剪.
启动备库内存参数

然后用RMAN DUMPLATE直接复制文件过来就行.
DUMP方式运行过程中会报错,主要是内存参数问题.
只是RMAN报错一向来不太友好明确的.

当然这方法适合本地内网,异地备库不适合.
异地备库采用RMAN备份还原方式
这方式要注意先备份数据文件和归档,然后再生产DG控制文件.

把DG控制文件和备份集 考到异地备库的时候,要注意目录结构最好跟主库一致.
关键是 备份目录要一样,否则控制文件无法去找!
其他数据,日志目录,你可以通过内存参数进行修改.

收起
互联网服务 · 2017-06-29
浏览2663

提问者

haizdl
haizdl101634
技术经理大连
擅长领域: 灾备存储服务器

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2017-06-26
  • 关注会员:4 人
  • 问题浏览:6148
  • 最近回答:2017-06-29
  • X社区推广