搭建之前备库不需要dbca库只需要安装软件即可:

服务pri和sta,实例名一致即可

步骤概要:

1.主库前期准备

2.设置备库

3.配置网络

4.恢复备库

5.同步数据

6.应用日志

7.管理物理备库

特别注意source .bash_profile要写清楚sid

pri库:

一、主库的前期准备工作

1.Enable Forced Logging --主库设置强制日志,保证所有的操作都记录到日志文件

alter database force logging;  ----修改为强制日志

select force_logging from v$database; ----再查看force_logging的设置

2.检查主库的密码文件,同一个Data Guard 配置中所有数据库必须都拥有独立的密码文件,

--并且必须保证同一个Data Guard 配置中所有数据库服务器的SYS 用户拥有相同密码以保证redo 数据的顺利传输,

--因为redo传输服务通过认证的网络会话来传输redo 数据,而会话使用包含在密码文件中的SYS 用户密码来认证。

[oracle@db253 ~]$ cd $ORACLE_HOME/dbs

[oracle@db253 dbs]$ ls orapworcl11g

select group#,members,bytes from v$log;

select member from v$logfile;

--日志组区分开,给主库增加standby redo logfile

主库不需要这个文件,当主库变成备库的时候才使用,个数一般是比现有日志组的数量+1

alter database add standby logfile '/u01/app/oracle/oradata/ogg1/sta_redo01.log' size 512M;

alter database add standby logfile '/u01/app/oracle/oradata/ogg1/sta_redo02.log' size 512M;

alter database add standby logfile '/u01/app/oracle/oradata/ogg1/sta_redo03.log' size 512M;

alter database add standby logfile '/u01/app/oracle/oradata/ogg1/sta_redo04.log' size 512M;

-- alter database drop standby logfile group 7; --如何删除standby redo logfile

4.配置监听

[oracle@pri admin]$ more listener.ora

# listener.ora Network Configuration File: /data/pri/u01//app/product/12.2.0/db_1/network/admin/list

ener.ora

# Generated by Oracle configuration tools.

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

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

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

USE_SID_AS_SERVICE_listener=on

#tnsnames.ora

pri =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = ogg1)

)

)

sta =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = pdp)

)

)

(主库和备库得以下文件中会颠倒pri和sta一定好配置好,防止出问题)

pri主库:

create pfile='/home/oracle/pfilepri1012.ora' from spfile;

alter system set log_archive_config='DG_CONFIG=(ogg1,ogg2)';

#*.log_archive_dest_1='LOCATION=/data/archivelog VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=pri'

alter system set log_archive_dest_2='SERVICE=ogg2 LGWR ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ogg2';

alter system set FAL_SERVER='ogg1';

alter system set FAL_CLIENT='ogg2';

alter system set standby_file_management=AUTO;

sta备库:

[oracle@localhost dbs]$ more initogg1.ora

ogg1.__db_cache_size=432013312

ogg1.__java_pool_size=4194304

ogg1.__large_pool_size=4194304

ogg1.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment

ogg1.__pga_aggregate_target=209715200

ogg1.__sga_target=624951296

ogg1.__shared_io_pool_size=0

ogg1.__shared_pool_size=171966464

ogg1.__streams_pool_size=0

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

*.audit_trail='db'

*.compatible='11.2.0.0.0'

*.control_files='/u01/app/oracle/oradata/ogg1/control01.ctl','/u01/app/oracle/fast_recovery_area/ogg1/control02.ctl'#Res

tore Controlfile

*.db_block_size=8192

*.db_domain=''

*.db_file_name_convert='/u01/app/oracle/oradata/ogg1/','/u01/app/oracle/oradata/ogg1/'

--指定主库中数据文件的位置,并指定如果到了备库中该存放在哪里,主备数据文件存放路径的对应关系,对方在前,自己在后面

*.db_name='ogg1'

*.db_recovery_file_dest_size=4322230272

*.db_recovery_file_dest='/home/oracle/arch'

*.db_unique_name='ogg2'

--用于dg环境中为每一个数据库指定一个唯一的名称,区别不同的数据库

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

*.dispatchers='(PROTOCOL=TCP) (SERVICE=ogg1XDB)'

*.fal_client='ogg2'

*.fal_server='ogg1'

*.local_listener='ogg2'

*.log_archive_config='DG_CONFIG=(ogg1,ogg2)'

--指定dg环境中,有哪些数据库

*.log_archive_dest_1='LOCATION=/home/oracle/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=ogg2'

--设置本地的归档路径,路径存放哪些类型的日志

*.log_archive_dest_2='SERVICE=ogg1 LGWR ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=ogg1'

--把主库的所有角色和日志都用stddb的本地服务名的方式传输到远程的 db_unique_name=stddb的数据库上

*.log_file_name_convert='/u01/app/oracle/oradata/ogg1/','/u01/app/oracle/oradata/ogg1/'

--指定主库中数据文件的位置,并指定如果到了备库中该存放在哪里,主备数据文件存放路径的对应关系,对方在前,自己在后面

*.open_cursors=300

*.pga_aggregate_target=207618048

*.processes=150

*.remote_login_passwordfile='EXCLUSIVE'

*.sga_target=622854144

*.standby_file_management='AUTO'

--dg的管理方式,如果primary 数据库数据文件发生修改(如新建,重命名等)

--则按照本参数的设置在standby 中做相应修改。

--设为AUTO 表示自动管理。设为MANUAL表示需要手工管理。

*.undo_tablespace='UNDOTBS1'

备选参数:

LOG_ARCHIVE_FORMAT=%t_%s_%r.arc

--指定归档文件格式:thread (%t), sequence number (%s), and resetlogs ID (%r).

LOG_ARCHIVE_MAX_PROCESSES=4

--指定归档进程的数量(1-30),默认值通常是4。

传参数文件到备库

[root@sta admin]# more listener.ora

# listener.ora Network Configuration File: /data/sta/u01/app/product/12.2.0/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

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

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

)

)

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = ogg2)

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

(SID_NAME = ogg1)

)

)

USE_SID_AS_SERVICE_listener=on  --类似于防火墙参数12C以上添加PLSQL才能链接

[root@sta admin]# more tnsnames.ora

# tnsnames.ora Network Configuration File: /data/sta/u01/app/product/12.2.0/db_1/network/admin/tnsnames.ora

# Generated by Oracle configuration tools.

pri =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = pri)

)

)

sta =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = sta)

)

)

#ogg2

startup nomount pfile='/home/oracle/pfile.ora';

#sta pri

测试网络连接

sqlplus sys/oracle@ogg1 as sysdba

sqlplus sys/oracle@ogg2 as sysdba

tnsping pri

tnsping sta

#pri

rman target sys/oracle@ogg1 auxiliary sys/oracle@ogg2

Recovery Manager complete.

[oracle@ogg1 dbs]$ rman target sys/oracle@ogg1 auxiliary sys/oracle@ogg2

Recovery Manager: Release 11.2.0.3.0 - Production on Wed Sep 1 18:57:00 2021

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: OGG1 (DBID=4253177364)  --主库OPEN

connected to auxiliary database: OGG1 (not mounted)--这个NOT MOUNTED就没问题了

duplicate target database for standby from active database nofilenamecheck;

然后执行如下即可成功,不做数据库文件的名称正确性检查(相同数据路径会出现报错加nofilenamecheck解决反之不加)

RMAN> duplicate target database for standby nofilenamecheck;

#sta

select open_mode from v$database;

show pdbs;

alter database open;

12C库需要启动PDB

alter pluggable database pripdb open;

show pdbs;

select log_mode,open_mode,database_role from v$database;

--备库执行

开启日志应用命令

alter database recover managed standby database using current logfile disconnect from session;

select open_mode from v$database;(read only with apply)

OPEN_MODE

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

READ ONLY WITH APPLY

#pri

alter system switch logfile;

#sta

ls -la /data/archivelog

查进程

select process,client_process,sequence#,status from v$managed_standby;

取消日志应用进程

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

select sequence# from v$archived_log where applied='YES' and name is not null and dest_id=1 order by sequence#;

检查:

spfile是否创建,日志是否同步,归档是否删除

备库查看进程正常与否

SQL> select process,client_process,sequence#,status from v$managed_standby;

MRP0     N/A      15

APPLYING_LOG

SQL> create spfile from pfile='/home/oracle/pfileogg2.ora';

然后搞个清归档脚本子

检查adg具体的配置情况:

set linesize 500

col value for a70

col name for a50

select name, value

from v$parameter

where name in ('db_name','db_unique_name','log_archive_config', 'log_archive_dest_1','log_archive_dest_2',

'log_archive_dest_state_1','log_archive_dest_state_2', 'remote_login_passwordfile',

'log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert',

'log_file_name_convert', 'standby_file_management');

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

新华pri数据库配置adg问题总结:

1.

*.db_file_name_convert='/data/pri/u01/oradata/pri/','/data/sta/u01/oradata/sta/'     ---路径修改时没有添加 / 使得文件认为是头命名,

*.log_file_name_convert='/data/pri/u01/oradata/pri/','/data/sta/u01/oradata/sta/'

2.   log_archive_dest_1='LOCATION=/data/archivelog    ---归档日志文件设置没有设置

*.log_file_name_convert='/data/pri/u01/oradata/pri/','/data/sta/u01/oradata/sta/','/u01/pri/archivelog/','/data/archivelog/'

ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;

SELECT NAME,SEQUENCE#,ARCHIVED,APPLIED FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;

3.   检查adg具体的配置情况:

set linesize 500

col value for a70

col name for a50

select name, value

from v$parameter

where name in ('db_name','db_unique_name','log_archive_config', 'log_archive_dest_1','log_archive_dest_2',

'log_archive_dest_state_1','log_archive_dest_state_2', 'remote_login_passwordfile',

'log_archive_format','log_archive_max_processes','fal_server','db_file_name_convert',

'log_file_name_convert', 'standby_file_management');

发现:log_archive_dest_state_2是defer的状态,因为1为本地归档,2为投递到远程的归档,状态没有enable,所以不能传递,将defer改为enable,重新同步日志,数据库adg同步成功;

Oracle Data Guard(DG)11g12C搭建部署相关推荐

  1. oracle dg 增加redo组,【学习笔记】Oracle Data Guard 修改dataguard主库redo组数和大小

    天萃荷净 运维DBA反映检查到Oracle DataGuard环境redo日志较小,总结一下修改dataguard主库redo组数和大小方法 在一个dg环境中,配置的是实时同步,需要增加主库的redo ...

  2. Oracle Data Guard Feature 12cR2系列(一)

    Data Guard是Oracle推出的一种高可用性数据库方案,从Oracle 9i开始正式更名为Oracle Data Guard.Data Guard在11g中引入Active Data Guar ...

  3. oracle Data guard

    DATA GUARD的最主要的功能是冗灾.当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用.性能提升.数据保护以及故障恢复等. DATA GUARD可以分为物理STANDBY和逻辑S ...

  4. Oracle Data Guard简介

    DATA GUARD的最主要的功能是冗灾.当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用.性能提升.数据保护以及故障恢复等. DATA GUARD可以分为物理STANDBY和逻辑S ...

  5. Oracle Data Guard 简介

    1.Oracle Data Guard概述 Oracle在版本7的时候,就支持Standby容灾备份数据库技术,并在Oracle8版本开始支持日志从生产数据库到备用数据库的自动传输.Oracle9i版 ...

  6. 使用 Oracle Enterprise Manager Cloud Control 12c 安装和管理 Oracle Data Guard

    2019独角兽企业重金招聘Python工程师标准>>> 使用 Oracle Enterprise Manager Cloud Control 12c 安装和管理 Oracle Dat ...

  7. Oracle Data Guard 主库 归档文件 删除策略 .

    对于Oracle Data Guard 的Maximum Availability和 Maximum Performance 两种模式下的主库归档文件的删除,必须是在归档文件在备库应用以后才可以删除. ...

  8. oracle中affirm,2.Oracle Data Guard 参数介绍

    Oracle Data Guard 参数介绍 Data Guard作为Oracle提供的一个高可用及灾备解决方案,理解并可以实施它对于DBA来说是非常重要套的技能 上节介绍了有关Data Guard的 ...

  9. Oracle Data Guard的三种保护模式

    Oracle Data Guard备库可以配置成不丢数据和丢数据2种.针对不同的配置模式,Data Guard有3种保护模式,如下所示: 最大保护模式(MAXIMUM PROTECTION). 最 ...

最新文章

  1. java多图片上传json_SpringMVC框架五:图片上传与JSON交互
  2. Linux系统管理员面试50题
  3. HDU 3046 Pleasant sheep and big big wolf 最小割
  4. Oracle 11g客户端及PLSQL Developer配置|Instant Client Setup-64位|OraClientLite11g_x86
  5. iOS开发之手势识别
  6. 使用JUnit 5进行Spring Boot测试
  7. 前端使用js发起http请求的几种方法
  8. What we find changes who we become.
  9. Romoting 通信DEMO(整理)
  10. 五年级计算机下册教案人教版,新人教版五年级下册信息技术全册教案.pdf
  11. 程序员专属段子集锦 4/10
  12. C# 图片处理之:彩色图片转为黑白图
  13. 商务高端、CPU要求高-笔记本选型
  14. python的智能算法_基于pythonQT及智能算法的快速规则定制方法与流程
  15. 无线之minidwep-gtk
  16. 双极结型三极管的结构、特性曲线、参数、lceda仿真
  17. android手机电话铃声设置,怎么设置来电铃声-安卓手机小技巧:教你传输自己喜欢的歌曲铃声到系统铃声设置里...
  18. 数据分析·零散知识点
  19. Eclipse无法启动
  20. webpack css-loader style-loader scss-loader cssloader模块化

热门文章

  1. Leaflet加载百度瓦片到WGS84坐标系下
  2. 股票的最大利润(一次买卖)
  3. 13基于双层优化的电动汽车日前-实时两阶段市场竞标
  4. c语言安装vs该选哪些,C/C++编译器教程之如何安装vs,看了的人应该都会装,只要不手残...
  5. 数据库(四)_MySQL索引
  6. 阿里云短信服务 发送短信验证码 区分业务场景
  7. tp5 时间间隔查询问题
  8. [cesium] | 视域分析 | 基于cesium的可视域效果
  9. Framework 全局监听屏幕点击事件 INPUT_EVENT_INJECTION
  10. pycharm this license has been suspended