经典的ORACLE 11/12/19闪回操作

news2024/11/9 1:45:21

1、闪回表

SQL> show parameter recycle

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
buffer_pool_recycle                  string
db_recycle_cache_size                big integer 0
recyclebin                           string      on

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/PROD4/PROD4/system01.dbf
/u01/app/oracle/oradata/PROD4/PROD4/sysaux01.dbf
/u01/app/oracle/oradata/PROD4/PROD4/undotbs01.dbf
/u01/app/oracle/oradata/PROD4/PROD4/users01.dbf
/u01/app/oracle/oradata/PROD4/PROD4/example01.dbf

10 rows selected.

SQL> create tablespace test datafile '/u01/app/oracle/oradata/PROD4/PROD4/test.dbf' size 10m;

Tablespace created.

SQL> create user sf identified by oracle default tablespace test;

User created.

SQL> grant dba to sf;

Grant succeeded.

SQL> conn sf/oracle
Connected.
SQL> create table TEST1 as select * from dba_objects;

create table TEST10 as select * from dba_objects;

Table created.

SQL> select sum(bytes)/1024/1024 from dba_segments where segment_name='TEST1';

SUM(BYTES)/1024/1024
--------------------
                   9

SQL> show recyclebin
SQL> desc dba_free_space;     
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 TABLESPACE_NAME                                    VARCHAR2(30)
 FILE_ID                                            NUMBER
 BLOCK_ID                                           NUMBER
 BYTES                                              NUMBER
 BLOCKS                                             NUMBER
 RELATIVE_FNO                                       NUMBER

SQL> select TABLESPACE_NAME,bytes/1024/1024 from dba_free_space where tablespace_name='TEST'; --查看TEST表空间剩余量
     select TABLESPACE_NAME,sum(bytes)/1024/1024 from dba_free_space group by TABLESPACE_NAME; --查看所有表空间的剩余量
no rows selected

SQL> DROP TABLE TEST1;

Table dropped.

select TABLESPACE_NAME,SUM(BYTES)/1024/1024 FROM dba_free_space WHERE TABLESPACE_NAME='TEST' GROUP BY TABLESPACE_NAME;
TABLESPACE_NAME                SUM(BYTES)/1024/1024
------------------------------ --------------------
TEST                                              9

SQL> alter database datafile 9 autoextend on;


SQL>  select TABLESPACE_NAME,SUM(BYTES)/1024/1024 FROM dba_free_space WHERE TABLESPACE_NAME='TEST' GROUP BY TABLESPACE_NAME;

TABLESPACE_NAME                SUM(BYTES)/1024/1024
------------------------------ --------------------
TEST                                              9

SQL> create table test2 as select * from dba_objects;

Table created.

SQL> show paramter recyclebin

SQL>  select TABLESPACE_NAME,SUM(BYTES)/1024/1024 FROM dba_free_space WHERE TABLESPACE_NAME='TEST' GROUP BY TABLESPACE_NAME;

no rows selected

SQL> drop table test2;

Table dropped.

SQL> show parameter recyclebin
show  recyclebin

ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST2            BIN$JAkhk08TMaDgUL4KHGhpXg==$0 TABLE        2015-11-08:14:23:08
SQL> alter database datafile 11 autoextend off;

Database altered.

SQL> alter database datafile 9 resize 20m;
 alter database datafile 9 resize 10m;

Database altered.

SQL> select TABLESPACE_NAME,SUM(BYTES)/1024/1024 FROM dba_free_space WHERE TABLESPACE_NAME='TEST' GROUP BY TABLESPACE_NAME;

TABLESPACE_NAME                SUM(BYTES)/1024/1024
------------------------------ --------------------
TEST                                             19

SQL> create table test3 as select * from dba_objects;

Table created.

SQL> show recyclebin;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST2            BIN$JAkhk08TMaDgUL4KHGhpXg==$0 TABLE        2015-11-08:14:23:08

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BIN$JAkhk08TMaDgUL4KHGhpXg==$0 TABLE
TEST3                          TABLE

SQL> flashback table "BIN$JAkhk08TMaDgUL4KHGhpXg==$0" to before drop;
flashback table "BIN$i6USmIX6EDvgU0IQqMCSVw==$0" to before drop;

Flashback complete.

SQL> select * from tab;

TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
TEST2                          TABLE
TEST3                          TABLE


SQL> 
purge recyclebin;

create table testa(id number,name varchar2(10));
drop table testa;
create table testa(id number,depart_name varchar2(10));
drop table testa;

SQL> show recyclebin;
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
TEST             BIN$HwOgJaEC91vgUL4KHGgVGw==$0 TABLE        2015-09-05:17:49:33
TEST             BIN$HwOgJaEB91vgUL4KHGgVGw==$0 TABLE        2015-09-05:17:49:32

SQL> select owner,object_name,ts_name from DBA_RECYCLEBIN;

OWNER                          OBJECT_NAME                    TS_NAME
------------------------------ ------------------------------ ------------------------------
sf                            BIN$HwOgJaEB91vgUL4KHGgVGw==$0 USERS


SQL> desc "BIN$HwOgJaEC91vgUL4KHGgVGw==$0";
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                                 NUMBER
 DEPART_NAME                                        VARCHAR2(10)

SQL> flashback table "BIN$HwOgJaEC91vgUL4KHGgVGw==$0" to before drop rename to testnew;

Flashback complete.

SQL> desc testnew;

DROP TABLE <table_name> [PURGE] ;


#############################################################################
2、查询表已删除的数据 (闪回查询)

SQL> create table ORIGINAL_SALARY as select EMPLOYEE_ID,COMMISSION_PCT from hr.employees; 
create table ORIGINAL_SALARY1 as select EMPLOYEE_ID,COMMISSION_PCT from hr.employees; 
create table ORIGINAL_SALARY3 as select EMPLOYEE_ID from hr.employees; 
create table ORIGINAL_SALARY5 as select EMPLOYEE_ID from hr.employees; 

select * from ORIGINAL_SALARY1 where EMPLOYEE_ID=102;
查看下操作系统时间date

2019-06-19 11:36:54
 
delete ORIGINAL_SALARY where employee_id in (select employee_id from hr.employees where HIRE_DATE<to_date('2002-01-01','yyyy-mm-dd'));
delete ORIGINAL_SALARY1 where employee_id in (select employee_id from hr.employees where HIRE_DATE<to_date('2002-01-01','yyyy-mm-dd'));

insert 

24 05:36:55 UTC 2016
02:19:22 

select * from ORIGINAL_SALARY AS OF timestamp to_date('2019-06-19 11:26:27','yyyy-mm-dd hh24:mi:ss') where employee_id in (select employee_id from hr.employees where HIRE_DATE<to_date('2002-01-01','yyyy-mm-dd'));
select * from ORIGINAL_SALARY1 AS OF timestamp to_date('2019-06-19 11:26:27','yyyy-mm-dd hh24:mi:ss') where employee_id in (select employee_id from hr.employees where HIRE_DATE<to_date('2002-01-01','yyyy-mm-dd'));
select count(*) from ORIGINAL_SALARY3 AS OF timestamp to_date('2019-06-19 11:36:54','yyyy-mm-dd hh24:mi:ss');
select count(*) from ORIGINAL_SALARY3 AS OF timestamp to_date('2019-06-19 11:39:00','yyyy-mm-dd hh24:mi:ss');
select count(*) from ORIGINAL_SALARY5 AS OF timestamp to_date('2019-06-19 11:45:45','yyyy-mm-dd hh24:mi:ss');
select count(*) from ORIGINAL_SALARY5 AS OF timestamp to_date('2019-06-19 11:46:08','yyyy-mm-dd hh24:mi:ss');

create view orig_view as select * from ORIGINAL_SALARY AS OF timestamp to_date('2016-05-27 02:19:22','yyyy-mm-dd hh24:mi:ss') ;

02:15:40 UTC 2016
--delete 整个表后可以使用flashback table 找回

SQL> alter table test enable row movement;--先打开行移动的功能

flashback  table  ORIGINAL_SALARY  to timestamp to_date('2016-07-12 02:17:33','yyyy-mm-dd hh24:mi:ss'); 
flashback  table  DEPARTMENTS to timestamp to_date('2016-05-27 03:09:22','yyyy-mm-dd hh24:mi:ss');
————————————————————————————————————

对于truncate的表,除了flashback database之外,其它的flashback功能可能帮不了你)
truncate table test2;

flashback database to timestamp to_timestamp('2016-02-24 05:36:55','yyyy-mm-dd hh24:mi:ss');


#############################################################################
3、闪回数据库(需要人工打开闪回数据库功能)

确保归档是打开的

SQL>show parameter recover
SQL>show parameter db_flash

SQL> select flashback_on from v$database;

FLASHBACK_ON
------------------
NO
在oracle11g中打开闪回数据库可以在open状态打开

归档是必须要开启

下面这是oracle10g时的操作:
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE=2G;
SQL> ALTER SYSTEM SET db_recovery_file_dest ='/u01/app/oracle/flash';
SQL> ALTER SYSTEM SET DB_FLASHBACK_RETENTION_TARGET=2880 SCOPE=BOTH; --默认是1440 一天
SQL> ALTER DATABASE FLASHBACK ON;
SQL> ALTER DATABASE OPEN;

##############################################################3
估算闪回数据库日志所需要的磁盘空间:
select estimated_flashback_size,retention_target,flashback_size from v$flashback_database_log;
确定当前闪回窗口,确定可闪回到的最小scn号
SELECT oldest_flashback_scn, 
  oldest_flashback_time
  FROM   V$FLASHBACK_DATABASE_LOG;

监视闪回数据库日志中的事件记录:
SELECT begin_time, end_time, flashback_data, db_data, 
     redo_data, estimated_flashback_size AS EST_FB_SZE 
    FROM V$FLASHBACK_DATABASE_STAT;

找出当前scn:
select current_scn from v$database;
获得当前SCN
 select current_scn from v$database;
 *** select dbms_flashback.get_system_change_number from dual;

3010059

SQL> create table t1 as select * from dba_objects;

create table t2 as select * from dba_objects;

Table created.

SQL> insert into t1 select * from t1;
insert into t2 select * from t2;


SQL> startup mount force;
ORACLE instance started.

Total System Global Area  636100608 bytes
Fixed Size                  1338392 bytes
Variable Size             226493416 bytes
Database Buffers          402653184 bytes
Redo Buffers                5615616 bytes
Database mounted.
SQL> flashback database to scn 1182885;

Flashback complete.

SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项


SQL> alter database open resetlogs;

创建普通还原点:
SQL> CREATE RESTORE POINT test_POINT;

SQL> FLASHBACK DATABASE TO RESTORE point test_POINT; 

可靠还原点 :
CREATE RESTORE POINT test_guarantee GUARANTEE FLASHBACK DATABASE;

FLASHBACK DATABASE TO RESTORE point test_guarantee;

基本时间点的闪回:
FLASHBACK DATABASE TO TIMESTAMP(TO_DATE('2016-01-18 06:19:00', 'YYYY-MM-DD HH24:MI:SS'));


#############################################################################
4、创建一个默认的闪回数据归档,取名为“FRA”,操作者必须拥有SYSDBA权限:

SQL> create tablespace fratbs datafile '/u01/app/oracle/oradata/PROD4/PROD4/fratbs.dbf' size 50m;
 
SQL> create user fr_admin identified by oracle default tablespace fratbs;
SQL> grant connect,dba to fr_admin; 
SQL> grant flashback archive administer to fr_admin;
 
Grant succeeded.
 
SQL> create flashback archive default fra tablespace fratbs quota 10m retention 1 year;
SQL> alter table SH.PROMOTIONS flashback archive;

SQL> select OWNER_NAME,FLASHBACK_ARCHIVE_NAME,RETENTION_IN_DAYS,STATUS from DBA_FLASHBACK_ARCHIVE;
SQL> select TABLE_NAME,OWNER_NAME,FLASHBACK_ARCHIVE_NAME,ARCHIVE_TABLE_NAME,STATUS from DBA_FLASHBACK_ARCHIVE_TABLES;

#############################################################################5、flash version query
flashback version query提供了一个审计行改变的功能,它能找到所有已经提交了的行的记录,比如说,时间1,我插入一条记录,时间2我删除了这条记录,对于时间3,当然查询不到这条记录,但是flashback version query能够把时间1、时间2的操作给记录下来,并详细的查询出来。
flashback version query一样依赖于AUM(自动undo管理),所以,这里就不再多说AUM的配置。flashback version query采用VERSIONS BETWEEN语句来进行查询
,常用的有:
·VERSIONS_SCN – 系统改变号
·VERSIONS_TIMESTAMP – 时间


下面将展示这个 flashback version query

SQL> connect test/test
Connected.
SQL> create table t1(ID int,NAME varchar2(10));
Table created.
我们执行一系列如下的操作:
   insert into T1 values(1,'A');
 
   commit;
 
  update T1 set ID=2;
 
  commit;
 
 update T1 set ID=3;
 
 commit;
 
update T1 set ID=4;
 
 
 
现在,我们看到该表最后的记录是
16:34:49 SQL> select * from T1;
     A      B
---------- ----------
      5 16:34:34
这个时候,如果我们利用flash table或者是flash query,我们也只能是看到过去的莫一个快照而已,利用flashback version query,我们将找到其中的任何变化,如
SQL>select versions_starttime, versions_endtime, versions_xid,
      versions_operation,ID,NAME
      from t1 versions between timestamp minvalue and maxvalue
      order by VERSIONS_STARTTIME;


SELECT * FROM (select versions_starttime, versions_endtime, versions_xid,
      versions_operation,ID,NAME
      from t1  versions between timestamp minvalue and maxvalue
      order by VERSIONS_STARTTIME) WHERE NAME='B' ;

VERSIONS_STARTTIME        VERSIONS_ENDTIME               VERSIONS_XID     V         ID NAME
------------------------- ------------------------------ ---------------- - ---------- ----
12-OCT-15 02.01.30 PM                                    01000D00C3010000 U          5 D
12-OCT-15 02.01.30 PM     12-OCT-15 02.01.30 PM          0600110096020000 I          4 C
12-OCT-15 02.01.30 PM     12-OCT-15 02.01.30 PM          0A001F00FB010000 I          1 A
12-OCT-15 02.01.30 PM     12-OCT-15 02.01.30 PM          04001C002B020000 U          3 B
12-OCT-15 02.01.30 PM     12-OCT-15 02.01.30 PM          080009006D030000 U          2 B
12-OCT-15 02.01.30 PM                                    090002008E020000 D          3 B


select versions_starttime, versions_endtime, versions_xid,
      versions_operation,salary
      from employees versions between timestamp minvalue and maxvalue where employee_id=107
      order by VERSIONS_STARTTIME;
注意:
此处显示了对该表所作的所有更改,甚至包括该行被删除和重新插入的情况。VERSION_OPERATION 列显示对该行执行了什么操作 (Insert/Update/Delete)。
所做的这些工作不需要历史表或额外的列。
flashback version query记载的是行的改变,如果一个操作有多行的改变,如delete from tablename,那么,在flashback version query对应的也是多行。
 
在上述查询中,列 versions_starttime、versions_endtime、versions_xid、versions_operation 是伪列,与 ROWNUM、LEVEL 等其他熟悉的伪列相类似。其他伪列 — 如 VERSIONS_STARTSCN 和 VERSIONS_ENDSCN — 显示了该时刻的系统更改号。列 versions_xid 显示了更改该行的事务标识符。有关该事务的更多详细信息可在视图 FLASHBACK_TRANSACTION_QUERY 中找到(这个将在flashback transaction query中描述)。
 
当然,除了分析以上所有的变更之外,我们可以指定时间段,如
select ID,NAME
from test versions between timestamp
to_date('2004-04-07 04:34:04','yyyy-mm-dd hh24:mi:ss')
and to_date('2004-04-07 04:34:50','yyyy-mm-dd hh24:mi:ss');

还可以使用 SCN 来找出过去的版本值。可以从伪列 VERSIONS_STARTSCN 和 VERSIONS_ENDSCN 中获得 SCN 号。以下是一个示例:
select versions_starttime, versions_endtime
from test versions
between scn 1000 and 1001
#############################################################################6、flashback transaction query闪回事务:
Oracle 11g的闪回事务查询就是对过去某段时间内所完成的事务的查询和撤销。10g数据来源于undo,11g来自undo/redo/archivelog,在考试中我们使用em来操作,举例如下:
 a、打开数据库补充日志:
sql>alter database add supplemental log data;
b、打开主键补充日志:
sql>alter database add supplemental log data (primary key) columns;
然后用em查询,和查询闪回版本差不多:打开em----Availability----->Perform Recovery----如下选择

/*== transaction 1 ==*/

INSERT INTO hr.departments VALUES (280,'ERP', NULL, 1700)
/
INSERT INTO hr.departments VALUES (290,'Support Operations', NULL, 1700)
/
INSERT INTO hr.departments VALUES (300,'HR Training', NULL, 1700)
/
commit
/

/*== transaction 2 ==*/

update hr.departments set department_id=310 where department_id=280
/
commit
/

/*== transaction 3 ==*/


update hr.departments set department_name='ABC'   where department_id=310
/
commit

alter system switch logfile; 切三遍以上
然后用em查询,和查询闪回版本差不多:打开em----Availability----->Perform Recovery----如下选择:将上面的事务操作闪回到第一次update之前。
 


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2236247.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CESS 正式加入政府区块链协会 (GBA) ,出席 Blockchain Infrastructure 大会

北京时间 11 月 6 日&#xff0c;特朗普赢得 2024 年美国总统大选。与此同时&#xff0c;我们很高兴地宣布&#xff0c;CESS 已正式加入政府区块链协会 (GBA)。GBA 是一个全球性协会&#xff0c;致力于将区块链专业人士汇聚在一起&#xff0c;共同推动区块链技术在政府、金融和…

ARXML汽车可扩展标记性语言规范讲解

ARXML: Automotive Extensible Markup Language &#xff08;汽车可扩展标记语言&#xff09; xmlns: Xml name space &#xff08;xml 命名空间&#xff09; xsd: Xml Schema Definition (xml 架构定义) 1、XML与HTML的区别&#xff0c;可扩展。 可扩展&#xff0c;主要是…

数据结构_哈夫曼树及其应用

构造算法的例子 构造算法的实现 初始化&#xff0c;置权值 int i, m, s1, s2;m 2 * n - 1;for (i 1; i < m; i){HT[i].lch 0;HT[i].rch 0;HT[i].parent 0;}for (i 1; i < n; i){cin >> HT[i].weight;}合并结点 // 创建哈夫曼树for (i n 1; i < m; i){s1…

基于AI深度学习的中医针灸实训室腹针穴位智能辅助定位系统开发

在中医针灸的传统治疗中&#xff0c;穴位取穴的精确度对于治疗效果至关重要。然而&#xff0c;传统的定位方法&#xff0c;如体表标志法、骨度折量法和指寸法&#xff0c;由于观察角度、个体差异&#xff08;如人体姿态和皮肤纹理&#xff09;以及环境因素的干扰&#xff0c;往…

esp32学习:利用虫洞ESP32开发板,快速实现无线图传

我们的虫洞开发板&#xff0c;能够完美运行esp who AI代码&#xff0c;所以实现无线图传那是非常容易的&#xff0c;我们先看看examples目录&#xff1a; 里面有比较多的web例程&#xff0c;在这些例程下&#xff0c;稍作修改&#xff0c;就可以快速实现我的图传无线功能&#…

力扣排序455题(分发饼干)

假设你是一位很棒的家长&#xff0c;想要给你的孩子们一些小饼干。 但是&#xff0c;每个孩子最多只能给一块饼干。 对每个孩子 i&#xff0c;都有一个胃口值 g[i],这是能 让孩子们满足胃口的饼干的最小尺寸;并且每块饼 干j&#xff0c;都有一个尺寸 s[j]。如果 s[j]> g[i]&…

【论文复现】基于深度学习的手势识别算法

本文所涉及所有资源均在这里可获取。 &#x1f4d5;作者简介&#xff1a;热爱跑步的恒川&#xff0c;致力于C/C、Java、Python等多编程语言&#xff0c;热爱跑步&#xff0c;喜爱音乐、摄影的一位博主。 &#x1f4d7;本文收录于论文复现系列&#xff0c;大家有兴趣的可以看一看…

ChatGPT键盘快捷键(按ctrl + /呼出)

文章目录 ChatGPT键盘快捷键- 打开新聊天: Ctrl Shift O- 聚焦聊天输入: Shift Esc- 复制最后一个代码块: Ctrl Shift ;- 复制最后一个回复: Ctrl Shift C- 设置自定义指令: Ctrl Shift I- 切换边栏: Ctrl Shift S- 删除聊天: Ctrl Shift ⌫- 显示快捷方式: Ctrl …

超详细:Vue入门

Vue(发音为 /vjuː/&#xff0c;类似 view)是近些年比较流行的前端框架之一&#xff0c;和 React、Angular 并称为前端三大框架。其中 Vue 简单易学的特点成为国内主流&#xff0c;很多公司已经把它列为一 个前端开发人员必须要掌握的技术点了。 Vue 简介 Vue2.x官网 Vue3.x …

鸿蒙next打包流程

目录 下载团结引擎 添加开源鸿蒙打包支持 打包报错 路径问题 安装DevEcoStudio 可以在DevEcoStudio进行打包hap和app 包结构 没法直接用previewer运行 真机运行和测试需要配置签名,DevEcoStudio可以自动配置, 模拟器安装hap提示报错 安装成功,但无法打开 团结1.3版本新增工具…

你是我的映射,我是你的值:C++ map 中的心灵共鸣

文章目录 map的概念一、map的使用1. 插入删除相关1&#xff09;插入(1) 插入语法(1) 插入语法 2&#xff09;删除 二. map的遍历三、map重载operator[]四、小试&#x1f402;&#x1f52a;1. 前K个高频单词2. 单词识别 总结 map的概念 map是key_value的模型&#xff1a; 一棵树…

RabbitMQ客户端应用开发实战

这一章节我们将快速完成RabbitMQ客户端基础功能的开发实战。 一、回顾RabbitMQ基础概念 这个RabbitMQ的核心组件&#xff0c;是进行应用开发的基础。 二、RabbitMQ基础编程模型 RabbitMQ提供了很多种主流编程语言的客户端支持。这里我们只分析Java语言的客户端。 上一章节提…

RNA-seq 差异分析的点点滴滴(1)

引言 本系列[1])将开展全新的转录组分析专栏&#xff0c;主要针对使用DESeq2时可能出现的问题和方法进行展开。 为何使用未经标准化的计数数据&#xff1f; DESeq2 工具包在接收输入时&#xff0c;期望得到的是未经处理的原始计数数据&#xff0c;比如从 RNA-seq 或其他高通量测…

RTC精度及校准

RTC精度偏差&#xff1a; RTC的基准时间和精度与石英晶体的频率相关&#xff0c;晶体的谐振频率取决于温度&#xff0c;因此RTC性能与温度相关&#xff0c;晶体的频率偏差是晶体正常频率的温度反转函数。 一、硬件方面&#xff1a; 1.使用高精度振荡器的RTC模块&#xff1b; …

智慧城市路面垃圾识别系统产品介绍方案

方案介绍 智慧城市中的路面垃圾识别算法通常基于深度学习框架&#xff0c;这些算法因其在速度和精度上的优势而被广泛采用。这些模型能够通过训练识别多种类型的垃圾&#xff0c;包括塑料袋、纸屑、玻璃瓶等。系统通过训练深度学习模型&#xff0c;使其能够识别并定位多种类型…

【安当产品应用案例100集】029-使用安全芯片保护设备核心业务逻辑

我国工业企业普遍缺乏数据安全意识&#xff0c;对数据安全保护缺乏基本认识。这导致企业在数据安全方面的投入不足&#xff0c;保护能力基本不具备&#xff0c;难以有效应对数据安全风险。不过随着安全事件越来越多&#xff0c;很多工业企业的安全意识也越来越高&#xff0c;在…

遥控器工作核心技术以及传输信号算法详解!

一、遥控器传输信号算法 无线通信技术&#xff1a;无人机遥控器信号传输算法主要基于无线通信技术&#xff0c;通过特定的调制、编码和信号处理技术&#xff0c;将遥控器的操作指令转化为无线电信号&#xff0c;并传输给被控制设备。被控制设备接收到信号后&#xff0c;再将其…

性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台

前言 在当前激烈的市场竞争中&#xff0c;创新和效率成为企业发展的核心要素之一。在这种背景下&#xff0c;如何保证产品和服务的稳定性、可靠性以及高效性就显得尤为重要。 而在软件开发过程中&#xff0c;性能测试是一项不可或缺的环节&#xff0c;它可以有效的评估一个系…

电力调度控制台安全性有没有保障

电力调度控制台作为电力系统的核心组成部分&#xff0c;承担着监控、控制和调度电网运行的重要任务。随着电力系统的不断发展和智能化水平的提升&#xff0c;电力调度控制台的安全性问题也日益受到关注。那么&#xff0c;电力调度控制台的安全性究竟有没有保障呢? 从技术层面来…

练习LabVIEW第四十四题

学习目标&#xff1a; 计算学生三门课(语文&#xff0c;数学&#xff0c;英语)的平均分&#xff0c;并根据平均分划分成绩等级。要求输出等级A,B,C,D,E。90分以上为A&#xff0c;80&#xff5e;89为B&#xff0c;70&#xff5e;79为C&#xff0c;60&#xff5e;69为D&#xff…