Oracle修炼路程--闪回技术

10、网络安全工具:Bettercap 与 Web 应用测试工具全解析 本文详细解析了网络安全工具Bettercap及其在中间人攻击和无线攻击中的应用,同时介绍了多种Web应用测试工具,如Amass、Cadaver、Dirb等,并探讨了工具的使用场景、流程、注意事项以及未来发展趋势,为网络安全测试提供了全面的指导。 阅读详情

oracle–闪回操作

闪回概念:
当发生逻辑错误时,从闪回恢复区中取出在发生逻辑错误之前的数据,并进行恢复。
闪回作用:
1 撤销已经提交的事务;
2 恢复被删除的表格;
3 获取表上的历史记录信息;

闪回分类:
1 闪回表中的数据;
2 闪回删除的表;
3 闪回事务查询;
4 闪回数据库;
5 闪回归档日志;

下面阐述前三类闪回技术:

一 闪回表中的数据
实际上是将表中的数据快速恢复到过去的某一个时间点或者SCN(系统改变号)。
举例:

create table stu (ID number,ename varchar2(10));--创建表格
--插入数据并提交
insert into stu values(1,'李磊');
insert into stu values(2,'韩梅梅');
insert into stu values(3,'王华');
commit;
select timestamp_to_scn(sysdate) from dual;---查询当前SCN:2277892
delete from stu where ID=3;---删除数据;
commit;
flashback table stu to scn 2277892 ;
--错误提醒:ORA-08189: 因为未启用行移动功能, 不能闪回表。
alter table stu enable row movement;--开启行移动功能
flashback table stu to scn 2277892 ;--再次执行闪回;闪回成功。

此刻,用于实现delete误删的数据恢复。

要点说明:
1 必须开启行移动功能;
2 必须知道SCN或者需要将数据恢复的时间点;
3 用户在闪回的时候权限不足,需要给用户授权:

grant flashback any table to scott;--必须在管理员用户下才可以授权。

知识点引申:
1 如何将具体时间转化成SCN?

select timestamp_to_scn(to_date('2020-04-09,13:25:59','yyyy-mm-dd,hh24:mi:ss')) scn from dual;
   2 如何将SCN转化为具体时间?
select scn_to_timestamp(2163746) from dual;

二 闪回删除的表格

将已经被删除的表格进行恢复。
举例:

create table student(id number,ename varchar2(10))--创建表
drop table student;--删除表格;
show recyclebin;--查看回收站;

--结果如下:
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
STUDENT          BIN$c3w1vZNnTo65BXfdITKzcw==$0 TABLE        2020-04-10:16:22:22


create table student(id number,ename varchar2(10));--再次创建表
drop table student;--再次删除表格;
show recyclebin;--再次查看回收站;

--结果如下:
ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
STUDENT          BIN$ohSu47LKQqSgXgXRXYr8yg==$0 TABLE        2020-04-10:16:25:47
STUDENT          BIN$c3w1vZNnTo65BXfdITKzcw==$0 TABLE        2020-04-10:16:22:22

现将表格进行恢复;
flashback table student to before drop;--闪回成功
show recyclebin;--再次查看回收站;

ORIGINAL NAME    RECYCLEBIN NAME                OBJECT TYPE  DROP TIME
---------------- ------------------------------ ------------ -------------------
STUDENT          BIN$c3w1vZNnTo65BXfdITKzcw==$0 TABLE        2020-04-10:16:22:22
说明:可以发现,如果回收站里面的两个表格名字相同,通过flashback闪回的表是最近删除的表;
当然,可以进行选择性闪回;
--因为之前有名字为“student”表格,所以需要恢复并重命名;
flashback table "BIN$c3w1vZNnTo65BXfdITKzcw==$0" to before drop rename to stu;

注意:默认情况下,闪回的是最近删除的同名表;

清空回收站:purge recyclebin;
删除表格并清空:drop table stu purge;

三 闪回事务查询

举例:

create table tb_version(id number,name varchar2(10));

insert into tb_version values(12,'a1');
insert into tb_version values(13,'a2');
insert into tb_version values(14,'a3');
commit;
insert into tb_version values(25,'a4');
insert into tb_version values(26,'a5');
insert into tb_version values(27,'a6');
commit;
insert into tb_version values(38,'a1');
insert into tb_version values(39,'a1');
insert into tb_version values(30,'a1');
commit;

--bug:如果插入数据且commit数据速度太快,可能会导致事务信息丢失。
select id,name,versions_xid,versions_operation,versions_starttime,versions_endtime from tb_version
versions between timestamp minvalue and maxvalue;

ID NAME       VERSIONS_XID     V VERSIONS_STARTTIME                                                      VERSIONS_ENDTIME
-- ---------- ---------------- - --------------------------------------------------------------------------- -------------------
----------------------------------
30 a1         0900150031050000 I 10-4月 -20 08.02.15 下午
39 a1         0900150031050000 I 10-4月 -20 08.02.15 下午
38 a1         0900150031050000 I 10-4月 -20 08.02.15 下午
27 a6         0700130092040000 I 10-4月 -20 08.02.06 下午
26 a5         0700130092040000 I 10-4月 -20 08.02.06 下午
25 a4         0700130092040000 I 10-4月 -20 08.02.06 下午
12 a1
13 a2
14 a3


OPERATION
--------------------------------
UNDO_SQL
---------------------------------------------------------------------------
---------------------------------------------------------------------------

INSERT
delete from "SCOTT"."TB_VERSION" where ROWID = 'AAASYUAAEAAAAIlAAF';

INSERT
delete from "SCOTT"."TB_VERSION" where ROWID = 'AAASYUAAEAAAAIlAAE';

INSERT
delete from "SCOTT"."TB_VERSION" where ROWID = 'AAASYUAAEAAAAIlAAD';

BEGIN

--需要授权:
grant select any transaction to scottt;

--开启权限第一步:alter database add supplemental log data。

--执行undo_sql之后,即可恢复状态。

CNN+LSTM+Attention+DNN模型实战:pytorch搭建CNN+LSTM+Attention+DNN行车速度预测 阅读详情

相关推荐

Ubuntu上安装Claude Code CLI:从环境配置到排错全攻略

在Linux开发环境中,命令行工具的安装与配置是开发者绕不开的基础技能。无论是AI编程助手还是其他CLI工具,其运行都依赖于正确的运行时环境和包管理机制。以Node.js生态为例,版本管理器nvm解决了多版本切换的痛点,npm则负责全局包的安装与依赖解析。理解PATH环境变量的执行逻辑、全局bin目录的作用以及权限控制,是排查“命令找不到”或“EACCES”错误的关键。这些基础知识应用广泛,从本地开发到服务器部署都至关重要。本文以Ubuntu系统上安装Anthropic的Claude Code CLI为例,

weixin_28842367的博客 273

图文代码读懂Oracle表空间与数据文件管理

Oracle数据库的逻辑结构 oracle数据库具有跨平台的特性,可以不断地修改和移植到另外的操作系统上。这样oracle就不会直接操作系统底层的数据文件,而是提供一个中间层,这个中间层就是oracle的逻辑结构,它与操作系统的平台无关,而中间层到数据文件的映射通过DBMS来完成。 数据库的跨平台特性 数据文件管理的逻辑结构图 tablespace(表空间):在逻辑上,一个数据库...

qq_38170766的博客 271

汽车OTA自动化测试解决方案

目前OTA远程升级技术已成为众多汽车制造商的标配。由于OTA升级可能会带来潜在的风险(特别是包含ECU固件更新的FOTA升级),针对OTA系统的测试过程就尤为重要。

东舟技术的博客 7761

Oracle tips:drop table和purge

在操作Oracle时,我们经常都会删除一个表,当删除错误后,我们希望能够恢复该表,有时也希望删除表之后能够立刻释放表的空间。下面将介绍在Oracle中表的删除、恢复和空间释放。 DROP TABLE 当你drop一个表时,数据库不会立刻释放表的空间,而是重命名这个表然后将其放入回收站中,可以通过下面的方式查看一个删除的表: select object_name,original_na

宁静致远 1万+

VMware Workstation Pro 25H2 去虚拟化精简便携版完全指南

虚拟机技术在现代开发和测试环境中扮演着重要角色,但客户机系统常因暴露虚拟化特征而被特定软件识别为“虚拟机”,导致功能受限。同时,官方 VMware Workstation Pro 安装包体积大、安装流程繁琐,难以实现移动化部署。去虚拟化通过修改 VMX 配置、屏蔽 CPUID 特征、反射宿主机硬件信息等手段降低被检测概率;精简与便携则通过裁剪非核心文件和改用脚本注册服务,实现即解压即用的轻量化形态。这类改版方案特别适合临时环境搭建、敏感软件兼容测试以及构建随身开发环境。本文从虚拟化检测原理出发,系统梳理了

weixin_34068198的博客 379

BRep实战指南:从理论到文件格式的全面解析

本文全面解析BRep(边界表示法)从基础概念到文件格式的实战应用。详细介绍了BRep的数学定义、工业应用场景,以及STEP、IGES等主流文件格式的对比与使用技巧,帮助读者掌握三维建模核心技术并优化性能。

weixin_29235923的博客 410

oracle--SYSTEM表空间不足问题

杂症二、SYSTEM表空间不足报错 一、杂症: PLSQL登录,报错: ORA-00604: 递归 SQL 层出现错误 ORA-01653: 表.无法通过(在表空间中)扩展 ORA-02002: 写入审记线索时出错 二、病理: 1、表空间不足 2、数据库的审计功能已经开启引起(SYS.AUD$表) 三、病因定位: 先连接上数据库: # su oracle # sqlpl...

La victoria的博客 874

用OpenCV+ROS实现焊接机器人智能纠偏:线激光视觉的算法调参全流程

本文详细介绍了基于OpenCV和ROS的焊接机器人智能纠偏系统全流程。通过线激光视觉系统实时感知焊缝,重点解析了抗干扰图像预处理、改进的Steger算法提取激光条纹中心线,以及从2D像素到机器人基坐标系的完整坐标变换。该系统为应对焊接飞溅、弧光等复杂工况,实现高精度实时路径纠偏提供了从算法优化到工程集成的完整解决方案。

vodka的博客 160

Oracle学习笔记 --- Oracle数据库中表空间不足

Oracle学习笔记 --- Oracle数据库中表空间不足

杨鑫newlife的专栏 991

dq轴坐标系下的电路方程

dq轴坐标系下的电路方程 dq轴坐标系是一种常见的电路方程,但是再dq轴坐标系下电路元件的电压电流dq轴存在一定的耦合,本文针对三相电路推导了dq轴坐标系下的电路电路方程进行一个推导,首先先列出来派克变换的公式 派克变换 [AdAqA0]=23[cos⁡(θ)cos⁡(θ−2π/3)cos⁡(θ+2π/3)−sin⁡(θ)−sin⁡(θ−2π/3)−sin⁡(θ+2π/3)1/21/21/2][AaAbAc]\left[\begin{array}{c}A_d\\A_q\\A_0 \end{array}\ri

Mr.Young的博客 1万+

基于 YOLOv26 的金属表面缺陷检测系统:智能视觉质检方案

摘要: 基于YOLOv26的金属表面缺陷检测系统采用深度学习技术,实现对划痕、裂纹、腐蚀等8类常见缺陷的自动化检测。系统通过数据增强预处理和YOLOv26模型的高精度识别能力,具备多类别分类、实时推理和强鲁棒性特点,适用于不同金属材质与光照条件。架构包含数据采集、预处理、YOLOv26检测和后处理模块,代码实现采用PyTorch框架,支持训练数据增强与标准化处理,为工业质检提供高效智能解决方案。

一键难忘的博客 591

Oracle10g 回收站及彻底删除table : drop table xx purge

--------------------------------------------------------------- drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉。这样,回收站里的表信息就可以被恢复,或彻底清除。 1.通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句 flashback table <user...

asdic 329

使用 MATLAB/Simulink 构建一个基于FOC控制的PMSM矢量控制仿真模型

本教程详细介绍了基于MATLAB/Simulink的永磁同步电机(PMSM)磁场定向控制(FOC)系统建模与仿真方法。主要内容包括:PMSM电机模型参数设置、Clarke/Park变换模块设计、电流环PID控制器配置、SVPWM调制实现以及系统仿真参数优化。文章提供了模块化设计思路和具体参数设置示例,并给出了PID整定建议和进阶优化方向。通过该仿真模型,可深入理解PMSM矢量控制原理,掌握高性能电机控制系统的建模技巧,适用于伺服系统、电动汽车驱动等高端控制场景。教程还推荐了实时仿真和高级控制策略等扩展应用。

xiaoheshang_123的博客 530

Oracle Drop表并未直接删除 drop table xx purge

drop表 执行drop table xx 语句     drop后的表被放在回收站(user_recyclebin)里,而不是直接删除掉。这样,回收站里的表信息就可以被恢复,或彻底清除。     通过查询回收站user_recyclebin获取被删除的表信息,然后使用语句                    flashback table to before drop [rename

Haibing的博客 3万+

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

查询Oracle表空间使用情况(包括自增峰值)

单位:G SELECT A.tablespace_name 表空间, A.file_name 物理文件名, A.bytes / 1024 / 1024 / 1024"当前大小(G)", (A.bytes - b.free) / 1024 / 1024 / 1024"已使用(G)", round(((A.bytes - b.free) / (A.bytes)) * 100,2) "使用率(%)...

zoe_soso的博客 854

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

2018-06-28 第五十三天 oracle

一、数据库对象 oracle 的数据库对象:表、用户、约束、索引、序列、视图 (一)关于用户的操作 --创建一个新的用户,然后给新的用户创建一张表,然后给表中添加一些数据。查询表中的数据。 --对用户进行操作 --创建用户需要当前用户拥有dba的权限。 --新创...

chiyanwu5376的博客 155

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Oracle修炼路程--查询习题

第一题 :查询所有员工的年工资、所在部门的名称,按年薪从低往高排序; SQL> select (sal*12+nvl(comm,0)) 年工资,d.dname 部门名称 from emp e,dept d where e.deptno=d.deptno order by 年工资 asc; 年工资 部门名称 ---------- -------------- 14400 R...

Python_Newer的博客 695

Oracle修炼路程--PL/SQL基础语法

常用工具: 1 plsql developer 2 oracle sql developer PL/SQL是一门为扩展Oracle中SQL功能的编程语言, 常见符号: || 字符串连接符 := 赋值运算符 % 属性索引 使用%type可以使变量获得与字段相同的数据类型 = 相等运算符 1) 变量 SET SERVEROUTPUT ON; declare phello...

Python_Newer的博客 421

Oracle修炼路程--分页查询

一 TOP-N问题 --取出工资最高的5五名员工信息; --第一步:首选对员工信息按照sal进行降序; SQL> select *from emp order by sal desc; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ---------- -...

Python_Newer的博客 419

Oracle修炼路程--powerdesigner和oracle

1 环境 Powerdesigner 16.7(64位) Oracle 11g(64位) 2 配置数据源 安装好powerdesigner之后,做E-R图; 如图,物理模型:关系型须子表指向父表。 3 连接数据 1)配置数据源 开始-》搜索“数据源”-》接下来如下图: 到此,数据源配置完毕; 3 pb连接oracle 快捷键:ctrl+g,如图: 点击“确定”之后,即可将表格导入到数据库之中; 4 逆向生成 现在将数据库中的表格,导入到pd中: 填写好账号密码即可连接数据库,然后

Python_Newer的博客 354

Oracle修炼路程--触发器

概念: 与表相关联的PLSQL程序,当执行DML(增删改)自动执行触发器; 创建语法: create or replace trigger 触发器名 before|after—在DML之前或者之后; delete|insert|update [of 列名]–DML语句 on 表名----操作某个表 for each row----对某行数据进行操作 。。。。。plsql代码 无论修改多少行,触发器...

Python_Newer的博客 351

Oracle修炼路程--六种约束

约束: 约束是数据库用来确保数据满足业务规则的手段。具体需要根据业务需求进行相应设置。 常见约束分类: 检查约束(Check):可限制条件,如name>4 唯一约束(Unique):id:1 2 3 4 5 主键约束(Primary key):类似唯一约束 外键约束(Foreign key):两张表关联 非空约束(Not null):不能为空 默认约束(Default):默认某值 约束命名规...

Python_Newer的博客 316

Oracle修炼路程--视图

视图概念: 视图属于数据库对象(包括表、视图、序列、索引、同义词、触发器)之一, 视图是一个虚表,建立在表的基础之上,可以来自单个表或者多个表。 视图创建 创建视图的语法: create view myview as select 。。。from。。。emp with check option; --举例创建视图myview SQL> create view myview as select...

Python_Newer的博客 290

Oracle修炼路程--数据字典

概念: 数据字典是oracle数据库最重要的组成部分;它是由表和视图组成,记录了数据库的系统信息;数据字典的所有者为sys用户;用户只能在数据字典上执行查询操作,而其维护和修改是由系统自动完成的! oracle数据字典通常是在创建和安装数据库时被创建的,是oracle系统工作的基础。没有数据字典的支持,oracle数据库系统就不能进行任何工作。 分类 1 静态数据字典表 2 静态数据字典视图 3 ...

Python_Newer的博客 260

Oracle修炼路程--日期函数及转换函数

一 日期函数 a) sysdate:获取当前时间 SQL> select sysdate from dual; SYSDATE -------------- 13-4月 -20 SQL> select sysdate,to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual; SYSDATE TO_CHAR(SYSD...

Python_Newer的博客 257

Oracle修炼路程--伪列rowid及rownum

**伪列概念:**类似于表中的列,但是不存在任何表中,可以查询,不可增加、修改或者删除。 一 rownum ronum: 1 逻辑伪列:比如1 2 3 4 5 6 。。 SQL> select rownum,e.* from emp e; ROWNUM EMPNO ENAME JOB MGR HIREDATE ...

Python_Newer的博客 249
下一篇: Oracle修炼路程--数据库的导入导出操作
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值