没有合适的资源?快使用搜索试试~ 我知道了~
首页DataGuard入门教程:步步实践指南
"《三思笔记》是一系列逐步深入讲解Oracle DataGuard的教程,适合初学者学习。该系列由一位经验丰富的作者提供,通过四个部分逐步介绍DataGuard的基础概念、物理standby的创建与管理(包括基础、示例和高级操作)、以及逻辑standby的设置步骤和实例。每一部分都按照时间顺序排列,从基础的名词认知开始,逐渐深入到术语理解、物理standby的搭建、角色转换,最后探讨逻辑standby的创建和高级管理。 在学习过程中,作者强调虽然内容可能较为初级,但每个步骤都是实践操作的详细记录,旨在提供一个循序渐进的学习路径,帮助读者克服初次接触DataGuard时可能遇到的困难。同时,由于部分内容已经发表在itpub上,未经许可请勿进行转载。作者通过个人邮箱junsansi@sain.com与读者保持联系,解答疑惑和分享更多经验和心得。 这个系列对Oracle数据库保护技术——DataGuard的全面介绍,对于想要深入理解或初次尝试配置DataGuard的DBA或者系统管理员来说,是一个宝贵的资源,可以帮助他们建立起扎实的数据保护知识体系,并实际掌握这一关键的灾备技术。"
资源详情
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/9723214/bg10.jpg)
[ 三思笔记 ]- 一步一步学 DataGuard 系列 http://www.5ienet.com/ QQ : 5454589 君三思
Fixed Size 1289484 bytes
Variable Size 62915316 bytes
Database Buffers 96468992 bytes
Redo Buffers 7098368 bytes
数据库装载完毕。
7 、 启动 redo 应用
SQL> alter database recover managed standby database disconnect from session;
数据库已更改。
8 、 查看同步情况
首先连接到 primary 数据库
SQL> show parameter instance_name;
NAME TYPE V ALUE
------------------------------------ ----------- ------------------------------
instance_name string jssweb
SQL> alter system switch logfile;
系统已更改。
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
51
连接到 standby 数据库
SQL> show parameter instance_name;
NAME TYPE V ALUE
------------------------------------ ----------- ------------------------------
instance_name string jsspdg
SQL> select max(sequence#) from v$archived_log;
MAX(SEQUENCE#)
--------------
51
9 、 暂停应用
![](https://csdnimg.cn/release/download_crawler_static/9723214/bg11.jpg)
[ 三思笔记 ]- 一步一步学 DataGuard 系列 http://www.5ienet.com/ QQ : 5454589 君三思
通过下列语句暂停 redo 应用。
SQL> ALTER DA TABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
数据库已更改。
注意,此时只是暂时 redo 应用,并不是停止 Standby 数据库, standby 仍会保持接收只不过不会再应 用
接收到的归档,直到你再次启动 redo 应用为止。
哈哈,成功鸟!现在你是不是想知道怎么把 standby 变成 primary 呢?接着往下看 ~~~~~~~~~
![](https://csdnimg.cn/release/download_crawler_static/9723214/bg12.jpg)
[ 三思笔记 ]- 一步一步学 DataGuard 系列 http://www.5ienet.com/ QQ : 5454589 君三思
第二部分 物理 standby(3)
standby(3)
standby(3)
standby(3)
角色转换 2007.12.11
2007.12.11
2007.12.11
2007.12.11
第 1 节的时候我们就提到了角色切换, 我们也听说了其操作简单但用途广泛, 同时我们也猜测其属于 prim ary
与 standby 之间的互动,那么在 primary 和 standby 数据库 ( 之一 ) 上都需要有操作,并且切换又分了: switchover
和 failover ,前者是无损切换,不会丢失数据,而后者则有可能会丢失数据,并且切换后原 primary 数据库也不
再是该 data guard 配置的一部分了 . 针对不同 standby( 逻辑或物理 ) 的处理方式也不尽相同。 en, 内容也挺多地。我
们还是先大概了解下概念,然后再通过实战去印证 。
角色转换前的准备工作
检查各数据库的初始化参数,主要确认对不同角色相关的初始化参数都进行了正确的配置。
确保可能成为 primary 数据库的 standby 服务器已经处于 archivelog 模式。
确保 standby 数据库的临时文件存在并匹配 primary 数据库的临时文件
确保 standby 数据库的 RAC 实例只有一个处于 open
状态。 (对于
rac 结构的 standby 数据库, 在 角
色转换时只能有一个实例 startup 。其它 rac 实例必须统统 shutdown ,待角色转换结束后再 startup )
Switchover
Switchover
Switchover
Switchover
:
无损转换,通常是用户手动触发或者有计划的让其自动触发,比如硬件升级啦,软件升级啦之类的。
通常它给你带来的工作量非常小并且都是可预计的。其执行分两个阶段,第一步, primary 数据库转换为
standby 角色, 第二步, standby 数据库 ( 之一 ) 转换为 primary 角色, primary 和 standby 只是简单的角色互换
,
这也印证了我们前面关于角色转换是 primary/standby 互动的猜测。
Failover
Failover
Failover
Failover
:
不可预知原因导致 primary 数据库故障并且短期内不能恢复就需要 failover 。如果是这种切换那你就要
小心点了,有可能只是虚惊一场,甚至连你可能损失的脑细胞的数量都能预估,但如果运气不好又没有完
备的备份恢复策略而且 primary 数据并非处于最大数据保护或最高可用性模式地话, 黑黑, 哭是没用地, 表
太伤心了,来,让三思 GG 安慰安慰你,这种情况下呢丢失数据有可能是难免的,并且如果其故障未能修
复,那它甚至连快速修复成为 standby 的机会也都失去了呐,咦,你脑门怎么好像在往外冒水,难道是强 效
净肤液,你的脸也忽然好 白皙哟 ~~~~
在执行 failover 之前,尽可能将原 primary 数据库的可用 redo 都复制到 standby 数据库。
注意,如果要转换角色的 standby 处于 maximum protection 模式,需要你首先将其切换为 maximum
performance 模式(什么什么,你不知道怎么转换模式? oooo, 对对,我们还没有操作过,这块并不复杂, 接
下来会通过专门章节讨论) ,这里先提供透露一下,转换 standby 数据库到 MAXIMIZE PERFORMANCE 执
行下列 SQL 即可:
SQL> ALTER DA TABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE;
等 standby 切换为新的 primary 之后,你可以再随意更改数据库的保护模式。
你是不是有疑问关于为什么待切换角色的 standby 不能处于 maximum protection 模式呢?这个其实很 好
理解,我们在第一节学习三种保护模式的时候就介绍过其各自的特点,脑袋瓜好使的同学应该还有印象,
maximum protection 模式需要确保绝无数据丢失, 因此其对于提交事务对应的 redo 数据一致性要求非常高
,
另外,如果处于 maximum protection 模式的 primary 数据库仍然与 standby 数据库有数据传输,此时 alter
database 语句更改 standby 数据库保护模式会失败 ,这也是由 maximum protection 模式特性决定的。
![](https://csdnimg.cn/release/download_crawler_static/9723214/bg13.jpg)
[ 三思笔记 ]- 一步一步学 DataGuard 系列 http://www.5ienet.com/ QQ : 5454589 君三思
下面分别演示 switchover 和 failover 的过程:
一、 物理 standby
standby
standby
standby
的 Switchover
Switchover
Switchover
Switchover
注意操作步骤的先后,很关键的哟。
1 、 检查是否支持 switchover 操作 --primary 数据库操作
登陆 primary 数据库,查询 v$database 视图的 switchover_status 列。
E:\ora10g>set oracle_sid=jssweb
E:\ora10g>sqlplus "/ as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 12 月 13 09:41:29 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
已连接。
SQL> select
select
select
select
switchover_status
switchover_status
switchover_status
switchover_status
from
from
from
from
v$database;
v$database;
v$database;
v$database;
SWITCHOVER_STA TUS
--------------------
TO STANDBY
如果该列值为 "TO STANDBY" 则表示 primary 数据库支持转换为 standby 角色, 否则的话你就需要重 新
检查一下 Data Guard 配置,比如看看 LOG_ARCHIVE_DEST_n 之类参数值是否正确有效等等。
2 、 启动 switchover --primary 数据库操作
首先将 primary 转换为 standby 的角色,通过下列语句:
SQL> alter
alter
alter
alter
database
database
database
database
commit
commit
commit
commit
to
to
to
to
switchover
switchover
switchover
switchover
to
to
to
to
physical
physical
physical
physical
standby;
standby;
standby;
standby;
数据库已更改。
语句执行完毕后, primary 数据库将会转换为 standby 数据库,并自动备份控制文件到 trace 。
3 、 重启动到 mount -- 原 primary 数据库操作
SQL> shutdown
shutdown
shutdown
shutdown
immediate
immediate
immediate
immediate
ORA-01507: 未装载数据库
ORACLE 例程已经关闭。
SQL> startup
startup
startup
startup
mount
mount
mount
mount
ORACLE 例程已经启动。
Total System Global Area 167772160 bytes
Fixed Size 1289484 bytes
![](https://csdnimg.cn/release/download_crawler_static/9723214/bg14.jpg)
[ 三思笔记 ]- 一步一步学 DataGuard 系列 http://www.5ienet.com/ QQ : 5454589 君三思
Variable Size 104858356 bytes
Database Buffers 54525952 bytes
Redo Buffers 7098368 bytes
数据库装载完毕。
4 、 检查是否支持 switchover 操作 -- 待转换 standby 数据库操作
待原 primary 切换为 standby 角色之后, 检查待转换的 standby 数据库 switchover_status 列, 看看是否 支
持角色转换。
E:\ora10g>set oracle_sid=jsspdg
E:\ora10g>sqlplus " / as sysdba"
SQL*Plus: Release 10.2.0.3.0 - Production on 星期四 12 月 13 10:08:15 2007
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
已连接。
SQL> select switchover_status from v$database;
SWITCHOVER_STA TUS
--------------------
TO PRIMARY
SQL>
此时待转换 standby 数据库 switchover_status 列值应该是 "TO_PRIMARY" , 如否则检查其初始化参数 文
件中的设置,提示一下,比着原 primary 数据库的初始化参数改改。
5 、 转换角色到 primary -- 待转换 standby 数据库操作
通过下列语句转换 standby 到 primary 角色:
SQL> alter database commit to switchover to primary;
数据库已更改。
注意:待转换的物理 standby 可以处于 mount 模式或 open read only 模式,但不能处于 open read write
模式。
6 、 完成转换,打开新的 primary 数据库
SQL> alter database open;
数据库已更改。
注:如果数据库处于 open read-only 模式的话,需要先 shutdown 然后直接 startup 即可。
剩余99页未读,继续阅读
![ZIP](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/5a8807dc5f424192bf4bd404dab4ec89_minibeaner.jpg!1)
minibeaner
- 粉丝: 2
- 资源: 24
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
最新资源
- 多模态联合稀疏表示在视频目标跟踪中的应用
- Kubernetes资源管控与Gardener开源软件实践解析
- MPI集群监控与负载平衡策略
- 自动化PHP安全漏洞检测:静态代码分析与数据流方法
- 青苔数据CEO程永:技术生态与阿里云开放创新
- 制造业转型: HyperX引领企业上云策略
- 赵维五分享:航空工业电子采购上云实战与运维策略
- 单片机控制的LED点阵显示屏设计及其实现
- 驻云科技李俊涛:AI驱动的云上服务新趋势与挑战
- 6LoWPAN物联网边界路由器:设计与实现
- 猩便利工程师仲小玉:Terraform云资源管理最佳实践与团队协作
- 类差分度改进的互信息特征选择提升文本分类性能
- VERITAS与阿里云合作的混合云转型与数据保护方案
- 云制造中的生产线仿真模型设计与虚拟化研究
- 汪洋在PostgresChina2018分享:高可用 PostgreSQL 工具与架构设计
- 2018 PostgresChina大会:阿里云时空引擎Ganos在PostgreSQL中的创新应用与多模型存储
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)