好久没写东西了,今天写一篇凑个数吧,来公司一年多了,感觉自己到了一个小瓶颈期了. 以前每天很多新东西,都是忙着学,感觉没时间写博客总结一下,大部分都是写笔记,现在又是没东西可以写,每天干着95%都是重复的工作,大部分时间在运维,但我内心是把自己当做dba的,毕竟当初老大把我从java开发拉倒系统组^_^ 上次一个技术把表中的数据删除,这次是另一个技术把正确的包给覆盖了,我给恢复了,哈哈哈---有用的话看一下 参考博客:https://blog.csdn.net/wyzxg/article/det…
语法: drop table ... purge; 例子:drop table test purge; purge是直接删除表,不保留到回收站,10G开始默认drop表式改名移动到回收站; 闪回(flashback)语句: 1.能在一个语句中把表恢复到指定的时间点: 2.恢复表数据连同索引与约束信息: 3.能返回表及其内容到指定时间点或系统变更号(SCN): 4.修复表的误操作 闪回简单示例: SQL> drop table emp2;   Table dropped   SQL> selec…
Flashback query(闪回查询)原理 Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. Flashback query(闪回查询)前提: SQL> show parameter undo; NAME                                TYPE       VALUE ------------------------------------ ----------- --------…
Oracle恢复已删除的数据,主要有两种方法:SCN和时间戳. 一.通过SCN恢复删除且已提交的数据 1.获得当前数据库的scn号 select current_scn from v$database; (切换到sys用户或system用户查询) 查询到的scn号为:1499223 2.查询当前scn号之前的scn select * from 表名 as of scn 1499220; (确定删除的数据是否存在,如果存在,则恢复数据:如果不是,则继续缩小scn号) 3.恢复删除且已提交的数据 f…
插入,更新,删除数据 oracle提供了功能丰富的数据库管理语句 包括有效的向数据库中插入数据的insert语句 更新数据的update语句 以及当数据不再使用时删除数据的delete语句 更改数据之后一定要使用提交操作,否则只保存在内存中,别人无法查看到更改 Rollback; 回滚 commit; 提交 1插入数据 准备表 SQL> create table person( 2 id number(9) not null, 3 name varchar2(40) not null, 4 ag…
一.多表更新 比如线上有个系统由于某一个模块出现异常,导致系统整体的数据出现了错误,需要你手动改写数据库错误,Oracle update语句更新的值来自另一张表 update语法最基本的格式为 UPDATE TABLE_NAME SET COLUMN1 = VALUE1 WHERE COLUMN2 = VALUE2 下面首先来创建两张表,令表名为GF_CONS_TRAN_TEST  AS A -- ---------------------------- -- Table structure f…
emmmm 写这个博客心情很复杂,,,本来这个触发器早就写好了,后来发生点事就写个博客当个备份吧,就当留纪念了:话不多数上问题以及SQL: 问题: 在ABONPB表上增加一个触发器,针对车牌号字段做update操作且new:传入的mduser字段为API,status为P时,向PA_BANK_REGNO_RECORD表中insert 一条记录,sync字段为0,修改次数为之前的次数加1,其余字段参考字段意义.(YC) 当insert进ABONPB时新案件时,同理lla_code为MA  为条件也…
在oracle中由于表结构设计不合理或者需要清楚老数据的时候,经常需要对大表数据进行清理. 一般有一下几种方法: 1. 删除大部分数据,留下小部分数据.我们可以把需要保留的数据转移到别的表,然后再把大表drop掉,然后改名就行了: a) create table tablename_min as select * from tablename_max a where 需要保留的数据. b) drop table tablename_max ; c) rename tablename_min as…
 概述: 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是得借助于Oracle一些高级的备份恢复工具如RAMN去完成(这才是Oracle强大备份恢复机制的精髓所在啊)  撤销段(UNDO SEGMENT) 在讲闪回技术前,需要先了解Oracle中一个逻辑结构--撤销段.因为大部分闪回技…
(一)闪回技术概要 闪回技术是数据库备份与恢复的重要补充手段,主要包括以下7种特性: 特性 原理 数据库支持 闪回查询(Flashback Query) 利用undo表空间中的回退信息,查询过去某个时刻或SCN时表中数据的快照 Undo表空间配置 闪回版本查询(Flashback Version Query) 利用undo表空间中的回退信息,查询过去某个时间段或某个SCN段内数据的变化情况 Undo表空间配置 闪回事务查询(Flashback Transaction Query) 利用undo表…
闪回表,实际上就是将表中的数据快速恢复到过去的一个时间点或者系统改变号SCN上.实现表的闪回,需要用到撤销表空间相关的UNDO信息,通过SHOW PARAMETER UNDO命令就可以了解这些信息.用户对表的数据的修改操作,都记录在撤销表空间中,这为表的闪回提供的数据恢复的基础. 修改记录被提交到undo表空间中的默认保留时间为900秒,用户可以在这900秒的时间内对表的进行闪回操作,从而将表中的数据恢复的修改前的状态. 如上图显示的默认900秒,我们通过sql来修改这个默认时间为1200: f…
Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的.这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了.oracle10g大大的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力,这是通过引入一种新的flashback log实现的. flashback log有点类似redo log,只不过redo log将数据库往前滚,flashback log则将Oracle数据库往后滚.为了保存管理和备份恢复相…
oracle的闪回很早就出来了,准确的说一直以来应该都较少被真正用户广为使用,除了dba和极少部分开发人员偶尔用于逻辑出错.误删恢复之外,较少被用于产生更有价值的用途. 各种闪回表flashback table.flashback query.flashback transaction都有一定的适用场景,但是他们称不上和其他特性比如分区.并行那么自然和普遍适用性,同时数据存储在撤销表空间,而撤销表空间的性能对系统影响极大,大量的undo保留着会使得更多的顺序读变成随机读.直到oracle 11g…
我们在开发和运维过程中,经常遇到数据被误删除的情况.无论是在应用开发中的Bug,还是修改数据的时候,如果提交了错误数据修改结果,会带来很多问题.一般来说,一旦提交commit事务,我们是不能获取到之前的数据情况,除非使用较复杂的数据恢复手段,利用备份数据恢复. 但是在Oracle中,可以使用其闪回FlashBack特性来解决这个问题.首先,声明一点,闪回Flashback的范围很大,包括数据库.表.数据均是可以Flashback的,但是机制差别很大.本文说的是简单的数据flashback,用来快…
Oracle 闪回 找回数据的实现方法 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复.这篇文章主要介绍了Oracle 闪回 找回数据的实现方法,需要的朋友可以参考下 闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复(多数闪回功能都能在数据库联机状态下完成).需要注意的是,闪回技术旨在快速恢复逻辑错误,对于物理损坏或是介质丢失的错误,闪回技术就回天乏术了,还是…
一.数据delete并且commit提交之后的闪回 (一):根据时间来恢复:1.查询数据库当前时间(目的是为了检查数据库时间是否与你电脑时间相近,避免时间不同而将数据恢复到错误时间点)select  to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') from dual;2.查询删除数据时间点之前的数据select * from 表名 as of timestamp to_timestamp('2018-08-11 16:12:11','yyyy-mm-dd hh2…
参考文档:http://www.datastax.com/documentation/cassandra/1.2/webhelp/index.html#cassandra/dml/dml_about_deletes_c.html 相比于传统的关系型数据库,Cassandra采用了另一种方式去删除数据.关系型数据库会花时间扫描并删除过期数据或者管理员可能需要每月分区过期数据,例如,让数据库更快一些.在Cassandra中,你不需要移除过期的数据. 关于Cassandra删除数据有两个因素需要记住:…
由于一时的粗心,在做update操作时,忘记了加where条件,导致全表数据被修改.此类错误实属不该!!特此记录一下!! 网上搜索Oracle数据回退操作,介绍如下: 闪回级别 闪回场景 闪回技术 对象依赖 影响数据 数据库 表截断.逻辑错误.其他多表意外事件 闪回DATABASE 闪回日志.undo 是 DROP 删除表 闪回DROP 回收站(recyclebin) 是 表 更新.删除.插入记录 闪回TABLE 还原数据,undo 是 查询 当前数据和历史数据对比 闪回QUERY 还原数据,u…
一.插入数据 1. 所有列都插入值 INSERT [INTO] TABLE_NAME VALUES(V1,V2....Vn); 特点:列值同数,列值同序 eg: insert into users values('小明',20120101,'男'); 插入默认值:insert into users values('小明',20120101,default); 2. 为特定列插入值 INSERT [INTO] TABLE_NAME(CLO1,CLO2...CLOn) VALUES(V1,V2...…
删除数据语法: DELETE  FROM 表名  WHERE  删除条件. TRUNCATE  TABLE 表名. --[1]基本删除,省略WHERE条件,将删除表中的所有数据 DELETE FROM orderInfo --使用DELETE进行删除数据,删除后标识列继续增长,不会从标识种子开始 --[2]带条件删除,如果存在主外键的关系,先删除子表中的数据,再删除主表中的数据 DELETE UserInfo WHERE UserId='yoyo'--主表 在这里就会报错. DELETE Use…
Flashback 技术基于Undo segment基于内容的, 因此,限制UNDO_RETENTON参数. 要使用flashback 特征,您必须启用自己主动撤销管理表空间. 在Oracle 11g内部和外部使用的新功能:Oracle Flashback Data Archive. FDA通过将变化数据另外存储到创建的闪回归档区(Flashback Archive)中,以和undo差别开来, 这样就能够为闪回归档区单独设置存储策略,使之能够闪回到指定时间之前的旧数据而不影响undo策略. 在O…
闪回技术有闪回表.闪回删除.闪回查询.闪回事务查询.闪回事务.闪回数据库.闪回数据归档.其中,闪回查询.闪回事务查询用来“观察”过去:闪回数据归档并不是一个独立的功能,其功能是扩展闪回查询的时间窗口:闪回表.闪回删表能够以表为单位“回到”过去:闪回事务能够以事务为单位“回到”过去:闪回数据库能够以数据库为单位“回到”过去. 一. 闪回表(Flashback Table) 闪回表是利用UNDO表空间的撤销数据,所以能把表闪回到多久之前受到undo_retention,UNDO表空间的数据文件是否启…
上一篇中讲诉了Oracle中一些闪回查询(Flashback Query),这是利用回滚段信息来恢复一个或一些表到以前的一个时间点(一个快照).要注意的是,Flashback Query仅仅是查询以前的一个快照点而已,并不改变当前表的状态. 下面就来看看其他的闪回. 1.Flashback Table  Oracle Flashback Table特性允许利用Flashback Table语句,确保闪回到表的前一个时间点.与Oracle 9i中的Flashback Query相似.要注意的是,F…
实际工作中,我们经常会遇到一些情况,误删除某些表或某些表的某些记录,这时候就需要我们将这些记录重新插入进去.如何才能解决这个问题呢? Oracle的Flashback query(闪回查询)为我们解决了这个问题 ,他的原理是Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将数据找回. 下面我们先从简单的例子来看闪回查询的用法: 现有一张表有如下的数据 如果误执行了delete语句,删除其中一条记录,或插入一个废数据,修改了另外一…
--- 说明闪回数据库 --- 使用闪回表将表内容还原到过去的特定时间点 --- 从删除表中进行恢复 --- 使用闪回查询查看截止到任一时间点的数据库内容 --- 使用闪回版本查询查看某一行在一段时间内的各个版本 --- 使用闪回事务查询查看事务处理历史记录或行 会还原表及其关联对象(如索引.约束条件.触发器等)中的数据. 所谓闪回表,就是将表里的数据回退到历史的某个时间点,比如回退到用户误删除数据之前的时间点,从而将误删除的数据恢复回来,在这个操作过程中,数据库仍然可用而且不需要额外的空间.…
Oracle 闪回特性(FLASHBACK DATABASE) 本文来源于:gerainly 的<Oracle 闪回特性(FLASHBACK DATABASE) > -===================================== -- Oracle 闪回特性(FLASHBACK DATABASE) --===================================== 闪回技术通常用于快速简单恢复数据库中出现的认为误操作等逻辑错误,从闪回的方式可以分为基于数据库级别闪回.…
Oracle 闪回 (flashback)是9i版本提供的新特性.这一特性:其他数据库(PostgreSQL,Mysql)是羡慕不已.对数据恢复提供非常便捷的方式.闪回技术通常用于快速简单恢复数据库中出现的认为误操作等逻辑错误. 从闪回的方式可以分为: FLASHBACK DATABASE 数据库级别闪回 FLASHBACK TABLE 表级别闪回 FLASHBACK QUERY 事务级别闪回 一. 启动 Oracle 闪回 Oracle 闪回特性在 Oracle 数据库安装界面有配置打开 Or…
Oracle的闪回技术提供了一组功能,可以访问过去某一时间的数据并从人为错误中恢复.闪回技术是Oracle 数据库独有的,支持任何级别的恢复,包括行.事务.表和数据库范围.使用闪回特性,您可以查询以前的数据版本,还可以执行更改分析和自助式修复,以便在保持数据库联机的同时从逻辑损坏中恢复. 闪回技术包括以下特性:    (1) 闪回查询允许用户查询过去某个时间点的数据,以重新构建由于意外删除或更改而丢失的数据.    (2) 闪回版本查询提供了一种查看行级数据库随时间变化的方法.    (3) 闪…
1.查看数据库归档和闪回状态,及环境准备SQL> archive log list;SQL> select flashback_on from v$database;关闭数据库,启动归档和闪回SQL> shutdown immediate;启动到mount模式SQL> startup mount;开启归档SQL> alter database archivelog;如果归档没有打开,打开归档[因为flashback依赖Media recovery,所以在打开flashback…
1.知识点:能够对比以下的录屏进行阅读 SQL> --1. 错误地删除了记录 SQL> --2. 错误地删除了表 SQL> --3. 查询历史记录 SQL> --4. 怎样撤销一个已经提交的事务 SQL> SQL> --闪回的类型 SQL> --1. 闪回表:将表回退到过去的一个时间上 SQL> --2. 闪回删除:Oracle回收站 SQL> --3. 闪回版本号查询:全部历史记录 SQL> --4. 闪回事务查询:通过select语句得到一个…