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

Oracle LogMiner分析归档日志

目录:

    • Oracle LogMiner分析归档日志
      • 一、准备测试环境
        • 1、开启数据库归档日志
        • 2、打开数据库最小附加日志
        • 3、设置当前session时间日期格式
      • 二、创建测试数据
        • 1、创建数据
        • 2、数据落盘
      • 三、日志发掘测试
        • 挖掘在上次归档的Redo Log File
          • 1.确定最近归档的Redo Log File
          • 2.指定要分析的Redo Log File的文件
          • 3.启动LogMiner
          • 4.查询V$LOGMNR_CONTENTS 视图
          • 5.其他常用查询sql
          • 6.结束LogMiner会话

Oracle LogMiner分析归档日志

Oracle LogMiner是Oracle数据库的一部分,使您能够通过SQL接口查询在线和存档的重做日志文件。重做日志文件包含有关数据库上活动历史记录的信息。

参考官方文档:Using LogMiner to Analyze Redo Log Files (oracle.com)

一、准备测试环境

  • 该测试环境为Oracle19c单实例
  • 该文章仅分析了redo log file被归档后归档日志
  • 该文章后续会继续补充挖掘其他信息示例

1、开启数据库归档日志

--关闭所有节点
shutdown immediate;--启动一个节点至mount状态
startup mount;--修改数据库为archivelog mode
alter database archivelog;--查看数据库归档状态
archive log list;--打开当前实例数据库
alter database open;--启动其他节点数据库
startup;

2、打开数据库最小附加日志

在生成LogMiner分析的日志文件之前,必须启用附加日志记录。

启用附加日志记录时,需要在重做流中记录附加信息,以使重做日志文件中的信息更加详细。所以必须至少启用最少的补充日志记录

执行以下SQL:

ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;

确认是否启用:

SELECT SUPPLEMENTAL_LOG_DATA_MIN FROM V$DATABASE;

如果查询返回值“YES”或“IMPLICIT”,则启用最小补充日志记录。参见“Supplemental Logging”有关附加日志记录的完整信息。

3、设置当前session时间日期格式

以下示例可能需要SCN或时间范围来挖掘日志信息,所有最好提前设置当前session时间日期输出格式

SQL>  ALTER SESSION SET NLS_DATE_FORMAT = 'yyyy-mm-dd hh24:mi:ss';

二、创建测试数据

1、创建数据

--使用普通用户shuaige创建测试数据
--创建测试表
SHUAIGE@orcl> 
CREATE TABLE shuaige.test_tab
(ID number(32),NAME1 varchar2(30),NAME2 varchar2(30),NAME3 varchar2(30),ins_time date DEFAULT SYSDATE
)
tablespace shuaige_dat;Table created.--添加表注释
SHUAIGE@orcl> COMMENT ON TABLE shuaige.test_tab IS '测试表';Comment created.--添加主键和索引
SHUAIGE@orcl> 
alter table test_tab add constraint shuaige.pk_test_tab primary key(ID)
using index3  tablespace shuaige_dat;Table altered.--创建更新数据时间触发器
SHUAIGE@orcl> 
CREATE TRIGGER shuaige.test_tab_triggerbefore  INSERT OR UPDATE ON shuaige.test_tab
FOR EACH ROW
BEGINIF UPDATING then:NEW.INS_TIME := SYSDATE;END IF;
END;9  /Trigger created.--批量插入数据
SHUAIGE@orcl> 
beginfor i in 1 .. 10 loopINSERT INTO "SHUAIGE"."TEST_TAB" ("ID", "NAME1", "NAME2", "NAME3")VALUES (i, 'name1_'|| i, 'name2_' || i, 'name3_' || i);end loop;
end;
/SHUAIGE@orcl> commit;Commit complete.

2、数据落盘

将redo log中的数据归档,否则数据没有落盘,日志挖掘结果会未空

--切换至SYS用户执行
SYS@orcl> alter system switch logfile;System altered.

三、日志发掘测试

挖掘在上次归档的Redo Log File

检查数据库修改历史的最简单方法是在源数据库中进行挖掘,并使用online catalog来翻译重做redo log files。此示例演示如何使用 LogMiner 进行最简单的分析。

此示例查找数据库生成的最后归档重做日志中包含的所有修改(假设该数据库不是 Oracle Real Application Clusters (Oracle RAC)数据库)。

1.确定最近归档的Redo Log File

此示例假设知道要挖掘最近归档的Redo Log File

SYS@orcl> 
SELECT NAME FROM V$ARCHIVED_LOG2  WHERE FIRST_TIME = (SELECT MAX(FIRST_TIME) FROM V$ARCHIVED_LOG);NAME
--------------------------------------------------------------------------------------
/u01/app/oracle/product/19.3.0/dbhome_1/dbs/arch1_21_1130854043.dbf
2.指定要分析的Redo Log File的文件

指定步骤1中查询返回的重做日志文件。该列表将包含一个重做日志文件。

SYS@orcl> 
EXECUTE DBMS_LOGMNR.ADD_LOGFILE( -LOGFILENAME => '/u01/app/oracle/product/19.3.0/dbhome_1/dbs/arch1_21_1130854043.dbf', -OPTIONS => DBMS_LOGMNR.NEW);PL/SQL procedure successfully completed.SYS@orcl>
3.启动LogMiner

启动 LogMiner 并指定要使用的字典,或添加其他条件

SYS@orcl> 
EXECUTE DBMS_LOGMNR.START_LOGMNR(-OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG);PL/SQL procedure successfully completed.

若想分组DML语句提交事务,使用如下示例:

EXECUTE DBMS_LOGMNR.START_LOGMNR( -OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + -DBMS_LOGMNR.COMMITTED_DATA_ONLY); 

若想格式化输出SQL,使用如下示例:

EXECUTE DBMS_LOGMNR.START_LOGMNR(-OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + -DBMS_LOGMNR.COMMITTED_DATA_ONLY + -DBMS_LOGMNR.PRINT_PRETTY_SQL);

若想按时间范围过滤输出,使用如下示例:

EXECUTE DBMS_LOGMNR.START_LOGMNR(-STARTTIME => '2023-03-10 09:00:00', -ENDTIME   => '2023-03-10 11:00:00', -OPTIONS   => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + -DBMS_LOGMNR.COMMITTED_DATA_ONLY + -DBMS_LOGMNR.PRINT_PRETTY_SQL);
4.查询V$LOGMNR_CONTENTS 视图

输出按照 DML 语句的执行顺序显示它们; 因此事务可能相互交错。

该示例截取了与手动创建测试表和数据部分返回值内容

SYS@orcl> select username,scn,timestamp,sql_redo from v$logmnr_contents where username = 'SHUAIGE';USERNAME
------------------------------------------------------------------------------------------------------------------------SCN TIMESTAMP
---------- -------------------
SQL_REDO
------------------------------------------------------------------------------------------------------------------------SHUAIGE4989509 2023-03-10 10:36:38
CREATE TABLE test_tab
(ID number(32),NAME1 varchar2(30),NAME2 varchar2(30),NAME3 varchar2(30),ins_time date DEFAULT SYSDATE
)
tablespace shuaige_dat;SHUAIGE4989558 2023-03-10 10:37:00
COMMENT ON TABLE test_tab IS '测试表';SHUAIGE4989561 2023-03-10 10:37:00
commit;SHUAIGE4989580 2023-03-10 10:37:05
set transaction read write;SHUAIGE4989584 2023-03-10 10:37:05
CREATE UNIQUE INDEX "SHUAIGE"."PK_TEST_TAB" on "SHUAIGE"."TEST_TAB"("ID")tablespace shuaige_dat NOPARALLEL;SHUAIGE4989588 2023-03-10 10:37:05
alter table test_tab add constraint pk_test_tab primary key(ID)
using index
tablespace shuaige_dat;SHUAIGE4989591 2023-03-10 10:37:05
set transaction read write;SHUAIGE4989592 2023-03-10 10:37:05
commit;SHUAIGE4989593 2023-03-10 10:37:05
set transaction read write;SHUAIGE4989595 2023-03-10 10:37:05
commit;SHUAIGE4989634 2023-03-10 10:37:17
CREATE TRIGGER test_tab_triggerbefore  INSERT OR UPDATE ON test_tab
FOR EACH ROW
BEGINIF UPDATING then:NEW.INS_TIME := SYSDATE;END IF;
END;;SHUAIGE4989654 2023-03-10 10:37:21
set transaction read write;SHUAIGE4989655 2023-03-10 10:37:21
commit;SHUAIGE4989657 2023-03-10 10:37:21
set transaction read write;SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('1','name1_1','name2_1','name3_1',TO_D
ATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('2','name1_2','name2_2','name3_2',TO_D
ATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('3','name1_3','name2_3','name3_3',TO_D
ATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('4','name1_4','name2_4','name3_4',TO_D
ATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('5','name1_5','name2_5','name3_5',TO_D
ATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('6','name1_6','name2_6','name3_6',TO_D
ATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('7','name1_7','name2_7','name3_7',TO_D
ATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('8','name1_8','name2_8','name3_8',TO_D
ATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('9','name1_9','name2_9','name3_9',TO_D
ATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989657 2023-03-10 10:37:21
insert into "SHUAIGE"."TEST_TAB"("ID","NAME1","NAME2","NAME3","INS_TIME") values ('10','name1_10','name2_10','name3_10',
TO_DATE('2023-03-10 10:37:21', 'YYYY-MM-DD HH24:MI:SS'));SHUAIGE4989658 2023-03-10 10:37:21
commit;
5.其他常用查询sql
--查询用户名、SCN号、时间戳、SQL_REDO语句(按用户名)
select username,scn,timestamp,sql_redo FROM V$LOGMNR_CONTENTS WHERE username = 'SHUAIGE';--查询用户名、SCN号、时间戳、SQL_REDO语句(按表名)
select username,scn,timestamp,sql_redo FROM V$LOGMNR_CONTENTS where  seg_name='TEST_TAB';--查询用户名、SCN号、时间戳、SQL_REDO语句(按时间戳)
select username,scn,timestamp,sql_redo FROM V$LOGMNR_CONTENTS where timestamp > to_date('2023-03-10 08:00:00','yyyy-mm-dd hh24:mi:ss');----------------------------------------------------------------------------------------------
--官方方式在V$LOGMNR_CONTENT视图查询SQ_REDO语句和XID
SELECT username AS USR, (XIDUSN || '.' || XIDSLT || '.' ||  XIDSQN) AS XID, SQL_REDO FROM V$LOGMNR_CONTENTS;--官方方式在V$LOGMNR_CONTENT视图查询SQL_REDO、SQL_UNDO语句和XID
SELECT username AS USR, (XIDUSN || '.' || XIDSLT || '.' ||  XIDSQN) AS XID, SQL_REDO, SQL_UNDOFROM V$LOGMNR_CONTENTS;

若添加sql_undo字段,查询结果将把undo表空间的回滚语句抓出来,如果是误操作,可以根据该sql恢复数据

6.结束LogMiner会话
SYS@orcl> EXECUTE DBMS_LOGMNR.END_LOGMNR();PL/SQL procedure successfully completed.SYS@orcl> 

相关文章:

Oracle LogMiner分析归档日志

目录:Oracle LogMiner分析归档日志一、准备测试环境1、开启数据库归档日志2、打开数据库最小附加日志3、设置当前session时间日期格式二、创建测试数据1、创建数据2、数据落盘三、日志发掘测试挖掘在上次归档的Redo Log File1.确定最近归档的Redo Log File2.指定要分…...

趣味三角——第15章——傅里叶定理

第15章 傅里叶定理(Fourier’s Theorem) Fourier, not being noble, could not enter the artillery, although he was a second Newton. (傅立叶出生并不高贵,因此按当时的惯例进不了炮兵部队,虽然他是第二个牛顿。) —Franois Jean Dominique Arag…...

市场营销的核心是什么?

之所以写下「市场营销的核心是什么?」这篇文章,是因为这几天刚读完了《经理人参阅:市场营销》这本书。作为一个有着近十年工作经验的市场营销从业人员,看完这本书也产生了很多新的想法,也想记录一下,遂成此…...

c/cpp - 多线程/进程 多进程

c/cpp - 多线程/进程 多进程多进程创建多进程进程等待多进程 宏观上 两个进程完全并发的 父子进程具有互相独立的进程空间 父进程结束&#xff0c;不影响子进程的执行 创建多进程 #include <sys/types.h> #include <unistd.h> #include <stdio.h>int main()…...

MySQL必知必会 | 存储过程、游标、触发器

使用存储过程 存储过程 简单来说就是为了以后的使用而保存的一条或多条MySQL语句的集合。 我觉得就是封装了一组sql语句 为什么需要存储过程&#xff08;简单来说就是&#xff0c;简单、安全、高性能 通过把处理封装在容易使用的单元中&#xff0c;简化复杂操作所有开发人员…...

优化Facebook广告ROI的数据驱动方法:从投放到运营

“投放广告并不是最终的目的&#xff0c;关键在于如何最大程度地利用数据驱动的方法来提高广告投放的回报率&#xff08;ROI&#xff09;”Facebook广告是现代数字营销中最为常见和重要的广告形式之一。但是&#xff0c;要让Facebook广告真正发挥作用&#xff0c;需要通过数据驱…...

动态规划入门经典问题讲解

最近开始接触动态规划问题&#xff0c;以下浅谈&#xff08;或回顾&#xff09;一下这些问题的求解过程。解题思路对于动态规划问题&#xff0c;由于最终问题的求解需要以同类子问题作为基础&#xff0c;故需要定义一个dp数组&#xff08;一维或二维&#xff09;来记录问题求解…...

快速入门深度学习1(用时1h)

速通《动手学深度学习》1写在最前面0.内容与结构1.深度学习简介1.1 问题引入1.2 思路&#xff1a;逆向思考1.3 跳过1.4 特点1.5 小结2.预备知识&#xff08;MXNet版本&#xff0c;学错了。。。。&#xff09;2.1 获取和运行本书的代码2.2 数据操作2.2.1 略过2.2.2 小结2.3 自动…...

PaddleOCR关键信息抽取(KIE)的训练(SER训练和RE训练)错误汇总

1.SER训练报错: SystemError: (Fatal) Blocking queue is killed because the data reader raises an exception 1.1.问题描述 在执行训练任务的时候报错 单卡训练 python3 tools/train.py -c train_data/my_data/ser_vi_layoutxlm_xfund_zh.yml错误信息如下&#xff1a; T…...

信息收集之搜索引擎

Google Hacking 也可以用百度&#xff0c;不过谷歌的搜索引擎更强大 site 功能&#xff1a;搜索指定域名的网页内容&#xff0c;可以用来搜索子域名、跟此域名相关的内容 示例&#xff1a; site:zhihu.com 搜索跟zhihu.com相关的网页“web安全” site:zhihu.com 搜索zhihu…...

Flutter(四)布局类组件

目录布局类组件简介布局原理与约束线性布局&#xff08;Row和Column&#xff09;弹性布局流式布局&#xff08;Wrap、Flow&#xff09;层叠布局&#xff08;Stack、Positioned&#xff09;对齐与相对定位&#xff08;Align&#xff09;Align和Stack对比Center组件LayoutBuilder…...

【黑马】Java基础从入门到起飞目录合集

视频链接&#xff1a; Java入门到起飞&#xff08;上部&#xff09;&#xff1a;BV17F411T7AoJava入门到起飞&#xff08;下部&#xff09;&#xff1a;BV1yW4y1Y7Ms 学习时间&#xff1a; 2023/02/01 —— 2023/03/09断断续续的学习&#xff0c;历时大概37天&#xff0c;完结撒…...

PMP考前冲刺3.10 | 2023新征程,一举拿证

题目1-2&#xff1a;1.在最近的一次耗时四周的迭代中&#xff0c;赫克托尔所在的敏捷团队刚完成了10 个用户故事点的开发、测试和发布&#xff0c;那么团队的速度是&#xff1f;A. 10B. 4C. 5D.402.产品负责人奥佩&#xff0c;倾向于在短周期内看到工作产品的新版本&#xff0c…...

JavaScript Math常用方法

math是JavaScript的一个内置对象&#xff0c;它提供了一些数学属性和方法&#xff0c;可以对数字进行计算&#xff08;用于Number类型&#xff09;。 math和其他全局对象不同&#xff0c;它不是一个构造器&#xff0c;math的所有方法和属性都是静态的&#xff0c;直接使用并传入…...

【C++】模板进阶

文章目录一、非类型模板参数1、非类型模板参数2、C11 中的 array 类二、模板的特化1、模板特化的概念2、函数模板特化3、类模板特化3.1 全特化3.2 偏特化三、模板的分离编译四、模板总结一、非类型模板参数 1、非类型模板参数 模板参数分为类型形参与非类型形参&#xff0c;类…...

三板斧解决leetcode的链表题

在《波奇学单链表》中我们提到单链表的两个特点单向性。头节点尾节点的特殊性导致分类讨论的情况。如何看单链表&#xff1f;让我们简化成下图cur表示当前节点&#xff0c;下图表示cur移动&#xff0c;圆圈表示值用哨兵卫节点(新的头节点)和把尾节点看成NULL来把头尾节点一般化…...

全生命周期的云原生安全框架

本博客地址&#xff1a;https://security.blog.csdn.net/article/details/129423036 一、全生命周期的云原生安全框架 如图所示&#xff1a; 二、框架说明 在上图中&#xff0c;我们从两个维度描述各个安全机制&#xff0c;横轴是开发和运营阶段&#xff0c;细分为编码、测试…...

【本地网站上线】ubuntu搭建web站点,并内网穿透发布公网访问

【本地网站上线】ubuntu搭建web站点&#xff0c;并内网穿透发布公网访问前言1. 本地环境服务搭建2. 局域网测试访问3. 内网穿透3.1 ubuntu本地安装cpolar3.2 创建隧道3.3 测试公网访问4. 配置固定二级子域名4.1 保留一个二级子域名4.2 配置二级子域名4.3 测试访问公网固定二级子…...

电脑怎么重装系统?教你轻松掌握这些方法

重新安装计算机系统有两种原因&#xff1a;一种是计算机系统可以正常使用&#xff0c;但是电脑比较卡&#xff0c;为了提高它的运行速度&#xff0c;所以想要通过重新安装系统来解决这个问题;另一种原因是计算机系统文件丢失&#xff0c;系统出现蓝屏&#xff0c;或者黑屏的情况…...

leetcode-每日一题-2379(简单,字符串)

久违的简单题......给你一个长度为 n 下标从 0 开始的字符串 blocks &#xff0c;blocks[i] 要么是 W 要么是 B &#xff0c;表示第 i 块的颜色。字符 W 和 B 分别表示白色和黑色。给你一个整数 k &#xff0c;表示想要 连续 黑色块的数目。每一次操作中&#xff0c;你可以选择…...

别再花钱买云API了!手把手教你用Docker+Ollama在本地免费跑通Strix渗透测试

零成本打造企业级渗透测试环境&#xff1a;DockerOllama本地化实战指南 当安全团队每月收到云服务商五位数的API账单时&#xff0c;当关键测试任务因网络抖动被迫中断时&#xff0c;越来越多的技术决策者开始重新审视渗透测试的基础架构。本文将揭示如何用消费级硬件构建媲美商…...

计算机毕业设计:汽车数据可视化与后台管理平台 Django框架 requests爬虫 可视化 车辆 数据分析 大数据 机器学习(建议收藏)✅

博主介绍&#xff1a;✌全网粉丝10W&#xff0c;前互联网大厂软件研发、集结硕博英豪成立软件开发工作室&#xff0c;专注于计算机相关专业项目实战6年之久&#xff0c;累计开发项目作品上万套。凭借丰富的经验与专业实力&#xff0c;已帮助成千上万的学生顺利毕业&#xff0c;…...

GIS开发必备:5分钟搞定EPSG3857转WGS84坐标转换(附proj4.js完整代码)

GIS开发实战&#xff1a;从原理到代码实现EPSG3857与WGS84的高效坐标转换 刚接触WebGIS开发的工程师们&#xff0c;常常会被各种坐标系搞得晕头转向。为什么高德地图上显示的位置和GPS设备采集的数据对不上&#xff1f;为什么Leaflet、OpenLayers这些库加载的瓦片地图坐标数值大…...

AI 模型量化精度控制与评估方法

AI模型量化精度控制与评估方法 随着人工智能技术的快速发展&#xff0c;AI模型在边缘计算、移动设备等资源受限场景中的应用日益广泛。为了在有限的计算资源下保持模型性能&#xff0c;量化技术成为关键手段。量化过程中精度的损失直接影响模型的可靠性&#xff0c;因此量化精…...

Windows系统优化新范式:Win11Debloat技术原理与实践指南

Windows系统优化新范式&#xff1a;Win11Debloat技术原理与实践指南 【免费下载链接】Win11Debloat 一个简单的PowerShell脚本&#xff0c;用于从Windows中移除预装的无用软件&#xff0c;禁用遥测&#xff0c;从Windows搜索中移除Bing&#xff0c;以及执行各种其他更改以简化和…...

3步搞定:如何让VR视频在普通屏幕上完美播放

3步搞定&#xff1a;如何让VR视频在普通屏幕上完美播放 【免费下载链接】VR-reversal VR-Reversal - Player for conversion of 3D video to 2D with optional saving of head tracking data and rendering out of 2D copies. 项目地址: https://gitcode.com/gh_mirrors/vr/V…...

Redis 的核心机制

Redis 作为高性能内存数据库&#xff0c;在现代架构中早已超越了单纯的“缓存”角色&#xff0c;成为了支撑高并发、分布式系统的基石。深入理解其核心场景、持久化机制、内存管理及集群原理&#xff0c;是构建稳定、高效系统的关键。 以下结合具体业务场景&#xff0c;深度解析…...

如何高效使用抖音批量下载工具:3个技巧让视频收集效率提升90%

如何高效使用抖音批量下载工具&#xff1a;3个技巧让视频收集效率提升90% 【免费下载链接】douyin-downloader 项目地址: https://gitcode.com/GitHub_Trending/do/douyin-downloader 在短视频内容爆炸的时代&#xff0c;抖音作为国内领先的内容平台&#xff0c;每天产…...

COMSOL激光与电火花高斯热源作用下5.6版本两相流水平集仿真模型:流体传热-层流耦合研究

comsol激光、电火花&#xff08;高斯热源&#xff09;加工的水平集两相流仿真模型&#xff0c;5.6版本的&#xff0c;是流体传热—层流—两相流水平集耦合。在COMSOL Multiphysics 5.6中&#xff0c;模拟激光或电火花加工过程中的热源分布和流体行为&#xff0c;是一个相当有趣…...

实战构建c盘清理桌面应用,快马ai生成可部署完整解决方案

今天想和大家分享一个实战项目&#xff1a;用Python开发一个C盘清理桌面应用。这个工具不仅能解决日常C盘空间不足的烦恼&#xff0c;还具备完整的图形界面和实用功能。最近在InsCode(快马)平台上尝试了快速生成和部署&#xff0c;整个过程特别顺畅。 项目背景与核心功能 开发这…...