ORACLE 11G 之DATAGUARD搭建物理standby

2024-05-10 06:18

本文主要是介绍ORACLE 11G 之DATAGUARD搭建物理standby,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1 安装环境

Primary库上安装数据库软件,并建监听和实例,在Standby库上安装数据库软件,并建监听,但不建实例。

 

Primary

Standby

操作系统

CentOS release 6.4 64

CentOS release 6.4 64

IP/主机名

192.183.3.17/nn

192.183.3.145/kk

数据库软件版本

oracle 11.2.0.1.0

oracle 11.2.0.1.0

ORACLE_HOME

/home/oracle/product

/home/oracle/product

ORACLE_SID

orcl

orcl

db_unique_name

primary

standby

Net Service Name

ser_pri

ser_std



2 Primary库配置

2.1 设置数据库强制归档与归档模式

  •  将主库设置为FORCE LOGGING模式
      SQL>alter database force logging;
  • 开启归档模式

        查看归档模式:

     SQL>archive log list;
        设置归档模式:


2.2重建密码文件

            同一个Dataguard中所有数据库必须拥有独立的密码文件,并且保证sys用户拥有相同密码来保证redo的传输。默认Oracle自建的密码文件保存在$ORACLE_HOME/dbs/orapw$ORACLE_SID中,可以直接copystandby库对应目录中(本案例采用该方法),如果没有该文件也可以通过如下方式重建。

[oracle@nn~]$ orapwd file='$ORACLE_HOME/dbs/orapw$ORACLE_SID' password=123456 force=y ignorecase=y

2.3 STANDBY日志文件与控制文件创建

  • 添加standby日志文件

   

     SQL>alter database add standby logfile group 4('/home/oracle/oradata/orcl/stdby01.log')size 50M;SQL>alter database add standby logfile group 5('/home/oracle/oradata/orcl/stdby02.log')size 50M;SQL>alter database add standby logfile group 6('/home/oracle/oradata/orcl/std03.log')size 50M;SQL>select group#,member from v$logfile order by 1;

  •  创建standby控制文件
       SQL> alter database create standby controlfile as 'home/oracle/oradata/orcl/standby01.ctl';[oracle@nn ~]$ cp /home/oracle/oradata/orcl/standby01.ctl /home/oracle/flash_recovery_area/orcl/ standby02.ctl


2.4 修改primarypfile

2.4.1 生成pfile
       SQL>create pfile from spfile;SQL>shutdown immediate;
2.42 修改pfile
     [oracle@nn~]$vi $ORACLE_HOME/dbs/initorcl.ora

在最后添加如下红色框内内容:

2.4.3 生成spfile
       SQL>startup pfile='/home/oracle/product/dbs/initorcl.ora'SQL>create spfile from pfile='/home/oracle/product/dbs/initorcl.ora';

2.5 修改监听配置文件

         监听文件目录$ORACLE_HOME/network/admin,配置完成后重启监听。

    [oracle@nn admin]$vi listener.ora

2.6修改TNS配置文件

         TNS文件目录$ORACLE_HOME/network/admin

     [oracle@nn admin]$vi tnsnames.ora

2.7 备份数据库

    [oracle@nn backupset]$rman target/RMAN>sql ''alter system archive log current'';RMAN>backup database include current controlfile for standby plus archivelog;


         备份完成后会在闪回区生产备份文件。

3 standby库配置

3.1 建立相应的文件目录

         包括dump文件目录,闪回区,数据文件目录,可以通过show parameter dest命令查看

      [oracle@kk~]$mkdir -p /home/oracle/admin/orcl/adump[oracle@kk~]$mkdir -p /home/oracle/admin/orcl/dpdump[oracle@kk~]$mkdir -p /home/oracle/admin/orcl/pfile[oracle@kk~]$mkdir -p /home/oracle/diag/rdbms[oracle@kk~]$mkdir -p /home/oracle/flash_recovery_area[oracle@kk~]$mkdir -p /home/oracle/oradata/orcl


3.2 从primary库服务器上拷贝文件

3.2.1 拷贝闪回区的备份内容
      [oracle@nn ORCL]$scp -r /home/oracle/flash_recovery_area/ORCL/backupset 192.183.3.145:/home/oracle/flash_recovery_area/ORCL/


3.2.2 拷贝参数文件与密码文件
     [oracle@nn ORCL]$scp -r /home/oracle/product/dbs 192.183.3.145:/home/oracle/product/dbs


3.2.3 拷贝监听文件
     [oracle@nn~]$scp -r /home/oracle/product/network/admin/*.ora 192.183.3.145:/home/oracle/product/network/admin/

3.3 修改监听配置文件

3.4 TNS配置文件

3.5 修改参数文件

     [oracle@kk ~]$ vi $ORACLE_HOME/dbs/initorcl.ora

修改如下内容:

3.6 启动standbynomount状态

       SQL> STARTUP nomount pfile='/home/oracle/product/dbs/initorcl.ora';SQL> create spfile from pfile='/home/oracle/product/dbs/initorcl.ora';

3.7 恢复数据库

     [oracle@kk~]$rman target sys/123456@ser_pri auxiliary/RMAN> duplicate target database for standby nofilenamecheck dorecover;

         或者执行如下的脚本也可以进行standby库的恢复。



3.8 启动STANDBY库

       Duplicate 完成后standby库已经处于正常的mount状态,应打开recover

    SQL> alter database recover managed standby database disconnect from session;

       查看数据库角色、角色切换、保护模式

    SQL> select database_role,switchover_status,protection_mode,protection_level from v$database;

3.9 验证配置是否成功

       归档日志Current log sequence相同,说明配置成功,如下:

  •  Primary库

  •  Standby库




这篇关于ORACLE 11G 之DATAGUARD搭建物理standby的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975664

相关文章

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

PLsql Oracle 下载安装图文过程详解

《PLsqlOracle下载安装图文过程详解》PL/SQLDeveloper是一款用于开发Oracle数据库的集成开发环境,可以通过官网下载安装配置,并通过配置tnsnames.ora文件及环境变... 目录一、PL/SQL Developer 简介二、PL/SQL Developer 安装及配置详解1.下

本地搭建DeepSeek-R1、WebUI的完整过程及访问

《本地搭建DeepSeek-R1、WebUI的完整过程及访问》:本文主要介绍本地搭建DeepSeek-R1、WebUI的完整过程及访问的相关资料,DeepSeek-R1是一个开源的人工智能平台,主... 目录背景       搭建准备基础概念搭建过程访问对话测试总结背景       最近几年,人工智能技术

oracle如何连接登陆SYS账号

《oracle如何连接登陆SYS账号》在Navicat12中连接Oracle11g的SYS用户时,如果设置了新密码但连接失败,可能是因为需要以SYSDBA或SYSOPER角色连接,解决方法是确保在连接... 目录oracle连接登陆NmOtMSYS账号工具问题解决SYS用户总结oracle连接登陆SYS账号

Oracle数据库如何切换登录用户(system和sys)

《Oracle数据库如何切换登录用户(system和sys)》文章介绍了如何使用SQL*Plus工具登录Oracle数据库的system用户,包括打开登录入口、输入用户名和口令、以及切换到sys用户的... 目录打开登录入口登录system用户总结打开登录入口win+R打开运行对话框,输php入:sqlp

查询Oracle数据库表是否被锁的实现方式

《查询Oracle数据库表是否被锁的实现方式》本文介绍了查询Oracle数据库表是否被锁的方法,包括查询锁表的会话、人员信息,根据object_id查询表名,以及根据会话ID查询和停止本地进程,同时,... 目录查询oracle数据库表是否被锁1、查询锁表的会话、人员等信息2、根据 object_id查询被

5分钟获取deepseek api并搭建简易问答应用

《5分钟获取deepseekapi并搭建简易问答应用》本文主要介绍了5分钟获取deepseekapi并搭建简易问答应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需... 目录1、获取api2、获取base_url和chat_model3、配置模型参数方法一:终端中临时将加

虚拟机与物理机的文件共享方式

《虚拟机与物理机的文件共享方式》文章介绍了如何在KaliLinux虚拟机中实现物理机文件夹的直接挂载,以便在虚拟机中方便地读取和使用物理机上的文件,通过设置和配置,可以实现临时挂载和永久挂载,并提供... 目录虚拟机与物理机的文件共享1 虚拟机设置2 验证Kali下分享文件夹功能是否启用3 创建挂载目录4

Oracle查询优化之高效实现仅查询前10条记录的方法与实践

《Oracle查询优化之高效实现仅查询前10条记录的方法与实践》:本文主要介绍Oracle查询优化之高效实现仅查询前10条记录的相关资料,包括使用ROWNUM、ROW_NUMBER()函数、FET... 目录1. 使用 ROWNUM 查询2. 使用 ROW_NUMBER() 函数3. 使用 FETCH FI

数据库oracle用户密码过期查询及解决方案

《数据库oracle用户密码过期查询及解决方案》:本文主要介绍如何处理ORACLE数据库用户密码过期和修改密码期限的问题,包括创建用户、赋予权限、修改密码、解锁用户和设置密码期限,文中通过代码介绍... 目录前言一、创建用户、赋予权限、修改密码、解锁用户和设置期限二、查询用户密码期限和过期后的修改1.查询用