Oracle Logminer使用

2024-02-01 08:48
文章标签 oracle 使用 logminer

本文主要是介绍Oracle Logminer使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--创建测试数据

C:\>set NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

C:\>sqlplus / as sysdba

SQL*Plus: Release 10.2.0.4.0 - Production on 星期三 3月 12 22:10:38 2014

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> create tablespace zwc datafile 'C:\oracle\zwc01.dbf' size 500m;


表空间已创建。


SQL> create user zwc identified by zwc;


用户已创建。


SQL> grant resource,connect to zwc;


授权成功。


SQL> conn zwc
输入口令:
已连接。
SQL> create table zwc.tab01(a int primary key,b varchar2(100),c varchar2(100),d date default sysdate) tablespace zwc;


表已创建。


SQL> create or replace procedure p_inst_tab01 as
  2  begin
  3      for i in 1..2000000 loop
  4          insert into tab01(a,b,c,d) values(i,i,i,sysdate);
  5          if mod(i,2000)=0 then
  6              commit;
  7          end if;
  8      end loop;
  9  end p_inst_tab01;
 10  /


过程已创建。


SQL> show user
USER 为 "ZWC"
SQL> exec p_inst_tab01;


PL/SQL 过程已成功完成。


SQL> select count(*) from tab01;


  COUNT(*)
----------
   2000000
   
SQL> select sum(bytes)/1024/1024 "size MB" from user_segments where segment_name='TAB01';


   size MB
----------
        80



--删除、更新数据

SQL> show user
USER 为 "SYS"
SQL> alter database add supplemental log data;


数据库已更改。


SQL> delete from zwc.tab01 where rownum<=100;


已删除100行。


SQL> update zwc.tab01 set d=sysdate-100 where rownum<=10;


已更新10行。


SQL> commit;


提交完成。




--使用logminer找回数据

SQL> alter system set utl_file_dir='c:\oracle' scope=spfile;


系统已更改。


SQL> alter session set nls_date_format ='yyyy-mm-dd hh24:mi:ss';


会话已更改。


SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。


Total System Global Area  612368384 bytes
Fixed Size                  2067656 bytes
Variable Size             167772984 bytes
Database Buffers          436207616 bytes
Redo Buffers                6320128 bytes
数据库装载完毕。
数据库已经打开。
SQL> execute dbms_logmnr_d.build(dictionary_filename=>'test.ora',dictionary_location=>'c:\oracle');


PL/SQL 过程已成功完成。


--select group#,status from v$log;


--select group#,member from v$logfile;


SQL> execute dbms_logmnr.add_logfile(logfilename=>'C:\arch\ARC00041_0842045960.001',options=>dbms_logmnr.new);


PL/SQL 过程已成功完成。


SQL> execute dbms_logmnr.start_logmnr(dictFilename=>'c:\oracle\test.ora');


PL/SQL 过程已成功完成。


SQL> create table zwc.t_logminer tablespace zwc as select * from v_$logmnr_contents;


表已创建。


SQL> select count(*) from zwc.t_logminer;


  COUNT(*)
----------
       212


SQL> execute dbms_logmnr.end_logmnr;


PL/SQL 过程已成功完成。


SQL> select count(*) from zwc.t_logminer where seg_name='TAB01' and seg_owner='ZWC';


  COUNT(*)
----------
       110




--需要恢复数据查询SQL_UNDO,执行误删除的是SQL_REDO,OPERATION是操作类型

[oracle@db10 ~]$ sqlplus zwc/zwc@192.168.1.10:1521/prod


SQL*Plus: Release 10.2.0.5.0 - Production on Wed Mar 12 23:10:15 2014


Copyright (c) 1982, 2010, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> set lines 150 pages 200


SQL> select SQL_UNDO from t_logminer where seg_name='TAB01' and seg_owner='ZWC' and OPERATION='DELETE';


SQL_UNDO
------------------------------------------------------------------------------------------------------------------------------------------------------
insert into "ZWC"."TAB01"("A","B","C","D") values ('201','201','201',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('202','202','202',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('203','203','203',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('204','204','204',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('205','205','205',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('206','206','206',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('207','207','207',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('208','208','208',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('209','209','209',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('210','210','210',TO_DATE('02-12月-13', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('211','211','211',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('212','212','212',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('213','213','213',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('214','214','214',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('215','215','215',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('216','216','216',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('217','217','217',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('218','218','218',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('219','219','219',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('220','220','220',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('221','221','221',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('222','222','222',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('223','223','223',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('224','224','224',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('225','225','225',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('226','226','226',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('227','227','227',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('228','228','228',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('229','229','229',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('230','230','230',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('231','231','231',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('232','232','232',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('233','233','233',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('234','234','234',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('235','235','235',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('236','236','236',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('237','237','237',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('238','238','238',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('239','239','239',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('240','240','240',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('241','241','241',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('242','242','242',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('243','243','243',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('244','244','244',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('245','245','245',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('246','246','246',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('247','247','247',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('248','248','248',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('249','249','249',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('250','250','250',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('251','251','251',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('252','252','252',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('253','253','253',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('254','254','254',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('255','255','255',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('256','256','256',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('257','257','257',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('258','258','258',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('259','259','259',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('260','260','260',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('261','261','261',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('262','262','262',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('263','263','263',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('264','264','264',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('265','265','265',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('266','266','266',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('267','267','267',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('268','268','268',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('269','269','269',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('270','270','270',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('271','271','271',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('272','272','272',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('273','273','273',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('274','274','274',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('275','275','275',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('276','276','276',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('277','277','277',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('278','278','278',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('279','279','279',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('280','280','280',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('281','281','281',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('282','282','282',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('283','283','283',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('284','284','284',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('285','285','285',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('286','286','286',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('287','287','287',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('288','288','288',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('289','289','289',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('290','290','290',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('291','291','291',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('292','292','292',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('293','293','293',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('294','294','294',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('295','295','295',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('296','296','296',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('297','297','297',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('298','298','298',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('299','299','299',TO_DATE('12-3月 -14', 'DD-MON-RR'));
insert into "ZWC"."TAB01"("A","B","C","D") values ('300','300','300',TO_DATE('12-3月 -14', 'DD-MON-RR'));


100 rows selected.


SQL> select SQL_UNDO from t_logminer where seg_name='TAB01' and seg_owner='ZWC' and OPERATION='UPDATE';


SQL_UNDO
------------------------------------------------------------------------------------------------------------------------------------------------------
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAAMAEs';
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAAMAEt';
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAAMAEu';
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAA';
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAB';
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAC';
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAD';
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAE';
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAF';
update "ZWC"."TAB01" set "D" = TO_DATE('12-3月 -14', 'DD-MON-RR') where "D" = TO_DATE('02-12月-13', 'DD-MON-RR') and ROWID = 'AAAM7rAAGAAAAANAAG';


10 rows selected.

这篇关于Oracle Logminer使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/666726

相关文章

使用Python开发一个Ditto剪贴板数据导出工具

《使用Python开发一个Ditto剪贴板数据导出工具》在日常工作中,我们经常需要处理大量的剪贴板数据,下面将介绍如何使用Python的wxPython库开发一个图形化工具,实现从Ditto数据库中读... 目录前言运行结果项目需求分析技术选型核心功能实现1. Ditto数据库结构分析2. 数据库自动定位3

Python yield与yield from的简单使用方式

《Pythonyield与yieldfrom的简单使用方式》生成器通过yield定义,可在处理I/O时暂停执行并返回部分结果,待其他任务完成后继续,yieldfrom用于将一个生成器的值传递给另一... 目录python yield与yield from的使用代码结构总结Python yield与yield

Go语言使用select监听多个channel的示例详解

《Go语言使用select监听多个channel的示例详解》本文将聚焦Go并发中的一个强力工具,select,这篇文章将通过实际案例学习如何优雅地监听多个Channel,实现多任务处理、超时控制和非阻... 目录一、前言:为什么要使用select二、实战目标三、案例代码:监听两个任务结果和超时四、运行示例五

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

Java使用Thumbnailator库实现图片处理与压缩功能

《Java使用Thumbnailator库实现图片处理与压缩功能》Thumbnailator是高性能Java图像处理库,支持缩放、旋转、水印添加、裁剪及格式转换,提供易用API和性能优化,适合Web应... 目录1. 图片处理库Thumbnailator介绍2. 基本和指定大小图片缩放功能2.1 图片缩放的

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

Python使用Tenacity一行代码实现自动重试详解

《Python使用Tenacity一行代码实现自动重试详解》tenacity是一个专为Python设计的通用重试库,它的核心理念就是用简单、清晰的方式,为任何可能失败的操作添加重试能力,下面我们就来看... 目录一切始于一个简单的 API 调用Tenacity 入门:一行代码实现优雅重试精细控制:让重试按我

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

Oracle数据库定时备份脚本方式(Linux)

《Oracle数据库定时备份脚本方式(Linux)》文章介绍Oracle数据库自动备份方案,包含主机备份传输与备机解压导入流程,强调需提前全量删除原库数据避免报错,并需配置无密传输、定时任务及验证脚本... 目录说明主机脚本备机上自动导库脚本整个自动备份oracle数据库的过程(建议全程用root用户)总结

使用Python构建智能BAT文件生成器的完美解决方案

《使用Python构建智能BAT文件生成器的完美解决方案》这篇文章主要为大家详细介绍了如何使用wxPython构建一个智能的BAT文件生成器,它不仅能够为Python脚本生成启动脚本,还提供了完整的文... 目录引言运行效果图项目背景与需求分析核心需求技术选型核心功能实现1. 数据库设计2. 界面布局设计3