场景7 Data Guard
场景7 Data Guard
官方文档 :Oracle Data Guard Concepts and Administration
用于数据容灾,通过主备库同步(主库将redo日志传送到备库,一个主库可对应多个备库(30)),实现异地容灾
1. 构建测试库
2. 构建读写分离的环境
3. 实现滚动升级
4. 数据备份
数据容灾 :
1. 基于存储复制
2. 基于逻辑卷复制(镜像)
3. 基于应用(redo log)
redo log : DML/DDL, 记录数据块变化,用于recovery
RAC 高可用性,一个库可用多个实例来访问
Golden Gate : 更灵活,成本更高
物理备库 :收到redo日志后,直接做recovery
逻辑备库 :收到redo日志后,通过logminer抽取日志中sql, 执行sql
1. physical dg : 相当于主库的克隆,相同的名字,相同的id,支持主库所有的应用,在open状态下只读 read only(Active)可将所有写的操作放在主库上,所有读的操作放在备库上
2. logical dg : 和主库是两个独立的数据库,不同的名字,不同的id, 可以open到读写read write状态,(部分DDL操作及数据类型不受支持,如 lob, 一般可用于建立物化视图,建立辅助索引,升级
1. physical dg的构建
2. 保护模式的切换(最大保护,最佳性能(默认),最高可用性)
3. snapshot dg
4. dg 切换
5. broker (FSF) 自动切换
最大保护模式maximum protection(同步方式sync传送日志) :备库RFS确认后(ack),主库才能完成提交任务,若主库一直收不到确认(默认10分钟),则自动shutdown abort, 因此该模式需要至少两个以上的备库,可以保证数据零丢失(主备库间无任何数据差异),但对生产环境影响 较大,网络必须快,备库不能有问题,不然影响主库
LNS (log network service) : 主库发送日志
RFS (receive file service) :备库接收日志,写入本地standby redo log files
最佳性能模式maximum performance(异步方式async传送日志):不需备库确认日志收到后,主库就能完成提交,若redo日志传送失败,且主库已发生日志切换,可讲archive log传送给备库
最高可用性模式maximum availability(同步方式传送日志):备库RFS确认后(ack),主库才能完成提交任务(最大保护模式),若主库一直收不到确认(默认10分钟),则自动转换成最佳性能模式,恢复正常后,又自动转换成最大保护模式
MRP (media recover process) : 介质恢复进程
LSP (logical standby coordinator process) : 逻辑
eg :
desc v$database
select name, force_logging from v$database;
alter database force logging;
archive log list;
搭建DG :
1. 修改初始化文件
eg :
show parameter spfile;
create pfile from spfile;
cd $oracle_home/db
vi init.ora
GAP : 日志间隙
FAL_SERVER :
DB_FILE_NAME_CONVERT=‘/u01/app/oracle/oradata/shdb/‘, ‘/u01/app/oracle/oradata/prod/‘, ‘/u01/app/oracle/oradata/shdb/‘, ‘/u02/app/oracle/oradata/prod/‘
LOG)FILE_NAME_CONVERT=…
数据文件路径转换 :主备库数据文件路径不一致
eg :
select name from v$datafile;
select member from v4logfile;
eg :
startup force gnomon pfile=‘ORACLE_HOME/dbs/initprod.ora’;
show parameter name
show parameter log
create spoil from file;
startup force mount;
alter database create standby controlfile as ‘/home/oracle/std_control01.ctl’;
su -oracle
tail -f /u01/app/oracle/diag/
vi etc/hosts
…
ping …
cd $ORACLE_HOME/dbs
ls
scp initprod.ora enmo:$ORACLE_HOME/dbs/initshdb.ora
scp orapwprod enmo:$ORACLE_HOME/dbs/orapwshdb
scp /home/oracle/std_control
cd /u01/app/oracle/oradata/prod
scp *.dbf enmo:/u01/app/oracle/oradata/shdb
备库:
mkdir -p /u01/app/oracle/oradata/shdb
chown -R oracle:oinstall /u01/app/oracle/oradata/shdb
mkdir op /dsk1/arch_shdb
chown -R oracle:oinstall /dsk/arch_shdb
recover managed standby database disconnect from session;
recover managed standby database cancel;
主备库切换 :
1. switchover 正常手工切换
2. failover 容灾切换 :主库down了,将备库强制切换成主库
eg :
alter system switch logfile;
select name, dbid, database_role, protection_mode, switchover_status from v$database;
select username, sid from v$session where username is not null;
alter database commit to switchover to standby; (主库切换到备库)
alter database commit to switchover to standby with session shutdown; (主库切换到备库, 强制关闭会话)
shutdown immediate;
startup mount;
select name, dbid, database_role, protection_mode, switchover_status from v$database;
备库 :
select name, dbid, database_role, protection_mode, switchover_status from v$database;
select username, sid from v$session where username is not null;
select name, dbid, database_role, protection_mode, switchover_status from v$database;
alter system kill session; (强制杀掉绘画)
alter database commit to switchover to primary;
alter database open;
recover managed standby database disconnect from session;
select max(sequence#) from v$archived_log;
desc v$archive_dest
select name, database_role, protection_mode, switchover_status from v$database;
snapshot dg : 用于应用测试,建立快照,生成一个还原点,测试期间不能和主库同步,但可以继续接收主库的日志,测试完成后,回到还原点,开始recover
snapshot 保存到 recover area
show parameter recover
alter system set db_recovery_file_dest_size = 2g;
alter system set db_recovery_file_dest = ‘/dsk1’;
alter database convert to snapshot standby;
show parameter recover
show parameter spfile
create spfile from pfile;
startup force mount;
chown -R oracle:dba /dsk1
切换模式 :
shutdown immediate;
startup mount
alter database set standby database to maximize protection;
select name, database_role, protection_mode from v$database;
alter database open;
备库 :
select name, database_role, protection_mode from v$database;
alter database open;
eg :
alter database add standby logfile ‘/u01/app/oracle/oradata/shdb/std_redo01.log’ size 50m;
alter database add standby logfile ‘/u01/app/oracle/oradata/shdb/std_redo02.log’ size 50m;
alter database add standby logfile ‘/u01/app/oracle/oradata/shdb/std_redo03.log’ size 50m;
alter database add standby logfile ‘/u01/app/oracle/oradata/shdb/std_redo04.log’ size 50m;
select member from v$logfile;
select group#, sequence#, status from v$standby_log;
eg :
conn scott/tiger
insert into emp1 select * from emp;
commit
insert into emp1 select * from emp;
select count(*) from emp1;
commit;
主库 :
ifconfig
默认 :MRP只对archive log
eg ;
select group#, sequence#, status from v$standby_log;
recover managed standby database using current logfile disconnect from session; (启动实时应用)
Data Guard Broker
dgmgrl
connect sys/oracle@bjdb
create configuration ‘bjdbcfg’ as primary database is ‘bjdb’ connect identifier is ‘bjdb’;
show configuration
add database ‘shdb’ as connect identifier is shdb maintained as physical;
show configuration
enable configuration; (是Broker生效)
show configuration
edit database ‘bjdb’ set property ‘logxptmode’ = ‘sync’;
edit database ‘shdb’ set property ‘logxptmode’ = ‘sync’;
enable fast_start failover;
show configuration
srvctl (需装GI)
场景7 Data Guard的更多相关文章
- 场景3 Data Management
场景3 Data Management 数据管理 性能优化 OLTP OLAP 物化视图 :表的快照 传输表空间 :异构平台的数据迁移 星型转换 :事实表 OLTP : 在线事务处理 1. trans ...
- Data Guard组件等相关介绍
1.Data Guard组件介绍 Data Guard架构归类为3个主要的组件. Data Guard 重做传输服务 重做传输服务用来将主数据库生成的重做数据传输给备用数据库. Data Guar ...
- Data Guard 介绍
- 一步一步搭建 Oracle Data Guard
前言 为什么要写前言,因为我要吐槽一下.作为一个Java后端,搭建Oracle Data Guard真的是一件,嗯,既不专业也不擅长的事情,然而,为什么还是要我来弄? 因为DBA出差了,我们这边急着要 ...
- Oracle 19c Data Guard DML Redirection ADG备库上执行DML重定向(未来更好的进行读写分离)
资料来自官方网站: https://docs.oracle.com/en/database/oracle/oracle-database/19/sbydb/managing-oracle-data-g ...
- Oracle Data Guard的配置
概述 Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数 ...
- 场景4 Data Warehouse Management 数据仓库
场景4 Data Warehouse Management 数据仓库 parallel 4 100% —> 必须获得指定的4个并行度,如果获得的进程个数小于设置的并行度个数,则操作失败 para ...
- 【原】Configuring Oracle Data Guard In Physical Standby Database
作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...
- DG - 开启Active Data Guard
在配置active data guard之前,phycial standby必须处于以下两个状态之一: (1)standby处于mount状态,并且redo apply正在运行中 (2)standby ...
随机推荐
- 用Excel制作热图(heatmap)的方法
http://jingyan.baidu.com/article/64d05a0240ec75de55f73bd8.html 利用Excel 2010及以上版本的"条件格式"--& ...
- JAVA 1.6 流程控制语句
1. 条件运算符(三元表达式),其形式为:type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;2. 轻量级的文本编辑器:UltraEdit.Edit ...
- PBOC金融IC卡,卡片与终端交互的13个步骤,简介-第一组(转)
两个PPT结合起来--一些基础介绍--每一步的详细细节还要去研读文档 EMV-全球标准PBOC-国内标准 ----------------------一:必选:应用选择应用选择的方法:目录选择法.AI ...
- 在VIM中进行快速的查找和替换
VIM是被誉为非常高效的文本编辑软件.但是掌握并高效的使用是件有难度的事情.在VIM中进行快速的查找和替换是提高VIM使用效率的重要方法.下面是我在阅读VIM用户手册时整理的一些资料: 行内搜索. f ...
- centos 忘记密码
装了个 centos 6.8 安装的时候 要输入 新用户和密码 用 新的用户密码 进去后 各种没权限 重新修改 root 密码 一切OK 步骤 1.重新启动Centos,在启动过程中,长按“ ...
- 【转】Expire Google Drive Files 让Google Docs云盘共享连接在指定时间后自动失效
最近在清理Google Docs中之前共享过的文件链接,发现Google Docs多人协作共享过的链接会一直存在,在实际操作中较不灵活.正好订阅的RSS推送了Pseric写的这篇文章 - Expire ...
- C语言课程学习的总结
C语言课程学习的总结 学习C程序这门课一年了,这是我们学的第一门专业课.在大学里,C语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程.所以作为我这个计算机专业的学生来说当 ...
- 20145224&20145238 《信息安全系统设计基础》 第四次实验
20145224&20145238 <信息安全系统设计基础>第四次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...
- 11.10 Taolu1234组信息汇总
团队名称: Taolu1234 团队选题: <餐厅到店点餐系统>WEB版 团队博客地址: http://www.cnblogs.com/queenjuan/ 团队GITHUB地址: htt ...
- BIEE 10g 二次开发整理
近半年在公司做某个项目的时候,主要使用到了Oracle BIEE 10g这套工具.刚开始的时候,对OBIEE是七窍通了六窍,还是一窍不通. 现在已经摸索出些许门道,特整理出来:一来,备忘:二来,供大家 ...