建立数据库:环境要求
OS 版本一样;
Oracle 版本必须一样,同时安装目录结构建议做成一样,以免发生不必要的错误;
开始安装oracle时,在primary 和 standby 上都装上instance, 要求安装的 SID都必须一样。
shutdown冷备.
将primary和standby都置为archive log 状态:
Startup mount
alter database archivelog;
alter system archive log start
分别修改primary和standby 库的配置文件。
两数据库的配置:
配置priamry listener.ora
# LISTENER.ORA Network Configuration File: d:\oracle\ora92\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.72.219)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = epg)
(ORACLE_HOME = D:\oracle\ora92)
(SID_NAME = gdepg)
)
)
配置从standby listner.ora 文件:
# LISTENER.ORA Network Configuration File: d:\oracle\ora92\network\admin\listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.72.218)(PORT = 1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = D:\oracle\ora92)
(PROGRAM = extproc)
)
(SID_DESC =
(GLOBAL_DBNAME = epg)
(ORACLE_HOME = D:\oracle\ora92)
(SID_NAME = gdepg)
)
)
配置主primary 的tnsnames.ora
(必须保证这里面只有两项,primary和standby的两个。同时建议用 “Net Manager” 来操作自动产生配置文件。否则会发生莫名其妙的问题。)
# TNSNAMES.ORA Network Configuration File: d:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.72.218)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = gdepg)
)
)
PRIMARY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.72.219)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = gdepg)
)
)
配置从 standby 的 tnsnames.ora 文件
# TNSNAMES.ORA Network Configuration File: d:\oracle\ora92\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
PRIMARY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.72.219)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = gdepg)
)
)
STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.72.218)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = gdepg)
)
)
完成后执行
C:\>tnsping standby
C:\>tnsping primary
来检测配置是否有问题。
lsnrctl start;
Lsnrctl status
配置primary 的pfile 即 init.ora.2272006143433
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_cache_size=335544320
db_file_multiblock_read_count=16
log_archive_start = true
log_archive_dest_1 = "location=d:\oracle\Arch mandatory REOPEN=2"
log_archive_dest_state_1 = enable
log_archive_dest_2 = "service=standby mandatory reopen=15"
log_archive_dest_state_2 = enable
log_archive_min_succeed_dest=1
log_archive_format=ARC%S.%T
配置 standby 的 pfile 文件 init.ora
与primary有所不同:最好的配置方式是从primary上 copy过来,然后做相对修改:
control_files=("d:\oracle\oradata\gdepg\standby01.ctl")
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_cache_size=335544320
db_file_multiblock_read_count=16
log_archive_dest_state_1 = enable
log_archive_dest_state_2 = enable
log_archive_start = true
log_archive_dest_1 = "location=d:\oracle\Arch mandatory REOPEN=2"
log_archive_dest_state_1 = enable
log_archive_dest_2 = "service=standby mandatory reopen=15"
log_archive_dest_state_2 = enable
standby_archive_dest = "D:\oracle\Arch"
db_file_name_convert = ("d:\oracle\oradata\gdepg","d:\oracle\oradata\gdepg")
log_file_name_convert = ("d:\oracle\oradata\gdepg","d:\oracle\oradata\gdepg")
log_archive_trace=6
log_archive_min_succeed_dest=1
standby_archive_dest=d:\oracle\arch
log_archive_format = ARC%S.%T
同时修改d:\oracle\oradata\ora92\init+实例名 文件
添加:
*.standby_file_management=AUTO
*.remote_archive_enable=TRUE
*.standby_archive_dest='d:\oracle\Arch'
*.fal_server='PRIMARY'
*.fal_client='STANDBY'
在做好配置文件后,先对pfile和spfile做一次同步,然后再生成standby控制文件。
create spfile='d:\oracle\ora92\database\spfilegdepg1.ora' from pfile='d:\or acle\admin\gdepg\pfile\init.ora.2272006143433';
然后改名:将SPFILEGDEPG1.ORA 更名为SFILEGDEPG.ORA
alter database create standby controlfile as 'd:\oracle\oradata\gdepg\STANDBY01.CTL';
然后停掉primary 和standby数据库,
同时建立归档目录
D:\oracle\Arch
将primary上的datafile下所有数据文件,否覆盖掉standby 库中的datafile 。
还有下面文件,也覆盖到从库相应的位置
D:\oracle\oradata\ora92\initgdepg.ora
D:\oracle\oradata\ora92\PWDgdepg.ora
D:\oracle\oradata\ora92\SPFILEGDEPG.ORA
同时将primary上的 archive log 日志文件都 copy到 standby的对应目录。
如果是windows环境,记得修改standby注册表里ORA_实例名_AUTOSTART ,置为 FALSE否则standby机器重启后就自己启动到open状态,使scn不一样,standby 无法正常启动,这种情况就只能重装standby了。
完成后,就可以启动standby db了。
启动顺序:先standby ,后primary;
关闭顺序:先primary 后standby;
步骤:
startup nomount pfile=d:\oracle\admin\gdepg\pfile\init.ora
alter database mount standby database;
recover managed standby database ;
---- ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
--- recover automatic standby database;
切换到read only 状态
在开另外一个连接进行如下操作:
recover managed standby database cancel;
alter database open read only;
这时候可以进行对表exp/imp或别的操作
如果要回到managed状态,则必须另开一个窗口,然后再运行:
recover managed standby database ; 回到 managed状态。
在默认情况下,Data guard就是最大性能模式,所以不需要采用其它额外的配置
查看日志序列是否有缺失的SQL语句:
SQL>SELECT high.thread#, "LowGap#", "HighGap#"
FROM
(
SELECT thread#, MIN(sequence#)-1 "HighGap#"
FROM
( SELECT a.thread#, a.sequence#
FROM
v$archived_log a,
( SELECT thread#, MAX(next_change#) gap1
FROM v$log_history
GROUP BY thread#
) b
WHERE a.thread# = b.thread#
AND a.next_change# > b.gap1
)
GROUP BY thread#
) high,
(
SELECT thread#, MIN(sequence#) "LowGap#"
FROM
( SELECT thread#, sequence#
FROM v$log_history, v$datafile
WHERE checkpoint_change# <= next_change#
AND checkpoint_change# >= first_change#
)
GROUP BY thread#
) low
WHERE low.thread# = high.thread# ;
如果备库有日志序列缺失,则同一个thread#的LowGap# 与 HighGap# 不等。
SQL> ALTER DATABASE RECOVER MANAGED standby DATABASE DISCONNECT FROM SESSION;
最后测试在主库上修改记录,建表。看从库记录是否相应改变:
切换当前联机日志
SQL> alter system switch logfile;
查看从库后台日志、alter文件是否改变。
分享到:
相关推荐
Standby 数据库的建立步骤 1. 安装 Red Hat Enterprise Linux 操作系统 2. 安装 Oracle 软件 3. 建立与 Primary 数据库相同 SID 的数据库 4. 开始建立 Standby 数据库 a. 初始化文件及密码文件拷贝 b. 表空间文件...
详细介绍linux 下 oracle 的standby 过程
oracle9i standby步骤详解
Oracle DataGuard物理Standby Database配置的详细步骤
4 ADG AIX下Oracle 11G安装及DG配置规范 5 ADG BLOG_Oracle_lhr_一步一步在RHEL6.5+VMware Workstation 10上搭建 oracle 11gR2 rac + dg 6 ADG Creating Standby Database with Grid Control-15 7 ADG data-...
Oracle Dataguard 实施步骤详解 Oracle Dataguard 是 Oracle 数据库的一种高可用性解决方案,通过在备库(Standby)上维护一份主库(Primary)的副本,实现数据的实时同步和灾难恢复。本文将详细介绍 Oracle ...
RHEL 7.6 安装 Oracle 19C ASM Dataguard 超强安装指南 本指南旨在指导用户在 RHEL 7.6 环境中安装 Oracle 19C ASM ...本指南提供了详细的安装步骤和配置过程,旨在帮助用户快速搭建 Oracle 19C ASM Dataguard 环境。
不停机搭建standby备库 介绍安装standby备库步骤及注意事项
Oracle 的Streams提供了信息共享的一种方式,区别于其它数据共享的方式,Streams甚至允许不同类型的数据库之间传递数据,实现这点的根本在于 Streams的复制流程,通过捕获,传播,应用三个步骤,将指定的信息传输...
为Linux中的Oracle 11g rac搭建单实例的物理备库的操作步骤
ORACLE 11G 搭建 DATAGUARD 步骤 ORACLE 11G 搭建 DATAGUARD 需要在主机 1 和主机 2 上安装数据库软件,并进行相关配置。 DATAGUARD 是一个高可用性解决方案,可以在主机 2 上实时地复制主机 1 上的数据库,从而...
在primary节点和standby节点安装操作系统和oracle软件,创建主数据库,创建物理备用库,创建备用日志。。。详细操作过程描述 在primary节点和standby节点安装操作系统和oracle软件。。。
11.5.2将物理Standby数据库转换为快照Standby数据库 11.5.3将快照Standby数据库转换为物理Standby数据库 11.6主备数据库切换 11.6.1 Switchover切换 11.6.2 Failover切换 11.7本章小结 第12章 RAC备份 12.1...
Oracle 10g DATAGUARD安装配置 维护 1.1 LINUX 操作系统的安装和配置.................................................................. 1.2 DataGuard 安装环境..................................................
四、搭建 Oracle ADG 步骤 1. 安装 Oracle 数据库软件 2. 创建主库 3. 使用 DBCA 命令行搭建物理备库 4. 配置备库参数 五、注意事项 1. db_unique_name 主备库不能相同。 2. db_name 主备库需保持一致。 3. 主备...
非Data Guard的补丁安装教程可参考《[Oracle] CPU/PSU补丁安装详细教程》,Data Guard需要Primary和Standby同时打上补丁,所以步骤更复杂一些,其主要步骤如下:1.在Primary停止日志传输服务;2.关闭Standby数据库,...
1.主从两机的操作系统和相同pack ...2.在主从库上建立数据库,选择只安装Software 3.在主库上,通过dbca建立数据库,除了字符集选择 zhs16gbk外,全部使用缺省方式 4.在从库上,手工创建和主库相同目录
Data Guard 的工作流程包括备机环境准备、主机作业、创建 standby 日志、修改 tnsnames.ora 文件和修改 pfile 文件等几个步骤。 备机环境准备是 Data Guard 的第一步,包括操作系统、文件系统和数据库软件的安装。 ...
DataGuard 物理 standby 管理_主备切换是 Oracle 数据库的一种高可用性解决方案,它可以提供数据库的实时备份和灾难恢复能力。DataGuard 的切换分为两种:switchover 和 failover。 1. Switchover Switchover 是一...
希望对正在学习或者已经投入工作的人们有用,希望能帮助你学会如何构建物理STANDBY的主备库的互备环境的创建,从而更好地帮助自己学到实际有用的东西或者帮助你在进行企业数据库维护过程中对于数据库STANDBY双击互备...