`

Oracle Standby 安装步骤

阅读更多

建立数据库:环境要求
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文件是否改变。

分享到:
评论

相关推荐

    Oracle Standby数据库建立.doc

    以下是建立 Oracle Standby 数据库的步骤: 1. 安装 Red Hat Enterprise Linux 首先需要安装 Red Hat Enterprise Linux 作为操作系统,以便安装和配置 Oracle 软件。 2. 安装 Oracle 软件 安装 Oracle 软件,并...

    Oracle Standby数据库建立

    Standby 数据库的建立步骤 1. 安装 Red Hat Enterprise Linux 操作系统 2. 安装 Oracle 软件 3. 建立与 Primary 数据库相同 SID 的数据库 4. 开始建立 Standby 数据库 a. 初始化文件及密码文件拷贝 b. 表空间文件...

    ORACLE Standby数据库工作原理及程序设计.pdf

    建立Standby数据库的过程大致包括以下几个步骤: 1. 确保主数据库处于归档模式,并且能够产生归档日志文件。 2. 在Standby数据库服务器上创建与主数据库相同的数据文件目录结构。 3. 修改主数据库的初始化参数文件并...

    oracle dataguard 逻辑standby建立

    1. **准备工作**:确保源数据库与目标数据库的环境配置一致,包括操作系统版本、Oracle 安装路径等。 2. **创建物理 Standby**:使用 RMAN (Recovery Manager) 命令创建物理 Standby 数据库。此过程包括备份主数据库...

    Oracle Standby Database技术的原理及实现.pdf

    以下是关于Oracle Standby Database技术的详细解释及其实现过程。 1. Standby数据库的工作机制: Standby数据库是通过主数据库的归档日志文件(Archived Redo Logs)来保持与主数据库同步的。主数据库必须运行在...

    oracle standby data guard

    Oracle Standby Data Guard是Oracle数据库系统中的一种高可用性和灾难恢复解决方案。它通过创建和维护一个或多个备用数据库,可以在主数据库出现故障时快速切换到这些备用数据库,从而确保业务连续性。以下是对...

    oracle9i standby

    以下是对Oracle 9i Standby数据库配置步骤的详细解析,旨在帮助数据库管理员深入理解并正确实施这一关键特性。 ### Oracle 9i Standby数据库配置详解 #### 步骤一:系统环境准备 - **操作系统**:确保使用的是兼容...

    STANDBY

    根据提供的文件信息,本文将详细解释Oracle Standby数据库的相关知识点,包括如何设置和管理Oracle Standby数据库,以及在Oracle 9i环境下配置Data Guard的基本步骤。 ### Oracle Standby数据库概念 Oracle ...

    oracle standby database

    通过上述内容的介绍,我们不仅了解了Oracle Standby Database的基本概念和创建步骤,还深入探讨了Standby Database的管理、维护以及常见问题的解决方法。这些知识点对于Oracle数据库管理员来说非常重要,能够帮助...

    oracle_standby_training.ppt

    - Standby 核心机制:核心组件包括standby controlfile、初始数据库备份和持续的archivelog recover过程。standby controlfile记录了备用数据库的状态信息;初始备份可以是冷备份、RMAN备份或操作系统热备份;归档...

    Oracle standby database的建立与维护.pdf

    本文将详细介绍Oracle Standby Database的建立过程、维护方法以及常见问题的解决策略。 1. Standby Database的建立 建立Oracle Standby Database主要包括以下步骤: - **配置数据库参数**:在主数据库和备用数据库...

    如何在Oracle 10g On Windows下创建standby database.doc

    以下是在Windows操作系统上执行此过程的详细步骤: 1. **环境准备**: - 确保主从两台服务器的操作系统是Windows 2000 Professional,并且都已安装Service Pack 4。 - 在两台服务器上都安装Oracle 10g,但只选择...

    Oracle DataGuard物理Standby Database配置

    以下是配置物理Standby Database的详细步骤: 1. **启用Forced Logging** - 在创建数据库后,启用FORCE LOGGING模式是非常重要的一步,因为它确保所有事务都被记录在重做日志中,即使在非归档模式下也是如此。这有...

    oracle dataguard 物理standby建立

    在Oracle数据库管理中,Data Guard是一项关键的高可用性和灾难恢复技术,它通过在主数据库...通过以上步骤,可以成功地在Oracle环境中建立一个物理Standby数据库,为实现高可用性和灾难恢复策略打下坚实的基础。

    ORACLE DATAGURD 物理standby配置

    通过上述步骤,我们已经成功配置了 Oracle Dataguard 的物理 Standby 数据库。这种配置不仅可以提高系统的可用性,还能为灾难恢复提供强有力的支持。对于企业级应用程序而言,Oracle Dataguard 提供了一个可靠且高...

    ORACLE9iRAC安装手册

    本文将基于“ORACLE9iRAC安装手册”,深入解析其关键知识点,包括安装前的准备工作、系统配置要求以及软件安装步骤,以指导Oracle新手顺利部署RAC环境。 #### 安装前工作详解 ##### 操作系统环境 ORACLE9iRAC的...

    Oracle dataguard实施步骤

    Oracle Dataguard 实施步骤详解 Oracle Dataguard 是 Oracle 数据库的一种高可用性解决方案,通过在备库(Standby)上维护一份主库(Primary)的副本,实现数据的实时同步和灾难恢复。本文将详细介绍 Oracle ...

    [手工整理]208个Oracle安装文档,包含各个平台各个版本的单实例RAC以及DataGuard(1).xlsx

    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-...

Global site tag (gtag.js) - Google Analytics