iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >Oracle 10G DataGuard搭建
  • 739
分享到

Oracle 10G DataGuard搭建

2024-04-02 19:04:59 739人浏览 安东尼
摘要

前面我们有讲到oracle 11G DataGuard的搭建,10G的搭建也是大同小异.不过Oracle 10G不支持Standby open环境:角色主机名IP数据库版本操作系统版本Primaryfdb1

前面我们有讲到oracle 11G DataGuard的搭建,10G的搭建也是大同小异.不过Oracle 10G不支持Standby open

环境:

角色主机名IP数据库版本操作系统版本
Primaryfdb1192.168.10.810.2.0.1Centos 5.11 x86_64
Standbyfdb2192.168.10.910.2.0.1CentOS 5.11 x86_64

在fdb1的/etc/hosts中加入(fdb1)

127.0.0.1 fdb1
192.168.10.9    fdb2

在fdb2的/etc/hosts中加入(fdb2)

127.0.0.1 fdb2
192.168.10.8    fdb1

创建必要的目录(fdb1,fdb2)

mkdir -p /opt/oracle/flash_recovery_area
mkdir -p /opt/oracle/admin/fengdb/{a,b,c,u}dump
mkdir /opt/oracle/oradata/fengdb -p
mkdir -p /opt/oracle/dbackup
mkdir -p /opt/oracle/flash_recovery_area/fengdb/arcHivelog

查看当前的redo组(fdb1)

select group#,member from v$logfile;
//增加standby日志组
alter database add standby logfile ('/opt/oracle/oradata/fengdb/standby04.log') size 50m;
alter database add standby logfile ('/opt/oracle/oradata/fengdb/standby05.log') size 50m;
alter database add standby logfile ('/opt/oracle/oradata/fengdb/standby06.log') size 50m;
alter database add standby logfile ('/opt/oracle/oradata/fengdb/standby07.log') size 50m;


创建原始参数文件用于备份(fdb1)

create pfile='/tmp/fengdb.pfile.ori' from spfile;


修改相关参数用于DataGuard环境,注意此处与Oracle 11G不同(fdb1)

alter system set db_unique_name=fdb1 scope=spfile;
alter system set log_archive_config='dg_config=(fdb1,fdb2)' scope=spfile;
alter system set log_archive_dest_1= 'location=/opt/oracle/flash_recovery_area/fengdb/archivelog valid_for=(all_logfiles,all_roles)  db_unique_name=fdb1' scope=spfile;
alter system set log_archive_dest_2= 'service=fdb2 async  valid_for=(online_logfiles,primary_role)  db_unique_name=fdb2' scope=spfile;
alter system set log_archive_dest='' scope=spfile;
alter system set log_archive_dest_state_1=enable scope=spfile;
alter system set log_archive_dest_state_2=enable scope=spfile;
alter system set standby_file_management=auto scope=spfile;
alter system set fal_server=fdb2 scope=spfile;
alter system set fal_client=fdb1 scope=spfile;
alter system set db_file_name_convert='/opt/oracle/flash_recovery_area','/opt/oracle/flash_recovery_area' scope=spfile;
alter system set log_file_name_convert='/opt/oracle/flash_recovery_area','/opt/oracle/flash_recovery_area' scope=spfile;

注意:与Oracle 11G不同的地方有:

alter system set log_archive_dest='' scope=spfile;

否则可能出现ORA-16019: cannot use LOG_ARCHIVE_DEST_1 with LOG_ARCHIVE_DEST or LOG_ARCHIVE_DUPLEX_DEST

以及上面都是直接修改spfile的,不修改当前运行中的参数

scope=spfile


执行上面的语句其实就是改了下面的一些参数

*.db_unique_name='fdb1'

*.log_archive_config='dg_config=(fdb1,fdb2)'

*.log_archive_dest_1='location=/opt/oracle/flash_recovery_area/fengdb/archivelog valid_for=(all_logfiles,all_roles)  db_unique_name=fdb1'

*.log_archive_dest_2='service=fdb2 async  valid_for=(online_logfiles,primary_role)  db_unique_name=fdb2'

*.log_archive_dest_state_1='ENABLE'

*.log_archive_dest_state_2='ENABLE'

*.standby_file_management='AUTO'

*.fal_client='fdb1'

*.fal_server='fdb2'

*.db_file_name_convert='/opt/oracle/flash_recovery_area','/opt/oracle/flash_recovery_area'

*.log_file_name_convert='/opt/oracle/flash_recovery_area','/opt/oracle/flash_recovery_area'

*.log_archive_dest=''


重启数据库以使数据库生效(fdb1)

shutdown  immediate
startup

 

修改监听(fdb1)

vim $ORACLE_HOME/network/admin/tnsnames.ora

fdb1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = tcp)(HOST = fdb1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = fdb1)
    )
  )

fdb2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = fdb2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = fdb2)
    )
  )


RMAN备份(fdb1)

rman target /
run{
allocate channel c1 type disk;
backup fORMat '/opt/oracle/dbackup/fengdb_%T_%s_%p' database;
sql 'alter system archive log current';
backup format '/opt/oracle/dbackup/archive_log_%T_%s_%p' archivelog all;
backup spfile format '/opt/oracle/dbackup/spfile_%u_%T.bak';
release channel c1;
}
copy current controlfile for standby to '/opt/oracle/dbackup/standby.ctl';


将备份及监听文件和密码文件全部复制到fdb2上(fdb1)

scp -r /opt/oracle/dbackup/* fdb2:/opt/oracle/dbackup

scp -r $ORACLE_HOME/network/admin/* fdb2:$ORACLE_HOME/network/admin/

scp -r $ORACLE_HOME/dbs/* fdb2:$ORACLE_HOME/dbs/


在fdb2上执行如下对数据库进行恢复(fdb2)

RMAN> startup nomount;

RMAN> restore spfile to pfile '/tmp/fengdb.pfile' from '/opt/oracle/dbackup/spfile_rmrioont_20161019.bak';

RMAN> shutdown immediate;

然后修改/etc/fengdb.pfile成如下的红色部分

*.db_unique_name='fdb2'

*.fal_client='fdb2'

*.fal_server='fdb1'

*.log_archive_config='dg_config=(fdb2,fdb1)'

*.log_archive_dest_1='location=/opt/oracle/flash_recovery_area/fengdb/archivelog valid_for=(all_logfiles,all_roles)  db_unique_name=fdb2'

*.log_archive_dest_2='service=fdb1 async  valid_for=(online_logfiles,primary_role)  db_unique_name=fdb1'

*.log_archive_dest_state_1='ENABLE'

*.log_archive_dest_state_2='ENABLE'


备库复制控制文件(fdb2)

cp /opt/oracle/dbackup/standby.ctl /opt/oracle/oradata/fengdb/control01.ctl

cp /opt/oracle/dbackup/standby.ctl /opt/oracle/oradata/fengdb/control02.ctl

cp /opt/oracle/dbackup/standby.ctl /opt/oracle/oradata/fengdb/control03.ctl


启动至mount状态进行数据的恢复

RMAN> startup mount;
RMAN> restore database;

启动备库应用日志

SQL> alter database recover managed standby database using current logfile disconnect from session;

创建参数文件

SQL> create spfile from pfile='/tmp/fengdb.pfile';

注意:Oracle 10G与11G的区别:

10G备库只能启动到mount状态,而11G可以启动到open read only.


检查日志是否同步(fdb1,fdb2)

select sequence#,applied from v$archived_log;

也可以试着切换下日志

//切换日志
alter system switch logfile;
select sequence#,applied from v$archived_log;


在主库:(fdb1)

select dest_name,status,error from v$archive_dest;
alter system set log_archive_dest_state_2= enable;


查询角色(fdb1,fdb2)

select open_mode,database_role from v$database;


如果在备库上

SQL> select sequence#,applied from v$archived_log;

no rows selected

而且监听都是正常的,则有可能就是密码没复制过来

保持主库密码和备库密码一致

复制密码文件(fdb1)

scp $ORACLE_HOME/dbs/orapw$ORACLE_SID fdb2:$ORACLE_HOME/dbs/orapw$ORACLE_SID



Oracle 10G主备切换

db1---primary/db2---standby   ===》db2--primary/db1--standby


[oracle@fdb1 ~]$ lsnrctl stop

(fdb1)SQL> alter database commit to switchover to physical standby with session shutdown;

(fdb1)SQL> shutdown immediate;

(fdb1)SQL> startup mount;

(fdb1)SQL> alter database recover managed standby database using current logfile disconnect from session;

//在执行这条的时候,如果出现

ERROR at line 1:

ORA-01665: control file is not a standby control file

则是没有执行alter database commit to switchover to physical standby with session shutdown;


若出现ORA-38500: USING CURRENT LOGFILE option not available without stand

这种情况出现在主备切换之后,备再切换回主的情况下出现

SQL> select member from v$logfile;

MEMBER

--------------------------------------------------------------------------------

/opt/oracle/oradata/fengdb/redo03.log

/opt/oracle/oradata/fengdbredo02.log

/opt/oracle/oradata/fengdb/redo01.log

增加standby flog即可

alter database add standby logfile ('/opt/oracle/oradata/fengdb/standby04.log') size 50m;

alter database add standby logfile ('/opt/oracle/oradata/fengdb/standby05.log') size 50m;

alter database add standby logfile ('/opt/oracle/oradata/fengdb/standby06.log') size 50m;

alter database add standby logfile ('/opt/oracle/oradata/fengdb/standby07.log') size 50m;



[oracle@fdb1 ~]$ lsnrctl start


(fdb2)SQL> alter database commit to switchover to primary;

注意:

若出现ORA-16139: media recovery required,执行如下语句:

SQL> ALTER  DATABASE RECOVER MANAGED STANDBY  DATABASE DISCONNECT FROM SESSION;

SQL> alter database commit to switchover to primary;


如果出现,则可能是已打开了会话,加上with session shutdown强制关闭绘画

ERROR at line 1:

ORA-01093: ALTER DATABASE CLOSE only permitted with no sessions connected


SQL> alter database commit to switchover to primary WITH SESSION SHUTDOWN;


(fdb2)SQL> shutdown immediate;

(fdb2)SQL> startup;



您可能感兴趣的文档:

--结束END--

本文标题: Oracle 10G DataGuard搭建

本文链接: https://www.lsjlt.com/news/39533.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Oracle 10G DataGuard搭建
    前面我们有讲到Oracle 11G DataGuard的搭建,10G的搭建也是大同小异.不过Oracle 10G不支持Standby open环境:角色主机名IP数据库版本操作系统版本Primaryfdb1...
    99+
    2022-10-18
  • oracle 11gR2 搭建dataguard
    1、搭建环境 主库   oracle11gR2    备库 oracle11gR2 db_name orcl       &n...
    99+
    2022-10-18
  • 怎么搭建oracle DataGuard
    本篇内容介绍了“怎么搭建oracle DataGuard”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1....
    99+
    2022-10-18
  • 如何搭建Oracle DataGuard
    这篇文章主要讲解了“如何搭建Oracle DataGuard”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建Oracle DataGuard”吧!一、...
    99+
    2022-10-19
  • oracle 11g dataguard环境搭建
    硬件和系统软件说明:操作系统:Oracle Linux 5.8 64位oracle软件:oracle 11.2.0.1角色           主机名 &n...
    99+
    2022-10-18
  • Oracle duplicate搭建dataguard (Backup-based duplication)
    duplicate搭建DG  (Backup-based duplication)源库:run{allocate channel ch2 device type disk;allocate cha...
    99+
    2022-10-18
  • CentOS6.5下搭建oracle 11g Dataguard(一)
    一、环境准备 主机 1 (主库) 主机 2 (备库) 操作系统 Centos6.5 64 位 Centos6.5...
    99+
    2022-10-18
  • oracle 12.2.0.1 使用 sqlplus 搭建 active dataguard
    oracle 12.2.0.1 使用 sqlplus 搭建 active dataguard 数据库人生 2018-07-08 10:12:27 490 收藏 分类专栏: # oracle ha data guard 文章标签: activ...
    99+
    2019-09-29
    oracle 12.2.0.1 使用 sqlplus 搭建 active dataguard
  • CentOS 5.11下Oracle 11G R2 Dataguard搭建
    Datagard算是Oracle企业版的一种容灾方案,在企业中广泛应用,我就将搭建过程记录下来以作备用。主机名    数据库版本   &...
    99+
    2022-10-18
  • 手把手教你搭建Oracle 11G dataguard
    一、前期准备    在准备搭建DATAGARD的时候,看过许多篇教程,按着教程去走,出现过问题,然后就不知道该如何进行下一步。   &n...
    99+
    2022-10-18
  • Oracle在一台机器上搭建dataguard
    这两天找了台机器搭建dataguard。 1. 环境准备。 操作系统 [oracle ~]$ lsb_release -a  LSB Version:    :base-4.0...
    99+
    2022-10-18
  • DATAGUARD搭建脚本.
    1.duplicate target databasefor standbyfrom active database nofilenamecheckDORECOVERspfileset service_na...
    99+
    2022-10-18
  • 怎么搭建dataguard
    本篇内容主要讲解“怎么搭建dataguard”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么搭建dataguard”吧!     ...
    99+
    2022-10-18
  • 10G ORACLE RAC 搭建实战之LINUX LVM划分
     LVM划分1.划分说明服务器对存储设备的访问采用多路径技术    (Linux Device Mapper Multipathing)...
    99+
    2022-10-18
  • 10G ORACLE RAC 搭建实战之环境配置
    一.  用户创建各个节点用户名和用户组必须一样,并创建oracle安装目录以及clustercrs目录[root@rac1]#groupadd -g 500 dba  [root@rac...
    99+
    2022-10-18
  • ORACLE 12C DATAGUARD环境搭建和主从切换
    环境说明: 目的: (1)在linux 操作系统下,创建oracle 12c 单实例的dataguard环境 (2)测试dataguard主从切换 主库:10.50.115.12 (DB_UNIQUE_N...
    99+
    2022-10-18
  • Oracle RAC+DG环境搭建(CentOS 7+Oracle 12C)( 十) 部署 DataGuard
    一、配置主机   1. 设置主机名 hostnamectl set-hostname  DG   2. 配置网络 vim /e...
    99+
    2022-10-18
  • oracle 10g rac重建crs
    1.crs文件已经损坏,删除crs信息rac10g1节点:[root@rac10g01 install]# ./rootdelete.shShutting down Oracle Cluster ...
    99+
    2022-10-18
  • dataguard搭建-rac到单机
    DG兼容列表:Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configurat...
    99+
    2022-10-18
  • 使用RMAN备份集搭建Oracle Dataguard Step by Step(二)
      5、网络配置和密码文件配置   Primary和Standby端在sys用户管理密码上要求相同,所以在密码文件问题上,直接拷贝命名是支持的。 &nbs...
    99+
    2022-10-18
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作