[Oracle] Data Guard 系列(5) - 创建逻辑备库
在创建逻辑备库之前,必须得先创建物理备库,关于如何创建物理备库,请参考《Data Guard 系列(4) - 在不停主库的情况下创建物理备库》。
1. 在物理备库上停止日志应用服务
SYS@jkka> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; Database altered.
2. 重新设置主库为将来的角色转换做准备(switchover)
逻辑备库和物理备库不一样,在进行SQL应用的时候还会产生日志,即逻辑备库的在线重做日志,因此逻辑备库不但要对从主库传过来的Standby日志进行归档,还必须得对备库自己产生的在线日志进行归档。下面我们假定log_archive_dest_1指定standby日志的归档路径,log_archive_dest_3指定在线日志的归档路径。
虽然主库并不需要配置两个归档路径,但为了方便将来可能的角色转换(switchover),一般建议在主库中也做相应的配置。
首先,查看当前主库的log_archive_dest_1:
SYS@JKKA> show parameter log_archive_dest_1 NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string location=/data/oradata/jkka/archivelog
valid_for=(all_logfiles,all_roles)
db_unique_name=jkka
需要把valid_for属性修改为只对在线日志生效:
SYS@JKKA> alter system set log_archive_dest_1='location=/data/oradata/jkka/archivelog valid_for=(online_logfiles,all_roles) db_unique_name=jkka'; System altered.
接着在OS上新建standby归档目录,新增的log_archive_dest_3指向它:
SYS@JKKA> alter system set log_archive_dest_3='location=/data/oradata/jkka/archstandby VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=jkka'; System altered. SYS@JKKA> alter system set log_archive_dest_state_3=enable; System altered.
3. 在主库构建LogMiner字典
SYS@JKKA> EXECUTE DBMS_LOGSTDBY.BUILD; PL/SQL procedure successfully completed.
4. 把物理备库转换成逻辑备库
SYS@jkka> ALTER DATABASE RECOVER TO LOGICAL STANDBY jkka2; Database altered.
注意:上面的jkka2是新的逻辑备库的db_name,它必须得跟主库的db_name不一样,这点和物理备库不一样。
上述语句执行成功后,会把备库的db_name修改成新的名字jkka2,关闭备库,重启至mount状态让其生效:
SQL> shutdown immediate
SQL> startup mount
5. 调整逻辑备库参数
这一步和第二步类似,首先查看当前的log_archive_dest_1的配置:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1 string location=/data/oradata/jkka/archivelog
valid_for=(all_logfiles,all_roles)
db_unique_name=jkka2
需要把valid_for属性修改为只对在线日志生效:
SYS@jkka> alter system set log_archive_dest_1='location=/data/oradata/jkka/archivelog valid_for=(online_logfiles,all_roles) db_unique_name=jkka2'; System altered.
log_archive_dest_2保持不变:
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_2 string service=jkkapri ASYNC
VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_name=jkka
在OS上新建standby归档目录,新增的log_archive_dest_3指向它:
SYS@jkka> alter system set log_archive_dest_3='location=/data/oradata/jkka/archstandby VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=jkka2'; System altered. SYS@jkka> alter system set log_archive_dest_state_3=enable; System altered.
6)已resetlogs方式打开逻辑备库
alter database open resetlogs;
ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;
[Oracle] Data Guard 系列(5) - 创建逻辑备库的更多相关文章
- Oracle Data Guard 创建物理Standby数据库
创建物理备库 机器名 a1 a2 IP: 192 ...
- Oracle Data Guard
DG 是 Oracle Data Guard 的简称.也就是Oracle11g的 数据卫士. 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理.给我的感觉这里的 DG 其 ...
- (转)Oracle Data Guard学习
一.Data Guard提供如下三种数据保护模式: 1)最高保护模式(Maximum Protection) 这里的”最高保护“是指最大限度的保护数据不丢失,也就是至少有一个standby和prima ...
- Oracle Data Guard 重要配置参数
Oracle Data Guard主要是通过为生产数据库提供一个或多个备用数据库(是产生数据库的一个副本),以保证在主库不可用或异常时数据不丢失并通过备用数据库继续提供服务.对于Oracle DG的配 ...
- Oracle data guard学习
Oracle data guard学习:三思笔记 Data guard 1data guard结构: data guard是一个集合,由一个primary数据库(生产数据库)和一个或多个standby ...
- 在物理 Data Guard 中对异构主备系统的支持 (文档 ID 1602437.1)
Data Guard中主数据库与物理备用数据库(Redo Apply)之间可以有什么差别?本说明针对重做应用和 Oracle Data Guard 12 发行版 1 进行了更新.它适用于 Oracle ...
- Oracle Data Guard的配置
概述 Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数 ...
- Oracle Data Guard配置
Oracle Data Guard 的配置在网上有很多资料,但是没有一个完整的,配置下来多少有些问题.在踩了各种坑之后,自己终于配置成功,就想把这过程记录下来. 1 测试环境 主数据库:windo ...
- Oracle data guard 10g 搭建
Oracle data guard 10g 搭建 1系统常规参数检查 硬盘 [root@localhost ~]# df -h 内核 [root@localhost ~]# uname -a [roo ...
随机推荐
- July 【补题】
A(zoj 3596) bfs,记忆搜都可以, 按余数来记录状态. B(zoj 3599) 博弈,跳过 C(zoj 3592) 简单dp,题意不好懂 D(zoj 3602) 子树哈希, 对根的左右儿子 ...
- Pythoner | 你像从前一样的Python学习笔记
Pythoner | 你像从前一样的Python学习笔记 Pythoner
- linux group
groups 查看当前登录用户的组内成员 groups gliethttp 查看gliethttp用户所在的组,以及组内成员 whoami 查看当前登录用户名 /etc/group文件包含所有组 ...
- MFC调用c#的dll
一.使用 /clr 编译 MFC 可执行文件或规则 DLL 1.打开“项目属性”对话框,方法是右键单击“解决方案资源管理器”中的项目并选择“属性”. 2.展开“配置属性”旁边的节点并选择“常规”.在右 ...
- NYOJ130 同样的雪花 【Hash】
同样的雪花 时间限制:1000 ms | 内存限制:65535 KB 难度:4 描写叙述 You may have heard that no two snowflakes are alike. ...
- [置顶] Android项目组织和代码重用
在Android应用开发过程中,只要涉及两个或以上人的开发,就需要考虑分工和代码的组织和重用问题. 代码重用有三种方式: 1.APK: 2.JAR:通过Libs/ 和Build path集成,缺点是不 ...
- Flashback Drop实例操作
1.Flashback DropFlashback Drop 是从Oracle 10g 开始出现的,用于恢复用户误删除的对象(包括表,索引等), 这个技术依赖于Tablespace Recycle B ...
- Windows - 程序猿应该熟记的CMD常用命令
notepad 计事本 mspaint 画图 iisreset 重启IIS appwiz.cpl 控制面板 inetmgr IIS管理器 eventvwr 事件查看器 mstsc 远程桌面 net s ...
- shell脚本例子
#!/bin/sh str="####" echo $1 | grep $str 1>/dev/null if [ `echo $?` -eq 0 ] then ec ...
- 指针参数的传递(节选 C++/C 高质量编程 林锐)
指针参数是如何传递内存的 如果函数的参数是一个指针,不要指望用该指针去申请动态内存.示例7-4-1中,Test函数的语句GetMemory(str, 200)并没有使str获得期望的内存,str依旧是 ...