欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle dataguard配置步骤

程序员文章站 2022-04-26 13:14:13
...

stream更加丰富,主要是应用层面的数据共享。前一段主要进行了rac的环境搭建,这两天在虚拟机上进行了dataguard环境搭建和测试,

rac,dataguard,stream被认为是Oracle的高可用的三架马车。

三架马车各有侧重:

rac主要解决了单节点故障,实现负载均衡,也实现了高性能。常用于24x7的商业应用。

dataguard用冗余的方式实现高可用的,解决容灾。

stream更加丰富,主要是应用层面的数据共享。

前一段主要进行了rac的环境搭建,这两天在虚拟机上进行了dataguard环境搭建和测试,开始想对之前的rac作为primary ,但是一直没有成功。还是一步步从简单的开始,从单实例来做,创建一个单实例的数据库,在同一台机器上搭建一个standby数据库。将自己的搭建步骤整理写出来,加深印象,供以后搭建参考,搭建的难点在于参数文件的配置。

环境:

操作系统:RedHat 4 32位 2.6.9-89.ELsmp

数据库版本:oracle 10g 10.2.0.1

已经有一个单实例的数据库了。

我是参考三思笔记搭建的,数据库名字直接用上面的名字了。下面所指的主数据库,primary数据库都是指jssweb, standby数据库指jsspdg。

我的数据库路径是

oracle_home=/usr/oracle/product/10.2.0/db_1

ORACLE_BASE=/usr/oracle

文件路径是:/usr/oracle/oradata/数据库名字/数据文件,控制文件,日志文件和归档日志文件。

搭建步骤:

1、确定primary数据库是归档模式

SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /usr/oracle/oradata/jssweb
Oldest online log sequence 34
Next log sequence to archive 36
Current log sequence 36

如果非归档模式

先设置归档位置

参看参数

SQL> show parameter archive log;

NAME TYPE VALUE
------------------------------------ ---------------------- ------------------------------
archive_lag_target integer 0
log_archive_config string DG_CONFIG=(jssweb,jsspdg)
log_archive_dest string
log_archive_dest_1 string LOCATION=/usr/oracle/oradata/j
ssweb VALID_FOR=(ALL_LOGFILES,
ALL_ROLES) DB_UNIQUE_NAME=jssw
eb

如果没有设置归档位置,先暂时设置一个归档位置,,再重新启动数据为归档模式

SQL> alter system set log_archive_dest_1='LOCATION=/usr/oracle/oradata/jssweb'

然后

SQL> shutdown immediate

……

SQL> startup mount

SQL> alter database archivelog;

SQL> alter database open;

2、先确定primary数据库是FORCED LOGGING模式,目的是所有ddl语句都写redo log,及时是有nologging限制的ddl语句。

SQL> alter database force logging;
alter database force logging
*
ERROR at line 1:
ORA-12920: database is already in force logging mode

说明已经是FORCED LOGGING

3、创建standby数据库的文件夹。主要是standby和primary的启动参数文件需要用。

用oracle用户

在/usr/oracle/admin下创建jsspdg文件夹

在/usr/oracle/admin/jsspdg/下创建adump bdump cdump dpdump pfile udump这些文件夹。

4、创建standby的控制文件,控制文件名直接用control01.ctl

在主primary数据库中创建

登录主数据库

SQL> alter database create standby controlfile as '/usr/oracle/oradata/jsspdg/control01.ctl';

Oracle dataguard配置步骤