厦门创意网站建设/seo零基础视频教程
使用duplicate搭建备库或者级联备库:
主库或者源端:
1. 创建pfile,更改&添加部分参数、传输到备库;
2. 主库(或者源端)的tnsnames.ora文件添加 备库的连接信息
备库:
1. 备库添加静态监听
2. 添加主备库信息到TNSNAMES.ORA文件中(可选)
3. 将主库的orapw$SID 文件拷贝到备库,可使用sqlplus sys/password@primary as sysdba 验证密码正确与否
4. 备库 创建initstb.ora 里面的目录,并使用此pfile启动到Nomount状态
主库或者源端:
以上都做完,在主库或者源端做rman连接,使用duplicate进行复制了
以上是主备库需要做的事情汇总,
以下是使用duplicate复制的具体步骤
主库或者源端:
创建pfile,更改&添加部分参数、传输到备库这里我没有使用主库,而是主库的ADG备库作为源端:
1. sqlplus / as sysdba登录ADG备库
create pfile='/home/oracle/initstb.ora' from spfile;
去/home/oracle找到initstb.ora文件,替换里面所有的hgxx为 hgxxdg5 ,可添加如下参数,scp传输到备库
*.db_file_name_convert='hgxxdg1','hgxxdg5','/u01/app/oracle/oradata/HGXXDG1/datafile','/u01/app/oracle/oradata/HGXXDG5/datafile'
*.log_file_name_convert='hgxxdg1','hgxxdg5'
*.standby_file_management='auto'
*.db_create_file_dest='/u01/app/oracle/oradata'
*.log_archive_config='dg_config=(hgxx,hgxxdg5)'
log_archive_dest_1='LOCATION=/u01/app/oracle/oradata/HDCC/archivelog
2. 主库tnsnames.ora 添加备库信息
cat $ORACLE_HOME/network/admin/tnsnames.ora
hgxxdg5 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hgxxdg5 )
)
)
备库:
1. 备库添加静态监听
cat $ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = hgxx)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
(SID_NAME = hgxxdg5)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
)
)
2. 添加主备库信息到TNSNAMES.ORA文件中(可选)
cat $ORACLE_HOME/network/admin/tnsnames.ora
hgxx =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hgxx)
)
)
hgxxdg5 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xx.xx.xx.xx)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = hgxxdg5 )
)
)
3. 将主库的orapw$SID 文件拷贝到备库,可使用sqlplus sys/password@primary as sysdba 验证密码正确与否
4. 备库 创建initstb.ora 里面的目录,并使用此pfile启动到Nomount状态
4.1 在备库创建initstb.ora里面的目录&数据文件的目录,目录存在的话,跳过
mkdir -p /u01/app/oracle/admin/hgxxdg1/adump
mkdir -p /u01/app/oracle/oradata/hgxxdg1/controlfile/
mkdir -p /u01/app/oracle/oradata
mkdir -p /u01/app/oracle/fast_recovery_area
4.2启动要duplicate的备库到nomount状态
startup nomount pfile='/home/oracle/initstb.ora';
create spfile from pfile='/home/oracle/initstb.ora';
再回到主库或者源端使用rman登录,并duplicate复制
rman target sys/j5JP8zIe@HDCC auxiliary sys/j5JP8zIe@hdccdg5
duplicate target database for standby from active database nofilenamecheck;
以下是输出结果:
[oracle@D2-CC-DB78 admin]$ rman target sys/password@primary auxiliary sys/password@standby Recovery Manager: Release 11.2.0.4.0 - Production on Wed Aug 14 11:10:24 2024 Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved. connected to target database: HGXX (DBID=893348868) RMAN> duplicate target database for standby from active database nofilenamecheck; Starting Duplicate Db at 14-AUG-24 contents of Memory Script: Starting backup at 14-AUG-24 contents of Memory Script: Starting backup at 14-AUG-24 contents of Memory Script: sql statement: alter database mount standby database contents of Memory Script: executing command: SET NEWNAME renamed tempfile 1 to /u01/app/oracle/oradata/HGXXDG5/datafile/o1_mf_temp_gclf6dvf_.tmp in control file executing command: SET NEWNAME ...中间省略 Starting backup at 14-AUG-24 input datafile file number=00004 name=/u01/app/oracle/oradata/hgxxdg1/users.259.1005835259 ...中间省略 Finished backup at 14-AUG-24 contents of Memory Script: datafile 1 switched to datafile copy ...中间省略 Finished Duplicate Db at 14-AUG-24 |
主库或者源库修改如下参数,也可以直接写在Init文件中:
alter system set log_archive_config='DG_CONFIG=(hgxxdg1,hgxxdg5)' scope=both sid='*';
alter system set log_archive_dest_5 ='SERVICE=hgxxdg5 LGWR ASYNC VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=hgxxdg5' scope=both sid='*';
alter system set log_archive_dest_state_5=defer scope=both sid='*';
alter system set log_archive_dest_state_5=enable scope=both sid='*';
备库参数修改如下:
alter system set log_archive_dest_3 ='SERVICE=standby78 LGWR ASYNC VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=hgxxdg1' scope=both sid='*';
alter system set log_archive_dest_state_3=defer scope=both sid='*';
alter system set log_archive_dest_state_3=enable scope=both sid='*';
备库开启恢复进程
alter database recover managed standby database using current logfile disconnect from session;
查看恢复进程是否开启以及传输日志进程
set linesize 400;
select process,pid,status,thread#,sequence# from v$managed_standby;
PROCESS PID STATUS THREAD# SEQUENCE#
--------------------------- --------------- ------------------------------------ --------------- ---------------
ARCH 31943 CONNECTED 0 0
ARCH 31946 CONNECTED 0 0
ARCH 31948 CONNECTED 0 0
ARCH 31950 CONNECTED 0 0
MRP0 15347 WAIT_FOR_LOG 1 19717
RFS 18007 IDLE 0 0
RFS 15797 IDLE 0 0
查看备库alert日志,正在恢复数据了,这个是自动传输到备库的,并且开始恢复
Wed Aug 14 13:50:51 2024
Media Recovery Waiting for thread 1 sequence 19717
或者执行以下语句,查看备库执行过的log,跟主库或源端进行对比
SYS>select thread#,max(sequence#) from v$log_history group by thread#;
THREAD# MAX(SEQUENCE#)
--------------- ---------------
1 19716
2 15537
开启数据库为只读状态
SYS>alter database open;
Database altered.
SYS>alter database recover managed standby database using current logfile disconnect from session;
Database altered.
查看备库的状态
SYS>select open_mode,database_role from v$database;
OPEN_MODE DATABASE_ROLE
-------------------- ----------------
READ ONLY WITH APPLY PHYSICAL STANDBY
以下其他数据字典表也可以作为参考:
查看应用日志延迟时间:
SQL> select value from v$dataguard_stats where name='apply lag';
查看接收日志延迟时间:
SQL> select value from v$dataguard_stats where name='transport lag';
查看接受日志情况:
SQL> select max(sequence#) from v$archived_log where applied='YES';
相关文章:

使用duplicate搭建备库或者级联备库
使用duplicate搭建备库或者级联备库: 主库或者源端: 1. 创建pfile,更改&添加部分参数、传输到备库; 2. 主库(或者源端)的tnsnames.ora文件添加 备库的连接信息 备库: 1. 备库添加静态监听 2…...

【存储学习笔记】4:快照(Snapshot)技术的实现方式
1 快照 1.1 动机 在上一篇《备份》里提到,热备份就是在执行操作时,服务器需要正常处理来自用户或应用对数据的更新,这样能够保证数据7*24小时可用(在很多服务里这是必要的)。 而热备份的困难就是如何保证数据的一致…...

数根(字符串数根公式)
公式:a的数根(a-1)%91; #include <bits/stdc.h> using namespace std; string s; long long sum; int main(){cin>>s;for(int i0;i<s.size();i){sums[i]-0;}cout<<(sum-1)%91; }...

C语言之文件操作上卷(二十一)(逆行人生-2024)
📣📣📣📣📣📣📣📣 ✏️作者主页:枫霜剑客 📋 系列专栏:C语言知识学习归纳总结(逐梦篇专栏合集) 🌲上一篇: C语…...

【微服务架构实战】结合实际案例进行微服务架构的设计与实现
微服务架构实战 结合实际案例进行微服务架构的设计与实现 引言 微服务架构(Microservices Architecture)是一种将大型应用程序拆分成一组小型、独立的服务的方法,每个服务都专注于特定的业务功能,并能够独立开发、部署和扩展。这…...

为什么要有二级指针
提示:文章 文章目录 前言一、背景二、 2.1 2.2 总结 前言 前期疑问: 本文目标: 一、背景 之前一直疑问为什么要有二级指针,一直没有写这个帖子,今天整理了一下,收获颇丰 二、 2.1 // 增加对二级指针…...

如何保证数据不丢失?(死信队列)
死信队列 1、什么是死信 死信通常是消息在特定的场景下表现: 消息被拒绝访问消费者发生异常,超过重试次数消息的Expiration过期时长或者队列TTL过期时间消息队列到达最大容量 maxLength 2、什么是死信队列 只由死信构成的消息队列是死信队列 死信队…...

树莓派开发笔记01-树莓派的系统烧录以及初次开机配置
github主页:https://github.com/snqx-lqh gitee主页:https://gitee.com/snqx-lqh 本项目github地址:https://github.com/snqx-lqh/RaspberryPiLearningNotes 本项目gitee地址:https://gitee.com/snqx-lqh/RaspberryPiLearningNote…...

微信答题小程序产品研发-后端开发
在开发答题小程序的后端服务和数据库设计时,需要考虑API的设计、数据库模型的构建以及数据的安全性和一致性。 这里我采用了云开发,后端语言是Node,数据库是NoSql,然后我简单整理了各个功能模块的后端开发概要和数据库设计。 1. …...

回溯算法——LeetCode37 解数独
题目 力扣题目链接 思路 卡哥的思路,注意看他解释为什么是“二维回溯”。我的思路,类似y总解决 N 皇后问题时的第二种方法,即从左上到右下枚举棋盘的每个位置。 至于为什么与 N 皇后问题不一样,我认为是因为它每一行不止放一个…...

【CPP】继承语法详解与菱形继承
关于我: 睡觉待开机:个人主页 个人专栏: 《优选算法》《C语言》《CPP》 生活的理想,就是为了理想的生活! 作者留言 PDF版免费提供:倘若有需要,想拿我写的博客进行学习和交流,可以私信我将免费提供PDF版。…...

数据结构(6.2_1)——领接矩阵法
图的存储——邻接矩阵法 邻接矩阵(Adjacency Matrix)是一种使用二维数组来表示图的方法。在这种表示法中,矩阵的行和列都对应图的顶点。 特点 对于无向图,如果顶点i与顶点j之间有边,则矩阵的第i行第j列(…...

诈骗未成功是否构成犯罪?
诈骗未成功不一定构成犯罪。在刑法上,构成诈骗罪需要满足特定的构成要件,包括有非法占有的目的、实施了虚构事实或隐瞒真相的行为、对方因此陷入错误认识并处分财产、行为人或第三方取得财产、被害人遭受财产损失。如果诈骗行为未能成功,即被…...

网络协议栈应用层的意义(内含思维导图和解析图通俗易懂超易理解)
绪论: “节省时间的方法就是全力以赴的将所要做的事情完美快速的做完,不留返工重新学习的时间,才能省下时间给其他你认为重要的东西。” 本章主要讲到OSI网络协议栈中的应用层的作用和再次在应用层的角度理解协议的具体意义,以及…...

【NXP-MCXA153】i2c驱动移植
介绍 I2C总线由飞利浦公司开发,是一种串行单工通信总线,它主要用于连接微控制器和其他外围设备并在总线上的器件之间传送信息(需要指定设备地址);常见的i2c设备有EEPROM、触摸屏、各种IoT传感器、时钟模块等&#x…...

C++(11)类语法分析(2)
C(10)之类语法分析(2) Author: Once Day Date: 2024年8月17日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: 源码分析_Once-Day的博客-CSDN博客 …...

数字验证每日十问--(3)
深拷贝和浅拷贝的区别? 当只拷贝对象中的成员变量和声明的句柄时,称为浅拷贝。浅拷贝只把对象中的句柄复制了,却没有复制句柄b所指向的对象。这会导致复制后,a2中的句柄b 和 a1 中的句柄b指向同一个对象,如果a2中的句…...

22.给定 n 对括号,实现一个算法生成所有可能的正确匹配的括号组合
22. Generate Parentheses 题目 给定 n 对括号,编写一个函数生成所有可能的正确匹配的括号组合。 例如,当 n = 3 时,可能的组合集合为: ["((()))","(()())","(())()","()(())","()()()" ]题目大意 给出 n 代表生成…...

检测到目标URL存在http host头攻击漏洞
漏洞描述 修复措施 方法一: nginx 的 default_server 指令可以定义默认的 server 去处理一些没有匹配到 server_name 的请求,如果没有显式定义,则会选取第一个定义的 server 作为 default_server。 server { …...

C++奇迹之旅:手写vector模拟实现与你探索vector 容器的核心机制与使用技巧
文章目录 📝基本框架🌠 构造和销毁🌉vector()🌉vector(const vector& v)🌉vector(size_t n, const T& value T())🌉赋值拷贝构造:vector<T>& operator(vector<T> v)&a…...

018、钩子函数 mounted和beforeDestroy、父组件向子组件传递参数 props 的使用
文章目录 1、mounted 和 beforeDestroy1.1、mounted1.2、beforeDestroy 2、父组件向子组件传递参数 props2.1、子组件定义2.2、父组件调用子组件并传参 3、完整例子3.1、父组件 Tags.vue3.2、子组件 TagsMenu.vue3.3、效果图 1、mounted 和 beforeDestroy 1.1、mounted mount…...

xlnt在Windows中的dll,lib生成
前言 花了半天时间想要把xlnt 集成到VS2022 Cmake项目中,以我目前掌握的能力,Cmake语法对于我来说难懂,对于只是使用过Cmake编译MySQL,或是其他lib,dll库的小白来说,不应该为了显示自己能力多么出众,强行去配置一些程序内容。 生活中没有绝对的事情,有舍有得. https://github…...

【网络】私有IP和公网IP的转换——NAT技术
目录 引言 NAT工作机制编辑 NAT技术的优缺点 优点 缺点 个人主页:东洛的克莱斯韦克-CSDN博客 引言 公网被子网掩码划分为层状结构,一个公网IP的机器又可以用很多私有IP搭建内网。在日常生活场景中用的都是私有IP,例如手机,…...

java 面试 PDF 资料整理
“尊贵的求知者,作者特此献上精心编纂的Java面试宝典PDF,这份资料凝聚了无数面试精华与实战经验,是通往Java技术殿堂的钥匙。若您渴望在Java编程的求职之路上稳健前行,只需轻轻一点,完成这象征支持与认可的一键三联&am…...

初步认识Linux系统
前言 Linux系统具有许多优点,不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,…...

JavaScript AI 编程助手
JavaScript AI 编程助手 引言 随着人工智能技术的飞速发展,编程领域也迎来了前所未有的变革。JavaScript,作为全球最流行的编程语言之一,其与AI的结合为开发者带来了巨大的便利和无限的可能性。本文将探讨JavaScript AI编程助手的定义、功能…...

达梦数据库的系统视图v$datafile
达梦数据库的系统视图v$datafile 达梦数据库的V$DATAFILE 是一个重要的系统视图,提供了有关数据库数据文件的信息。 V$DATAFILE 系统视图 V$DATAFILE 视图用于显示数据库中每一个数据文件的详细信息。通过查询这个视图,数据库管理员可以了解数据文件的…...

Triton/window安装: triton-2.0.0-cp310-cp310-win_amd64.whl文件
下面这个github仓: https://github.com/PrashantSaikia/Triton-for-Windows/tree/main 安装命令也很简单,下载到本地后运行: pip install triton-2.0.0-cp310-cp310-win_amd64.whl...

应急响应-DDOS-典型案例
某单位遭受DDoS攻击事件如下 事件背景 2019年2月17日,某机构门户网站无法访问,网络运维人员称疑似遭受DDoS攻击,请求应急响应工程师协助。 事件处置 应急响应工程师在达到现场后,通过查看流量设备,发现攻击者使用僵…...

JAVA学习之知识补充(下)
六:File类与IO流: 这里给出三种常见的初始化方法: 通过文件路径初始化: File file new File("C:/example/test.txt");这种方法用于创建一个文件对象,该文件对象表示指定路径的文件或目录。例如:File fil…...