当前位置: 首页 > news >正文

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 如果丢失当前控制文件&#xff0c;用冷备份的控制文件恢复的时候&#xff0c;用来告诉 oracle&#xff0c;不要以 controlfile 中的 scn 作为恢复的终点&#xff1b; 02. recover database until …...

Leetcode经典题4--查找数组中的多数元素+Boyer-Moore 投票算法

题目描述&#xff1a; 给定一个大小为 n 的数组 nums &#xff0c;返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的&#xff0c;并且给定的数组总是存在多数元素。 输入输出示例 输入&#xff1a;nums [2,2,1,1,1,2,2] 输出…...

ubuntu20.04 如何使用 perf 性能分析工具 以及 hotspot 性能分析可视化工具?

官方文档&#xff1a;https://perfwiki.github.io/main/ 如何安装&#xff1a;https://askubuntu.com/questions/50145/how-to-install-perf-monitoring-tool 首先是安装 perf: sudo apt-get install linux-tools-common sudo apt-get install linux-tools-generic sudo apt-…...

Scala-隐式转换

系统自动完成的&#xff1a;把一种类型的数据转成了另一种类型的数据。 不是所有的类型都可以执行隐式转换 函数的参数类型 和 返回值类型是重要的&#xff0c;它约定了把什么类型转成什么类型 //张三的函数def getAge():Double{8.5}//函数名&#xff1a;tranform 不重要//函…...

基于Java和Vue开发的漫画阅读软件漫画阅读小程序漫画APP

前景分析 受众广泛&#xff1a;漫画的受众群体广泛&#xff0c;不仅限于青少年&#xff0c;还涵盖了成年人等多个年龄层和社会阶层。漫画文化在全球范围内的影响力不断扩大&#xff0c;未来漫画软件创业可以考虑全球市场的拓展。 市场需求大&#xff1a;数字化阅读趋势下&…...

租赁小程序的优势与应用场景解析

内容概要 租赁小程序&#xff0c;听起来是不是很酷&#xff1f;其实&#xff0c;它就是一个让你可以方便地租借各种高成本但用得不频繁的商品的平台。想象一下&#xff0c;当你需要租一件派对用的华丽小礼服&#xff0c;或是想体验一下超酷的运动器材&#xff0c;租赁小程序就…...

CC-Link IEFB转Modbus TCP协议网关(技术分享)

一&#xff0c;设备主要功能 捷米特JM-CCLKIE-TCP网关实现连接到CC-Link IE Field Basic总线中做为从站使用&#xff0c;连接到Modbus TCP总线中做为主站或从站使用。 应用广泛&#xff1a;捷米特JM-CCLKIE-TCP广泛应用于支持Modbus TCP接口的上位机、变频器、仪表、马保等等…...

开发手札:Win+Mac下工程多开联调

最近完成一个Windows/Android/IOS三端多人网络协同项目V1.0版本&#xff0c;进入测试流程了。为了方便自测&#xff0c;需要用unity将一个工程打开多次&#xff0c;分别是Win/IOS/Android版本&#xff0c;进行多角色联调。 在Win开发机上&#xff0c;以Windows版本为主版…...

SSM报错:表现层方法应该返回字符串,但是返回页面

在进行SSM项目时&#xff0c;后端表现层应该返回给前端字符串&#xff0c;但是却跳转页面 1.首先检查是否使用ResponseBody注解 ResponseBody注解 作用&#xff1a;将java对象转为json格式的数据。将controller的方法返回的对象通过适当的转换器转换为指定的格式之后&#xff0…...

Unity中使用Sqlite存储本地数据

sqlite-net sqlite下载页 我的环境&#xff1a;win11、unity团结1.3.4 1.下载sqlite-net&#xff0c;将SQLite.cs脚本导入Unity 2.下载各平台依赖项&#xff0c;如dll、aar等。导入Unity并设置 3.简单列子&#xff0c;打包测试 using System; using System.IO; using SQLi…...

微信直连:商户转账到零钱API开发报错:java.security.InvalidKeyException: Illegal key size

jdk版本 解决方案&#xff1a;下载jce_policy-8&#xff0c;替换jre下的 local_policy.jar 文件 替换jdk内的jre下的 替换jre下的 JDK 8u161 之后默认使用了不限制的Policy...

语言处理程序基础

逻辑运算 正规式 有限自动机 上下文无关文法 表达式&#xff08;前缀、后缀、中缀&#xff09; 将表达式&#xff08;a-b&#xff09;*&#xff08;c5&#xff09;构造成树的步骤为&#xff1a;括号不能出现在树中&#xff1b;按照表达式的计算顺序来依次构造&#xff01;&…...

deepsort复现报错TypeError: tuple indices must be integers or slices, not tuple 解决

deepsort复现中遇到的TypeError: tuple indices must be integers or slices, not tuple问题的解决-CSDN博客 以上为参考教程。 复现的时候出现这个报错&#xff0c;搞了好久试了好多方法&#xff0c;包括降 scikit-learn版本&#xff0c;都不行&#xff0c;最后终于找到这个博…...

「Mac畅玩鸿蒙与硬件42」UI互动应用篇19 - 数字键盘应用

本篇将带你实现一个数字键盘应用&#xff0c;支持用户通过点击数字键输入数字并实时更新显示内容。我们将展示如何使用按钮组件和状态管理来实现一个简洁且实用的数字键盘。 关键词 UI互动应用数字键盘按钮组件状态管理用户交互 一、功能说明 数字键盘应用将实现以下功能&…...

MSSQL SQLi Labs靶场 第一关 (手工版)

一.判断是否存在注入 输入http://172.16.0.87/less-1.asp?id1页面异常 加上闭合点&#xff1a;http://172.16.0.87/less-1.asp?id1--页面正常&#xff0c;说明存在注入 二.判断数据库类型 可通过以下Payload来探测当前站点是否是MSSQL数据库&#xff0c;正常执⾏说明后台数据…...

重磅更新:CnosDB 2.3.5.4 版本上线, 性能提升,问题修复一网打尽

&#x1f4e2; 重磅更新&#xff1a;CnosDB 2.3.5.4 版本上线, 性能提升&#xff0c;问题修复一网打尽 &#x1f4e2; 我们很高兴地向大家介绍最新版本的更新&#xff0c;以下是本次更新的主要内容&#xff1a; &#x1f539; 版本号&#xff1a;2.3.5.4 &#x1f539; 发布…...

后端-编辑按钮的实现

编辑一共要实现两步&#xff1a; 1.点击编辑蹦出来一个弹窗&#xff0c;此时需要回显&#xff0c;根据id查出来这条数据 2.修改某些值之后点击保存的时候调用修改的接口 根据id查询的时候正常操作 修改值的时候要注意一些问题 mapper层的Employee和impl层的接收实体不一样...

Python语言基础入门教程

Python是一种简单易学、功能强大的编程语言&#xff0c;非常适合初学者入门。本篇博客将带你从零开始&#xff0c;学习Python的一些基础知识&#xff0c;并通过详细分析和实例帮助你理解。 一、什么是Python&#xff1f; Python是一种高级编程语言&#xff0c;具有以下特点&am…...

verilog编程规范

verilog编程规范 文章目录 verilog编程规范前言一、代码划分二、verilog编码ABCDEFG 前言 高内聚&#xff0c;低耦合&#xff0c;干净清爽的代码 一、代码划分 高内聚&#xff1a; 一个功能一个模块干净的接口提取公共的代码 低耦合&#xff1a; 模块之间低耦合尽量用少量…...

Spring Boot 的启动原理

Spring Boot 是由 Pivotal 团队发布的一个开源框架&#xff0c;它基于 Spring 框架&#xff0c;旨在简化企业级应用程序的开发过程。与传统的 Spring 项目相比&#xff0c;Spring Boot 提供了一种更加简洁、高效的方式来构建和部署应用程序。其核心理念是“约定优于配置”和“自…...

Oracle 19C RU补丁升级,从19.7to19.25 -单机

1. 环境信息&#xff1a; 角色 数据库 IP地址 数据库版本 数据库名称 源端 单实例 172.30.21.191 19.7 hfzcdb 2. 安装准备 用rman备份数据库&#xff0c;再备份下oracle目录&#xff1a; 命令&#xff1a; tar zavf oracle.tar /oracle 19.25版本关于19C的补丁内…...

Web day08 项目实战(2)

目录 查询员工&#xff1a; 在EmpController层&#xff1a; 在pojo层&#xff1a; 在EmpServiceImpl 层中&#xff1a; 在dao层&#xff1a; 新增员工: pojo层&#xff1a; EmpController层&#xff1a; 在EmpServiceImpl 层中&#xff1a; 在EmpMapper层&#xff1a; …...

生命周期(vue2和vue3的生命周期对比)有哪些?

Vue.js 提供了一套完整的数据驱动和组件化思想&#xff0c;其生命周期钩子是开发者理解组件行为的关键。以下是 Vue 2 和 Vue 3 中生命周期钩子的对比&#xff1a; Vue 2 生命周期钩子 创建阶段 beforeCreate&#xff1a;实例初始化之前调用&#xff0c;此时 data 和 methods …...

智慧信息发系统——控件磁吸

//鍙悜涓婂惛 function fun_鎺т欢纾佸惛_璁&#xff04;畻(鐏典綋y,寮曞姏鍊&#xfffd;,閫夋嫨鍖哄煙,璁&#xff04;畻鍧愭爣绫诲瀷) {const 灞忓箷椤圭洰 document.querySelectorAll(閫夋嫨鍖哄煙);var 璺濈鎴戞渶杩憏 0;var 鏈€杩戜竴娆″紩鍔&#xfffd; 0…...

【时间序列预测】基于PyTorch实现CNN_LSTM算法

文章目录 1. CNN_LSTM模型概述2. 网络结构3. 完整代码实现4.模型解析4.1 CNN层4.2 ReLU层4.3 MaxPooling层4.4 LSTM层4.5 输出层4.6 前向传播 5. 总结 在时间序列预测任务中&#xff0c;CNN&#xff08;卷积神经网络&#xff09;和LSTM&#xff08;长短期记忆网络&#xff09;是…...

Android环境搭建

Android环境搭建 第一步&#xff1a;安装 Homebrew 执行以下命令来安装 Homebrew&#xff1a; /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"检测是否安装成功&#xff1a; brew --version第二步&#xff1a;安装 No…...

HarmonyOS 5.0应用开发——Ability与Page数据传递

【高心星出品】 文章目录 Ability与Page数据传递Page向Ability传递数据Ability向Page传递数据 Ability与Page数据传递 基于当前的应用模型&#xff0c;可以通过以下几种方式来实现UIAbility组件与UI之间的数据同步。 使用EventHub进行数据通信&#xff1a;在基类Context中提供…...

【数据结构】顺序表

一、顺序表的基本概念 1.1 概念 顺序表是一种线性表的存储结构&#xff0c;其特点是&#xff1a;使用一段连续的存储空间存储线性表中的数据元素&#xff0c;通过数组实现&#xff0c;具有随机访问的能力。 可以把顺序表直接理解为数组&#xff0c;只不过这个数组里可以存各种类…...

光伏与储能软件有哪些?

随着技术的不断进步&#xff0c;光伏与储能的软件系统也层出不穷&#xff0c;为这一领域的发展提供了强有力的支持。 一、光伏设计软件 1、PVSyst 功能&#xff1a;这是一款全球广泛使用的光伏系统设计软件&#xff0c;支持光伏系统的模拟与设计&#xff0c;包括组件阵列、倾…...

AI周报(12.1-12.7)

AI应用-AI独立开发“小猫补光灯” 无论GitHub Copilot、Amazon CodeWhisperer&#xff0c;还是前面AI周报&#xff08;6.23-6.29&#xff09;Devv.ai&#xff0c;重在提高编码效率、提供编码补全和建议。小猫补光灯第一次让一个完全不会编程的产品经理&#xff0c;与AI协作&…...

windows 脚本批量管理上千台服务器实战案例

如果你们有接触服务器&#xff0c;都是知道服务器有BMC管理界面的&#xff0c;这几天我在做项目中&#xff0c;需要不断的开关机服务器&#xff0c;如果一两台服务器登录BMC界面重启服务器还好&#xff0c;如果服务器数量非常的庞大&#xff0c;成百上千台&#xff0c;我们不可…...

一级路由访问家里的二级路由设备 例如nas

家里升级千兆网&#xff0c;更换了光猫设备&#xff0c;家里走网线的话&#xff0c;只有100m速度&#xff0c;就直接用了光猫的无线&#xff0c;这次换的很顶&#xff0c;下载和打游戏也够用了&#xff0c;基本上没有网络波动。就客厅用了一个路由器&#xff0c;接了nas和摄像头…...

线程(二)——线程安全

如何理解线程安全&#xff1a; 多线程并发执行的时候&#xff0c;有时候会触发一些“bug”&#xff0c;虽然代码能够执行&#xff0c;线程也在工作&#xff0c;但是过程和结果都不符合我们的开发时的预期&#xff0c;所以我们将此类线程称之为“线程安全问题”。 例如&#xff…...

Altium Designer学习笔记 31 PCB布线优化_GND处理

基于Altium Designer 23学习版&#xff0c;四层板智能小车PCB 更多AD学习笔记&#xff1a;Altium Designer学习笔记 1-5 工程创建_元件库创建Altium Designer学习笔记 6-10 异性元件库创建_原理图绘制Altium Designer学习笔记 11-15 原理图的封装 编译 检查 _PCB封装库的创建Al…...

第四节、电机定角度转动【51单片机-TB6600驱动器-步进电机教程】

摘要&#xff1a;本节介绍用电机转动角度计算步骤&#xff0c;从而控制步进电机转角 一、 计算过程 1.1 驱动器接收一个脉冲后&#xff0c;步进电机转动一步&#xff0c;根据驱动器设置的细分值 计算一个脉冲对应电机转动的角度step_x s t e p x s t e p X … … ① step_{x…...

亚马逊云科技用生成式AI,向开发的复杂性动手了

生成式 AI、分布式扩展功能全面进化&#xff0c;还降价了。 同一天的发布&#xff0c;完全不同的方向。 今天凌晨&#xff0c;云计算巨头亚马逊云科技的 re:Invent 与大号创业公司 OpenAI 的发布「撞了车」。后者公布了一系列生成式 AI 应用&#xff0c;价格更贵、性能更强大&a…...

SharpDevelop IDE IViewContent.cs类

文件位置&#xff1a;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.…...

【工具变量】地级市城市全社会用电量数据(2006-2021年)

一、数据范围&#xff1a;覆盖中国300多个地级市 二、包含指标&#xff1a; 省份、地级市、年份、全社会用电量。 三、数据来源&#xff1a;国家电网查询数据。对于极大部分城市&#xff0c;国网售电量就是全社会用电量(往年的售电量和全社会用电量数据相同&#xff09;,此外…...

vue列表滚动动画效果

一、效果展示&#xff1a; 录屏2024-12-07 02.16.59 二、步骤&#xff1a; 1. 需要用<transition-group>包裹需要渲染的item列表 ⚠️注意&#xff1a;这里的:key"item.id"&#xff0c;必须要用id之类的&#xff0c;不能用index <transition-group name&qu…...

33.5 remote实战项目之设计prometheus数据源的结构

本节重点介绍 : 项目要求 通过remote read读取prometheus中的数据通过remote write向prometheus中写入数据 准备工作 新建项目 prome_remote_read_write设计prometheus 数据源的结构初始化 项目要求 通过remote read读取prometheus中的数据通过remote write向prometheus中写…...

Ceph文件存储

Ceph文件存储1.概念:数据以文件的形式存储在存储介质上&#xff0c;每个文件都有一个唯一的文件名并存储在一个目录结构中。提供方便的文件访问接口&#xff0c;支持多种文件操作&#xff0c;如创建、删除、读取、写入、复制等。用于存储和管理个人文件&#xff0c;如文档、图片…...

力扣-图论-5【算法学习day.55】

目录 前言 习题 1.移除可疑的方法 后言 前言 ###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程&#xff08;例如想要掌握基础用法&#xff0c;该刷哪些题&#xff1f;&#xff09;我的解析也不会做的非常详细&#xff0c;只会提供思路和一些关键…...

Linux-音频应用编程

ALPHA I.MX6U 开发板支持音频&#xff0c;板上搭载了音频编解码芯片 WM8960&#xff0c;支持播放以及录音功能&#xff01;本章我们来学习 Linux 下的音频应用编程&#xff0c;音频应用编程相比于前面几个章节所介绍的内容、其难度有所上升&#xff0c;但是笔者仅向大家介绍 Li…...

SQL复杂查询功能介绍及示例

文章目录 1. 多表连接&#xff08;JOIN&#xff09;功能介绍应用场景示例查询及初始表格customers 表&#xff08;未查询前&#xff09;orders 表&#xff08;未查询前&#xff09;INNER JOIN 示例LEFT JOIN 示例 2. 子查询&#xff08;Subquery&#xff09;功能介绍应用场景示…...

Python使用Selenium自动实现表单填写之蛇年纪念币蛇钞预约(附源码,源码有注释解析,已测试可用

Python实现纪念币预约自动填写表单 声明:本文只做技术交流,不可用代码为商业用途,文末有源码下载,已测试可用。 Part 1 配置文件改写(源码 有详细的注释说明 读取配置文件,自己组数据库,录入信息 配置文件 Part 2 主函数 每一期的xpath路径都不一样 所以需要提前去网站…...

快速掌握HTML

目录 1. HTML文件的基本结构* 前端开发工具搭建* vscode的三个插件* 编写第一个html代码* 快速生成代码框架 *html特殊字符2. 双标签2.1 标题标签 h12.2 段落标签 p2.3 格式化标签2.4 超链接标签 a2.5 表格标签2.6 列表标签1. 无序列表&#xff1a;ul标签( 快捷键&#xff1a;u…...

Linux 音频驱动实验

音频是我们最常用到的功能&#xff0c;音频也是 linux 和安卓的重点应用场合。I.MX6ULL 带有 SAI接口&#xff0c;正点原子的 I.MX6ULL ALPHA 开发板通过此接口外接了一个 WM8960 音频 DAC 芯片&#xff0c;本章我们就来学习一下如何使能 WM8960 驱动&#xff0c;并且通过 WM89…...

【分布式】Redis分布式缓存

一、什么是Redis分布式缓存 Redis分布式缓存是指使用Redis作为缓存系统来存储和管理数据的分布式方案。在分布式系统中&#xff0c;多台服务器共同对外提供服务&#xff0c;为了提高系统的性能和可扩展性&#xff0c;通常会引入缓存来减轻数据库的压力。Redis作为一种高性能的…...

几个Linux系统安装体验: 一些系统对比和使用记录

本文对一些系统做对比&#xff0c;并记录一些使用过程。 背景 本文所记录的内容&#xff0c;不保证绝对性&#xff0c;也不代表任何方的意见、意思、看法、观点。如有不适&#xff0c;权当笑料。 个人使用记录 centos7 centos7为笔者的主力系统&#xff0c;生产工具。虚拟机…...

c++数据结构算法复习基础--11--高级排序算法-快速排序-归并排序-堆排序

高阶排序 1、快速排序 冒泡排序的升级算法 每次选择一个基准数&#xff0c;把小于基准数的放到基准数的左边&#xff0c;把大于基准数的放到基准数的右边&#xff0c;采用 “ 分治算法 ”处理剩余元素&#xff0c;直到整个序列变为有序序列。 最好和平均的复杂度&#xff1a…...