Oracle Data Guard(DG)11g12C搭建部署
搭建之前备库不需要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搭建部署相关推荐
- oracle dg 增加redo组,【学习笔记】Oracle Data Guard 修改dataguard主库redo组数和大小
天萃荷净 运维DBA反映检查到Oracle DataGuard环境redo日志较小,总结一下修改dataguard主库redo组数和大小方法 在一个dg环境中,配置的是实时同步,需要增加主库的redo ...
- Oracle Data Guard Feature 12cR2系列(一)
Data Guard是Oracle推出的一种高可用性数据库方案,从Oracle 9i开始正式更名为Oracle Data Guard.Data Guard在11g中引入Active Data Guar ...
- oracle Data guard
DATA GUARD的最主要的功能是冗灾.当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用.性能提升.数据保护以及故障恢复等. DATA GUARD可以分为物理STANDBY和逻辑S ...
- Oracle Data Guard简介
DATA GUARD的最主要的功能是冗灾.当然根据配置的不同,DATA GUARD还可以具备以下特点:高可用.性能提升.数据保护以及故障恢复等. DATA GUARD可以分为物理STANDBY和逻辑S ...
- Oracle Data Guard 简介
1.Oracle Data Guard概述 Oracle在版本7的时候,就支持Standby容灾备份数据库技术,并在Oracle8版本开始支持日志从生产数据库到备用数据库的自动传输.Oracle9i版 ...
- 使用 Oracle Enterprise Manager Cloud Control 12c 安装和管理 Oracle Data Guard
2019独角兽企业重金招聘Python工程师标准>>> 使用 Oracle Enterprise Manager Cloud Control 12c 安装和管理 Oracle Dat ...
- Oracle Data Guard 主库 归档文件 删除策略 .
对于Oracle Data Guard 的Maximum Availability和 Maximum Performance 两种模式下的主库归档文件的删除,必须是在归档文件在备库应用以后才可以删除. ...
- oracle中affirm,2.Oracle Data Guard 参数介绍
Oracle Data Guard 参数介绍 Data Guard作为Oracle提供的一个高可用及灾备解决方案,理解并可以实施它对于DBA来说是非常重要套的技能 上节介绍了有关Data Guard的 ...
- Oracle Data Guard的三种保护模式
Oracle Data Guard备库可以配置成不丢数据和丢数据2种.针对不同的配置模式,Data Guard有3种保护模式,如下所示: 最大保护模式(MAXIMUM PROTECTION). 最 ...
最新文章
- java多图片上传json_SpringMVC框架五:图片上传与JSON交互
- Linux系统管理员面试50题
- HDU 3046 Pleasant sheep and big big wolf 最小割
- Oracle 11g客户端及PLSQL Developer配置|Instant Client Setup-64位|OraClientLite11g_x86
- iOS开发之手势识别
- 使用JUnit 5进行Spring Boot测试
- 前端使用js发起http请求的几种方法
- What we find changes who we become.
- Romoting 通信DEMO(整理)
- 五年级计算机下册教案人教版,新人教版五年级下册信息技术全册教案.pdf
- 程序员专属段子集锦 4/10
- C# 图片处理之:彩色图片转为黑白图
- 商务高端、CPU要求高-笔记本选型
- python的智能算法_基于pythonQT及智能算法的快速规则定制方法与流程
- 无线之minidwep-gtk
- 双极结型三极管的结构、特性曲线、参数、lceda仿真
- android手机电话铃声设置,怎么设置来电铃声-安卓手机小技巧:教你传输自己喜欢的歌曲铃声到系统铃声设置里...
- 数据分析·零散知识点
- Eclipse无法启动
- webpack css-loader style-loader scss-loader cssloader模块化
热门文章
- Leaflet加载百度瓦片到WGS84坐标系下
- 股票的最大利润(一次买卖)
- 13基于双层优化的电动汽车日前-实时两阶段市场竞标
- c语言安装vs该选哪些,C/C++编译器教程之如何安装vs,看了的人应该都会装,只要不手残...
- 数据库(四)_MySQL索引
- 阿里云短信服务 发送短信验证码 区分业务场景
- tp5 时间间隔查询问题
- [cesium] | 视域分析 | 基于cesium的可视域效果
- Framework 全局监听屏幕点击事件 INPUT_EVENT_INJECTION
- pycharm this license has been suspended