Oracle 用户管理模式下的恢复案例-不完全恢复
1. 不完全恢复的几种常用方法
01. recover database using backup controlfile
如果丢失当前控制文件,用冷备份的控制文件恢复的时候,用来告诉 oracle,不要以 controlfile 中的 scn 作为恢复的终点;
02. recover database until cancel
如果丢失 current/active redo 的时候,手动指定终点。
recover database until cancel; --SQLPlus 使用
recover database until time '2022-08-09:14:20:45' --SQLPlus 与 RMAN 都支持
recover database unitl time '2022-08:14:20:45' using backup controlfile
recover database until change 55555 --SQLPlus 使用
recover database until scn 55555 --RMAN 使用
recover database until sequence 20 --RMAN 使用
03. recover database using backup controlfile until cancel;
如果丢失当前 controlfile 并且 current/active redo 都丢失,会先去自动应用归档日志,可以实现最大的恢复;
04. recover database until cancel using backup controlfile;
如果丢失当前 controlfile 并且 current/active redo 都丢失,以旧的 redo 中的 scn为恢复终点。因为没有应用归档日志,所以会丢失数据。
2. 实操 1 基于【until time】不完全恢复
说明:数据库需要在归档模式下面操作
在数据库冷备份后,在表中插入一条数据,提交,记录当前数据库的时间,dorp掉表,删除数据库的dbf文件,控制文件和日志文件还在,然后把数据库冷备份拷贝过来,用recover database until time '2023-03-28 22:05:05';恢复数据库到插入数据之后,用 alter database open RESETLOGS;启动数据库,查询最后提交的数据没有丢失。
--先做冷备
shutdown immediate;
SQL> host rm -rf /backup/hfzcdb/*.*
*/
SQL> host cp /oradata/hfzcdb/* /backup/hfzcdb/ --先做冷备 */
set time on; SYS@hfzcdb> shutdown immediate
SYS@hfzcdb> host cp /oradata/hfzcdb/* /backup/hfzcdb/
*/
SYS@hfzcdb> startup
ORACLE instance started.Total System Global Area 2466249672 bytes
Fixed Size 8899528 bytes
Variable Size 671088640 bytes
Database Buffers 1778384896 bytes
Redo Buffers 7876608 bytes
Database mounted.
Database opened.
SYS@hfzcdb> set time on
22:02:35 SYS@hfzcdb> conn hfedu/hfedu123
Connected.
22:03:01 hfedu@hfzcdb> insert into hfedu3 values(44,'hfedu44');1 row created.22:03:22 hfedu@hfzcdb> commit;
22:04:38 hfedu@hfzcdb> select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;TO_CHAR(SYSDATE,' yyyy-mm-dd hh24:mi:ss')
-------------------
2023-03-28 22:05:0522:05:05 hfedu@hfzcdb> drop table hfedu3;Table dropped.22:05:28 hfedu@hfzcdb> select * from hfedu3;
select * from hfedu3
*
ERROR at line 1:
ORA-00942: table or view does not exist
22:05:33 hfedu@hfzcdb> conn / as sysdba
Connected.
22:05:41 SYS@hfzcdb> shutdown immedaite
SP2-0717: illegal SHUTDOWN option
22:05:54 SYS@hfzcdb> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
22:06:34 SYS@hfzcdb> host rm /oradata/hfzcdb/*.dbf
*/22:07:06 SYS@hfzcdb> host cp /backup/hfzcdb/*.dbf /oradata/hfzcdb/
*/
22:08:45 SYS@hfzcdb> startup mount
ORACLE instance started.Total System Global Area 2466249672 bytes
Fixed Size 8899528 bytes
Variable Size 671088640 bytes
Database Buffers 1778384896 bytes
Redo Buffers 7876608 bytes
Database mounted.
22:09:11 SYS@hfzcdb> select file#,checkpoint_change# from v$datafile;FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 2136506
2 2136506
3 2136506
4 2136506
5 2136506
6 21365066 rows selected.22:09:14 SYS@hfzcdb> select file#,checkpoint_change# from v$datafile_header;FILE# CHECKPOINT_CHANGE#
---------- ------------------
1 2135155
2 2135155
3 2135155
4 2135155
5 2135155
6 21351556 rows selected.22:09:33 SYS@hfzcdb> recover database until time '2023-03-28 22:05:05';
Media recovery complete.
22:10:40 SYS@hfzcdb> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open22:10:53 SYS@hfzcdb> alter database open RESETLOGS;Database altered.22:11:21 SYS@hfzcdb> select *from hfedu.hfedu3;ID NAME
---------- ----------------------------------------
1 hfedu01
2 hfedu02
3 hfedu03
4 hfedu04
5 hfedu5
6 hfedu6
44 hfedu447 rows selected.22:11:41 SYS@hfzcdb>
3. 实操 2 基于【Until Cancel】不完全恢复
在数据库冷备份后,在表中插入一条数据,把数据刷到日志文件,在checkpoint到数据文件,再插入一条,没有刷到日志文件,删除/oradata/hfzcdb/下面所有的数据包括控制文件和日志文件,再把之前冷备份的数据拷贝回来,把数据库启动到nomount状态,重建控制文件,使用recover database using backup controlfile until cancel; 在原来的控制文件基础上面恢复,实现最大的恢复,选择自动恢复,然后再alter database open RESETLOGS;数据库,数据能恢复到插入的第一条数据,第二条没有写入归档日志的,恢复不了。
hfeduSQL> conn hfedu/hfedu123
Connected.
hfedu@hfzcdb> select *from hfedu;ID NAME
---------- ----------------------------------------
1 hfedu01
55 hfedu05
66 hfedu06
77 hfedu07
88 hfedu08hfedu@hfzcdb> insert into hfedu values(99,'hfedu09');1 row created.hfedu@hfzcdb> commit;Commit complete.hfedu@hfzcdb> alter system switch logfile;System altered.hfedu@hfzcdb> alter system checkpoint;System altered.
-----------------------
[oracle@hfzcdb91:/archive/HFZCDB/archivelog/2023_12_25]$ll -lst
total 92196
416 -rw-r----- 1 oracle oinstall 422400 Dec 25 16:10 o1_mf_1_1_lrlg7o4n_.arc
396 -rw-r----- 1 oracle oinstall 405504 Dec 25 16:01 o1_mf_1_1_lrlfpvlc_.arc
16 -rw-r----- 1 oracle oinstall 15872 Dec 25 15:46 o1_mf_1_3_lrldszlc_.arc
28 -rw-r----- 1 oracle oinstall 26112 Dec 25 15:43 o1_mf_1_2_lrldo70m_.arc
1512 -rw-r----- 1 oracle oinstall 1544704 Dec 25 15:38 o1_mf_1_1_lrldbxly_.arc
89828 -rw-r----- 1 oracle oinstall 91983872 Dec 25 14:51 o1_mf_1_19_lrl9n0wk_.arc
[oracle@hfzcdb91:/archive/HFZCDB/archivelog/2023_12_25]$strings o1_mf_1_1_lrlg7o4n_.arc |grep hfedu09
hfedu09
-----------------------
hfedu@hfzcdb> insert into hfedu values(991,'hfedu091');1 row created.hfedu@hfzcdb> commit;Commit complete.hfedu@hfzcdb> alter system checkpoint;System altered.hfedu@hfzcdb> host ll /oradata/hfzcdb/**/
/bin/bash: ll: command not foundhfedu@hfzcdb> host ll /oradata/hfzcdb/
/bin/bash: ll: command not foundhfedu@hfzcdb> host ls /oradata/hfzcdb/
control01.ctl hfedu01.dbf redo02.log sysaux01.dbf temp01.dbf users01.dbf
control02.ctl redo01.log redo03.log system01.dbf undotbs01.dbfhfedu@hfzcdb> host rm -f /oradata/hfzcdb/*
*/
hfedu@hfzcdb> conn / as sysdba
Connected.
SYS@hfzcdb> shutdown abort
ORACLE instance shut down.
SYS@hfzcdb> exit
Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
exit[oracle@hfzcdb91:/home/oracle]$sqlplus / as sysdbaSQL*Plus: Release 19.0.0.0.0 - Production on Mon Dec 25 16:14:07 2023
Version 19.3.0.0.0Copyright (c) 1982, 2019, Oracle. All rights reserved.Connected to an idle instance.hfeduSQL> host cp /backup/hfzcdb/*.dbf /oradata/hfzcdb/
*/
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "HFZCDB" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 8192
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oradata/hfzcdb/redo01.log' SIZE 200M BLOCKSIZE 512,
GROUP 2 '/oradata/hfzcdb/redo02.log' SIZE 200M BLOCKSIZE 512,
GROUP 3 '/oradata/hfzcdb/redo03.log' SIZE 200M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/oradata/hfzcdb/system01.dbf',
'/oradata/hfzcdb/sysaux01.dbf',
'/oradata/hfzcdb/undotbs01.dbf',
'/oradata/hfzcdb/users01.dbf',
'/oradata/hfzcdb/hfedu01.dbf'
CHARACTER SET AL32UTF8
;
ORACLE instance started.Total System Global Area 2466249672 bytes
Fixed Size 8899528 bytes
Variable Size 671088640 bytes
Database Buffers 1778384896 bytes
Redo Buffers 7876608 bytes
hfeduSQL> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Control file created.hfeduSQL> recover database using backup controlfile until cancel;
ORA-00279: change 1428569 generated at 12/25/2023 15:49:24 needed for thread 1
ORA-00289: suggestion : /archive/HFZCDB/archivelog/2023_12_25/o1_mf_1_4_%u_.arc
ORA-00280: change 1428569 for thread 1 is in sequence #4Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00283: recovery session canceled due to errors
ORA-19906: recovery target incarnation changed during recoveryORA-01112: media recovery not startedhfeduSQL> recover database using backup controlfile until cancel;
ORA-00279: change 1428571 generated at 12/25/2023 16:05:05 needed for thread 1
ORA-00289: suggestion : /archive/HFZCDB/archivelog/2023_12_25/o1_mf_1_1_lrlg7o4n_.arc
ORA-00280: change 1428571 for thread 1 is in sequence #1Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/archive/HFZCDB/archivelog/2023_12_25/o1_mf_1_1_lrlg7o4n_.arc
ORA-00279: change 1429593 generated at 12/25/2023 16:10:29 needed for thread 1
ORA-00289: suggestion : /archive/HFZCDB/archivelog/2023_12_25/o1_mf_1_2_%u_.arc
ORA-00280: change 1429593 for thread 1 is in sequence #2
ORA-00278: log file '/archive/HFZCDB/archivelog/2023_12_25/o1_mf_1_1_lrlg7o4n_.arc' no longer needed for this recoverySpecify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
hfeduSQL> alter database open resetlogs;Database altered.hfeduSQL> alter database open RESETLOGS;hfeduSQL> select * from hfedu.hfedu;ID NAME
---------- ----------------------------------------99 hfedu09
1 hfedu01
55 hfedu05
66 hfedu06
77 hfedu07
88 hfedu086 rows selected.hfeduSQL>
4. 实操 3 基于【until scn】不完全恢复
在数据库冷备份后,插入一条数据提交,并写到日志文件,checkpoint到数据文件,记录此时scn,然后再插入一条数据提交,再删除一条数据,提交,关闭数据库,把数据文件恢复到冷备份的时候,启动数据库到nomount状态,使用 recover database until change 2182325;恢复数据库,再用 alter database open resetlogs;启动数据库后,查询数据,发现数据是插入第一条数据的状态。
--先做冷备
shutdown immediate;
SQL> host rm -rf /backup/hfzcdb/*.* */
SQL> host cp /oradata/hfzcdb/* /backup/hfzcdb/ --先做冷备 */
set time on; hfeduSQL> conn hfedu/hfedu123
Connected.
hfedu@hfzcdb>
hfedu@hfzcdb> insert into hfedu3 values(66,'hfedu66');1 row created.hfedu@hfzcdb> commit
2 ;Commit complete.hfedu@hfzcdb> alter system switch logfile;System altered.hfedu@hfzcdb> /System altered.hfedu@hfzcdb> /
/System altered.hfedu@hfzcdb>
System altered.hfedu@hfzcdb> hfedu@hfzcdb> alter system checkpoint
2 ;System altered.hfedu@hfzcdb> select current_scn from v$database;CURRENT_SCN
-----------
2182325hfedu@hfzcdb> alter system checkpoint
2 ;System altered.hfedu@hfzcdb> alter system checkpoint;System altered.hfedu@hfzcdb> select current_scn from v$database;CURRENT_SCN
-----------
2182335hfedu@hfzcdb> alter system checkpoint;System altered.hfedu@hfzcdb> select current_scn from v$database;CURRENT_SCN
-----------
2182342hfedu@hfzcdb> insert into hfedu3 values(77,'hfedu77');1 row created.hfedu@hfzcdb> commit
2 ;Commit complete.hfedu@hfzcdb> delete from hfedu where id=1;
delete from hfedu where id=1
*
ERROR at line 1:
ORA-00942: table or view does not existhfedu@hfzcdb> delete from hfedu3 where id=1;1 row deleted.hfedu@hfzcdb> commit
2 ;Commit complete.hfedu@hfzcdb> alter system checkpoint;System altered.hfedu@hfzcdb> select current_scn from v$database;CURRENT_SCN
-----------
2182385hfedu@hfzcdb> select * from hfedu.hfedu3;ID NAME
---------- ----------------------------------------
66 hfedu66
77 hfedu77
2 hfedu02
3 hfedu03
4 hfedu04
5 hfedu5
6 hfedu6
44 hfedu448 rows selected.hfedu@hfzcdb> conn / as sysdba
Connected.
SYS@hfzcdb> shutdown abort
ORACLE instance shut down.
SYS@hfzcdb> host cp /backup/hfzcdb/*.dbf /oradata/hfzcdb/ 【覆盖现在日志,就和删除恢复一样】
*/
SYS@hfzcdb> startup nomount
ORACLE instance started.Total System Global Area 2466249672 bytes
Fixed Size 8899528 bytes
Variable Size 671088640 bytes
Database Buffers 1778384896 bytes
Redo Buffers 7876608 bytes
SYS@hfzcdb> alter database mount
2 ;Database altered.SYS@hfzcdb> recover database until change 2182325;
ORA-00279: change 2135155 generated at 03/28/2023 22:00:32 needed for thread 1
ORA-00289: suggestion : /archive/HFZCDB/archivelog/2023_03_28/o1_mf_1_35_l25xd0yp_.arc
ORA-00280: change 2135155 for thread 1 is in sequence #35Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
auto
ORA-00279: change 2136023 generated at 03/28/2023 22:11:12 needed for thread 1
ORA-00289: suggestion : /archive/HFZCDB/archivelog/2023_03_29/o1_mf_1_1_l27n4015_.arc
ORA-00280: change 2136023 for thread 1 is in sequence #1
ORA-00278: log file '/archive/HFZCDB/archivelog/2023_03_28/o1_mf_1_35_l25xd0yp_.arc' no longer needed for this recoveryORA-00279: change 2177944 generated at 03/29/2023 15:15:29 needed for thread 1
ORA-00289: suggestion : /archive/HFZCDB/archivelog/2023_03_29/o1_mf_1_1_l27wtv68_.arc
ORA-00280: change 2177944 for thread 1 is in sequence #1ORA-00279: change 2182271 generated at 03/29/2023 16:14:19 needed for thread 1
ORA-00289: suggestion : /archive/HFZCDB/archivelog/2023_03_29/o1_mf_1_2_l27wv3w1_.arc
ORA-00280: change 2182271 for thread 1 is in sequence #2Log applied.
Media recovery complete.
SYS@hfzcdb> alter database open resetlogs; 【数据库只要是不完全恢复,都需要resetlogs】Database altered.SYS@hfzcdb> select * from hfedu.hfedu3;ID NAME
---------- ----------------------------------------
66 hfedu66
1 hfedu01
2 hfedu02
3 hfedu03
4 hfedu04
5 hfedu5
6 hfedu6
44 hfedu448 rows selected.SYS@hfzcdb>
相关文章:
Oracle 用户管理模式下的恢复案例-不完全恢复
1. 不完全恢复的几种常用方法 01. recover database using backup controlfile 如果丢失当前控制文件,用冷备份的控制文件恢复的时候,用来告诉 oracle,不要以 controlfile 中的 scn 作为恢复的终点; 02. recover database until …...
SharpDevelop IDE IViewContent.cs类
文件位置:IViewContent.cs /// <summary>/// IViewContent is the base interface for "windows" in the document area of SharpDevelop./// A view content is a view onto multiple files, or other content that opens like a document/// (e.…...
Unity RectTransUtility工具类
这个工具主要是用于动态生成UI的情况。项目中我们通过配置UI的锚点、位置以及大小(位置、大小都是通过蓝湖看到的),然后通过代码动态生成UI。 大部分情况下只要合理设置锚点,那么生成出来的UI就已经满足了适配的要求。 using UnityEngine;public static…...

React性能优化
三个可以优化的地方 避免过度多次渲染 组件会在以下情况下重新渲染 注意:例如组件组合的形式,<Test><Counter></Counter></Test>,即使Test发生了重新渲染,Counter也不会重新渲染。另外使用React这样的库或框架时&a…...

前端开发流程实操:从概念到上线
在前端开发这个充满创意与技术挑战的领域,一个清晰的开发流程是确保项目顺利进行并达到预期效果的关键。 下面就和大家分享一下前端开发的实操流程。 一、项目启动与需求分析 前端开发不是孤立的,它是整个项目的一部分,所以首先要与项目团…...

Metasploit使用
最近在学Metasploit,Metasploit是一个免费的、可下载的渗透测试框架,通过它可以很容易地获取、开发并对计算机软件漏洞实施攻击,是一个集成了渗透测试全流程的渗透工具。 图一 模块:模块组织按照不同的用途分为7种类型的模块 &am…...

Milvus向量数据库05-常见问题整理
Milvus向量数据库05-常见问题整理 1-什么是PipeLine 这张图展示了一个文档处理和搜索系统的架构,主要分为两个部分:Ingestion Pipeline(摄取管道)和 Search Pipeline(搜索管道)。下面是对图中各部分的详细…...
Ruby On Rails 笔记3——表的增删改查
1.Migration Migrations是一种便利的方法,能以重现的方式随时间推移改变数据库schema. 使用Ruby Domain Specific Language (DSL),因此你不用手写SQL,进而使你的schema和changes与数据库独立。 可以把每次migration看作是数据库的一个新“版本”。A schema开始时什么都没有…...
CSS3 动画详解,介绍、实现与应用场景详解
CSS3 动画概述 CSS3 动画是通过 CSS3 的新特性来实现元素的动态变化。与传统的 JavaScript 动画不同,CSS3 动画主要通过 CSS 属性的变化来实现动画效果,具有高效、轻量和易于实现的优点。CSS3 动画通常用于网页的动态交互效果、过渡效果、元素移动、缩放、旋转等场景。 一、…...
Winston-MySQL 使用文档
目录 简介 安装 配置 环境变量配置 日志级别和表配置 创建 Logger 实例 文件传输配置 控制台输出配置 完整代码 使用方法 记录信息日志 记录错误日志 记录警告日志 总结 简介 winston-mysql 是一个为 winston3.x 日志库设计的 MySQL 传输插件,允许你…...
java日期工具: 获取两个时间段的时间段值,Java获得两个日期之间的所有年、月份、日。
文章目录 日期字符串格式化获取两个日期之间的所有日期 (字符串格式)获取两个时间段的时间段值,Java获得两个日期之间的所有年、月份、日。生效时间需要大于当前时间结束时间的月份不能大于当前月份日期字符串格式化 /*** 日期字符串格式化** @param time* @param Format_int…...

【Rive】混合动画
1 混合动画简介 【Rive】动画 中介绍了 Rive 中动画的基础概念和一般动画的制作流程,本文将介绍混合动画的基础概念和一般制作流程。Unity 中混合动画介绍详见→ 【Unity3D】动画混合。 混合动画是指同一时刻多个动画按照一定比例同时执行,这些动画控制的…...
qt应用程序崩溃日志和转储dmp文件对于定位问题
qt应用程序崩溃日志和转储文件对于定位问题 一. DMP 文件包含的信息:二. 分析 DMP 文件的主要方法:三. 生成更详细的 DMP 文件:四. 分析 DMP 文件的注意事项:五. 实用建议:六. 实战 一. DMP 文件包含的信息:…...
Mysql架构
连接层 最上层是一些客户端和连接服务,负责客户端的连接,验证账号密码等授权认证 服务层 主要完成大多数的核心服务功能,对sql进行解析,优化,调用函数,如果是查询操作,有没有缓存等操作操作。所…...

杂发单的单据类型一个参数的逻辑
【核准中可改】被产线滥用了。它们可以这样做,开立一张杂发单,打印出来交领导层签名。单据要交财务做核算的。然后去修改杂发单的材料。以为可以瞒天过海。2个仓库,一个中掉坑里,一个发现了它们的拙劣的手段,上报之后没…...
Linux系统 vim 编辑文件搜索关键字用法
1、首先确保在normal模式下,按ESC后不在insert模式 输入 /test或?test 此时就会匹配 test 字符串,并且高亮显示 2、向前搜索 /字符串:按n匹配下一个目标,按N匹配上一个目标 3、向后搜索 ?字符串:按n匹配上一个目标…...

Vue智慧商城项目
创建项目 vue组件库 — vant-ui(常用于移动端) Vant 2 - 轻量、可靠的移动端组件库 安装vant npm i vantlatest-v2 -S 引入组件 按需导入和全部导入 全部导入 整个组件库的所有组件都导进来,缺点是增加了代码包体积 main.js import…...
Qt Window应用程序去掉控制台窗口
Qt Window应用程序去掉控制台窗口 方式一 set(PROJECT_SOURCESWIN32main.cppmainwindow.hpp )add_executable(Tool-V2${PROJECT_SOURCES} )方式二 set_target_properties(Tool-V2 PROPERTIESMACOSX_BUNDLE TRUEWIN32_EXECUTABLE TRUE )参考文献: cmake Qt 项目…...

软件测试最新项目合集【商城、外卖、银行、金融等等.......】
项目一:ShopNC商城 项目概况: ShopNC商城是一个电子商务B2C电商平台系统,功能强大,安全便捷。适合企业及个人快速构建个性化网上商城。 包含PCIOS客户端Adroid客户端微商城,系统PC后台是基于ThinkPHP MVC构架开发的跨…...

SAP SD学习笔记18 - 投诉处理4 - 请求书订正依赖,投诉处理流程的总结
上一章讲了 Credit/Debit Memo依赖,Credit/Debit Memo。Credit Memo依赖 本质上是一张受注票;Credit Memo 本质上是一张请求票。 SAP SD学习笔记17 - 投诉处理3 - Credit/Debit Memo依赖,Credit/Debit Memo-CSDN博客 本章继续讲本图中的内容…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
在四层代理中还原真实客户端ngx_stream_realip_module
一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡(如 HAProxy、AWS NLB、阿里 SLB)发起上游连接时,将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后,ngx_stream_realip_module 从中提取原始信息…...

04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
拉力测试cuda pytorch 把 4070显卡拉满
import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式
今天是关于AI如何在教学中增强学生的学习体验,我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育,这并非炒作,而是已经发生的巨大变革。教育机构和教育者不能忽视它,试图简单地禁止学生使…...

【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
uniapp 实现腾讯云IM群文件上传下载功能
UniApp 集成腾讯云IM实现群文件上传下载功能全攻略 一、功能背景与技术选型 在团队协作场景中,群文件共享是核心需求之一。本文将介绍如何基于腾讯云IMCOS,在uniapp中实现: 群内文件上传/下载文件元数据管理下载进度追踪跨平台文件预览 二…...

基于stm32F10x 系列微控制器的智能电子琴(附完整项目源码、详细接线及讲解视频)
注:文章末尾网盘链接中自取成品使用演示视频、项目源码、项目文档 所用硬件:STM32F103C8T6、无源蜂鸣器、44矩阵键盘、flash存储模块、OLED显示屏、RGB三色灯、面包板、杜邦线、usb转ttl串口 stm32f103c8t6 面包板 …...

python可视化:俄乌战争时间线关键节点与深层原因
俄乌战争时间线可视化分析:关键节点与深层原因 俄乌战争是21世纪欧洲最具影响力的地缘政治冲突之一,自2022年2月爆发以来已持续超过3年。 本文将通过Python可视化工具,系统分析这场战争的时间线、关键节点及其背后的深层原因,全面…...