手动搭建Dataguard步骤(同一服务器上physic standby)

2024-02-07 06:18

本文主要是介绍手动搭建Dataguard步骤(同一服务器上physic standby),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(1)建立对应standby数据库的目录,如$ORACLE_BASE/admin,$ORACL_EBASE/oradata下的对应目录以及相关子目录,归档日志存放目录,闪回区存放路径等;创建密码文件。

mkdir /opt/oracle/admin/standby
cd /opt/oracle/admin/standby
mkdir adump bdump cdump udump dpdump

mkdir /opt/oracle/oradata/standby

mkdir /opt/oracle/oradata/standby/archivelog

 

orapwd file=$ORACLE_HOME/dbs/orapwstandby password=oracle force=y

 

(2) 开始主库的备份,备份包括数据文件和控制文件

alter database begin backup;

 cp /opt/oracle/oradata/ocp/system01.dbf /home/oracle/backup/
 cp /opt/oracle/oradata/ocp/undotbs01.dbf /home/oracle/backup/
 cp /opt/oracle/oradata/ocp/sysaux01.dbf /home/oracle/backup/
 cp /opt/oracle/oradata/ocp/users01.dbf /home/oracle/backup/
 cp /opt/oracle/oradata/ocp/perfstat01.dbf /home/oracle/backup/
 cp /opt/oracle/oradata/ocp/example01.dbf /home/oracle/backup/
 cp /opt/oracle/oradata/ocp/user01.dbf /home/oracle/backup/
 cp /opt/oracle/oradata/ocp/user02.dbf /home/oracle/backup/

alter database end backup;

alter system archive log current;

alter database create standby controlfile as '/home/oracle/backup/control01.ctl'; --这里要注意语法

 

(3) 修改主库的参数文件

create pfile from spfile

vim $ORACLE_HOME/dbs/initocp.ora

 

*.log_archive_config='dg_config=(demo,standby)'
*.fal_server=standby
*.fal_client=demo
*.standby_file_management=AUTO
*.db_unique_name=demo
*.log_archive_dest_1='LOCATION=/opt/oracle/oradata/ocp/archive/'
*.log_archive_dest_2='SERVICE=standby valid_for=(online_logfiles,primary_role) db_unique_name=standby'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'

 

(4)关闭主库,创建spfile

shutdown immediate;

create spfile from pfile;

 

(5)创建备库的参数文件

 

create pfile='?/dbs/initstandby.ora' from spfile;

 

改变其中的相关路径,设置如下对应参数:
*.log_archive_dest_1='LOCATION=/opt/oracle/oradata/standby/archive/'
*.log_archive_dest_2='SERVICE=ocp valid_for=(online_logfiles,primary_role) db_unique_name=ocp'
*.log_archive_config='dg_config=(ocp,standby)'
*.fal_server=ocp
*.fal_client=standby
*.standby_file_management=AUTO
*.db_unique_name=standby
*.db_file_name_convert='/opt/oracle/oradata/ocp','/opt/oracle/oradata/standby'
*.log_file_name_convert='/opt/oracle/oradata/ocp','/opt/oracle/oradata/standby'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'

修改pfile完成后,创建备库对应的spfile:

create spfile='?/dbs/spfilestandby.ora' from pfile='?/dbs/initstandby.ora';

 

(6) 配置监听,将对应的db_unique_name配置进去

vim $ORACLE_HOME/network/admin/tnsnames.ora

DEMO =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.102)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = demo)
    )
  )

STANDBY =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.102)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = standby)
    )
  )

重新启动监听。

 

(7)copy 主库数据文件和控制文件的备份到备库对应目录

cd  /home/oracle/backup/

cp * /opt/oracle/oradata/standby

 

(8)启动备库

export ORACLE_SID=standby

startup mount;

 

如果没有临时文件,记得增加临时文件,以备查询时排序的需要。

alter tablespace temp add tempfile '路径' size 20M;

 

(9)启动主库

export ORACLE_SID=demo

startup;

 

(10) 验证日志是否传送到备库

在主库切日志 alter system switch logfile; / /

主库查看 archive log list

 

备库查看 archive log list;

 

如果没有传送,请检查log_archive_dest_n的设置以及tnsnames的配置(用tnsping检验是否可以ping 通)

 

select process,status from v$managed_standby; --备库上看看有哪些进程,有没有RFS进程

 

select message_num,message from v$dataguard_status; --看看提示信息

 

 

 

 

 

 

这篇关于手动搭建Dataguard步骤(同一服务器上physic standby)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Nginx部署HTTP/3的实现步骤

《Nginx部署HTTP/3的实现步骤》本文介绍了在Nginx中部署HTTP/3的详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录前提条件第一步:安装必要的依赖库第二步:获取并构建 BoringSSL第三步:获取 Nginx

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

SpringBoot路径映射配置的实现步骤

《SpringBoot路径映射配置的实现步骤》本文介绍了如何在SpringBoot项目中配置路径映射,使得除static目录外的资源可被访问,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一... 目录SpringBoot路径映射补:springboot 配置虚拟路径映射 @RequestMapp

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

Web服务器-Nginx-高并发问题

《Web服务器-Nginx-高并发问题》Nginx通过事件驱动、I/O多路复用和异步非阻塞技术高效处理高并发,结合动静分离和限流策略,提升性能与稳定性... 目录前言一、架构1. 原生多进程架构2. 事件驱动模型3. IO多路复用4. 异步非阻塞 I/O5. Nginx高并发配置实战二、动静分离1. 职责2

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Java使用正则提取字符串中的内容的详细步骤

《Java使用正则提取字符串中的内容的详细步骤》:本文主要介绍Java中使用正则表达式提取字符串内容的方法,通过Pattern和Matcher类实现,涵盖编译正则、查找匹配、分组捕获、数字与邮箱提... 目录1. 基础流程2. 关键方法说明3. 常见场景示例场景1:提取所有数字场景2:提取邮箱地址4. 高级

MySQL设置密码复杂度策略的完整步骤(附代码示例)

《MySQL设置密码复杂度策略的完整步骤(附代码示例)》MySQL密码策略还可能包括密码复杂度的检查,如是否要求密码包含大写字母、小写字母、数字和特殊字符等,:本文主要介绍MySQL设置密码复杂度... 目录前言1. 使用 validate_password 插件1.1 启用 validate_passwo

springboot整合mqtt的步骤示例详解

《springboot整合mqtt的步骤示例详解》MQTT(MessageQueuingTelemetryTransport)是一种轻量级的消息传输协议,适用于物联网设备之间的通信,本文介绍Sprin... 目录1、引入依赖包2、yml配置3、创建配置4、自定义注解6、使用示例使用场景:mqtt可用于消息发

Linux查询服务器 IP 地址的命令详解

《Linux查询服务器IP地址的命令详解》在服务器管理和网络运维中,快速准确地获取服务器的IP地址是一项基本但至关重要的技能,下面我们来看看Linux中查询服务器IP的相关命令使用吧... 目录一、hostname 命令:简单高效的 IP 查询工具命令详解实际应用技巧注意事项二、ip 命令:新一代网络配置全