- 浏览: 1198922 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (361)
- java综合 (33)
- 项目管理 (10)
- 工作流 (6)
- spring (11)
- hibenate (17)
- struts (0)
- javascript,html,css,ajax,jquery (11)
- IDE (9)
- 生活 (0)
- 工作 (0)
- 杂记 (1)
- 数据库 (96)
- 服务器 (5)
- 可视编辑 (0)
- freemarker (6)
- 操作系统 windows (13)
- web页面 (6)
- jms (15)
- 调优 (4)
- 测试和bug管理 (2)
- 原理 (1)
- 項目-atf (17)
- 安全 (3)
- xml (4)
- 操作系统 liunx (21)
- 网络 (22)
- office (11)
- 设计 (2)
- 软件 (1)
- 数据库 mysql (6)
- 胖客户端-flex (1)
- 正则 (9)
- oracle- liunx (3)
- sql2000 (2)
- 模式 (1)
- 虚拟机 (2)
- jstl (2)
- 版本控制 打包工具 (0)
- AOP (1)
- demo (1)
- 小软件 (2)
- 感恩 (1)
- iphone 4 (1)
- 反欺诈业务经验整理 (0)
最新评论
-
sea0108:
mark
java内存模型 -
XingShiYiShi:
方便把:testPNR();具体实现发出来吗?谢谢
用正则表达式解析 航信的电子客票和pnr报文 -
wh359126613:
如果js和webservice不在同一个服务器上,有跨域问题如 ...
使用javascript调用webservice示例 -
雨飛雁舞:
...
oracle 动态性能(V$)视图 -
ouyang1224:
好东西
oracle 动态性能(V$)视图
要达到删除数据,有以下几种方式都可以:
1、delete
2、drop一个表
3、truncate一个表
重要的不是怎么删除一个表,而是误删除数据后怎么立即恢复(不考虑全库备份和利用归档日志)。
对于delete方法,可以利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的块没被覆写),就可以利用闪回方式直接找回删除的数据:
A、确定删除数据的时间(在删除数据之前的时间就行,不过最好是删除数据的时间点)
B、用以下语句找出删除的数据:select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss')
C、把删除的数据重新插入原表:
insert into 表名 (select * from 表名 as of timestamp to_timestamp('删除时间点','yyyy-mm-dd hh24:mi:ss'));注意要保证主键不重复。
以上方式也可以给where条件来。
对于delete方式的误删除。还可以直接使用闪回整个表的方式来恢复数据。(此种方式除要保证上面的闪回前提条件外,还要在删除数据后表结构没有发生改变)
表闪回要求用户必须要有flash any table权限,首先,必须对表进行下以下操作:
alter table 表名 enable row movement;
执行以下语句:flashback table 表名 to timestamp to_timestamp(删除时间点','yyyy-mm-dd hh24:mi:ss');
对于误DROP表的情况,也可以直接用闪回方法恢复数据(要保证被删除数据的块没被覆写)。
由于oracle在删除表时,没有直接清空表所占的块,oracle把这些已删除的表的信息放到了一个虚拟容器“回收站”中,而只是对该表的数据块做了可以被覆写的标志,所以在块未被重新使用前还可以恢复。
可能查询这个“回收站”或者查询user_table视图来查找已被删除的表:
select table_name,dropped from user_tables
select object_name,original_name,type,droptime from user_recyclebin
在以上信息中,表名都是被重命名过的,字段table_name或者object_name就是删除后在回收站中的存放表名
如果还能记住表名,则可以用下面语句直接恢复:
flashback table 原表名 to before drop
如果记不住了,也可以直接使用回收站的表名进行恢复,然后再重命名,参照以下语句:
flashback table "回收站中的表名(如:Bin$DSbdfd4rdfdfdfegdfsf==$0)" to before drop rename to 新表名
oracle提供以上机制保证了安全操作,但同时也代来了另外一个问题,就是空间占用,由于以上机制的运行,使用drop一个表或者delete数据后,空间不会自动回收,对于一些确定不使用的表,删除时要同时回收空间,可以有以下2种方式:
1、采用truncate方式进行截断。(但不能进行数据回恢复了)
2、在drop时加上purge选项:drop table 表名 purge
该选项还有以下用途:
也可以通过删除recyclebin区域来永久性删除表 ,原始删除表drop table emp cascade constraints
purge table emp;
删除当前用户的回收站:
purge recyclebin;
删除全体用户在回收站的数据:
purge dba_recyclebin
oracle的闪回功能除了以上基本功能外,还可以闪回整个数据库:
使用数据库闪回功能,可以使数据库回到过去某一状态, 语法如下:
SQL>alter database flashback on
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp('2007-2-12 12:00:00','yyyy-mm-dd hh24:mi:ss');
发表评论
-
并发行级锁超2秒报警监控sql
2010-07-20 16:18 1941并发行级锁超2秒报警监控sql -
数据设计规范v
2010-06-22 19:47 0数据设计规范v -
Oracle 有趣排序包括那些
2010-06-20 16:51 1455按拼音排序 select * from table ... -
Oracle sql 性能优化调整
2010-06-20 16:15 1398Oracle sql ... -
Delete、Drop、Truncate的比较(转)
2010-05-31 13:39 1478Delete、Drop、Truncate的比较 关键字: d ... -
Oracle误操作解决方案(转)
2010-05-31 13:35 1395Oracle误操作解决方案 文章分类:数据库 一.误删除数 ... -
一个递归调用的存储过程
2010-04-19 01:51 1851一个递归调用的存储过程 -
oracle index学习总结
2009-12-08 10:44 19634oracle index 1.index需要储存空间 ... -
Jdbc 和hibernate
2009-11-16 23:38 1877Jdbc 和hibernate 一、Jdbc是java ... -
去掉 powerDesigner 中表设计时的 name和code联动的功能
2009-11-16 17:04 3493去掉 powerDesigner 中表设计时的 name和co ... -
oracle数据库索引未被使用的问题及其解决2007
2009-11-15 01:42 2133一次,在进行WEB页面上进行历史数据文件检查时,发现数据库访问 ... -
RMAN配置及备份与恢复练习
2009-09-27 18:06 16271.创建表空间SQL>create tablespace ... -
IMP数据到指定的表空间
2009-09-27 12:47 9106IMP数据到指定的表空间 一直以来,我都认为只要指定用户的默 ... -
ORACLE UPDATE 语句语法与性能分析
2009-09-27 09:49 1883为了方便起见,建立了以下简单模型,和构造了部分测试数据: 在 ... -
oracle job 例子
2009-09-22 12:38 3068一、设置初始化参 ... -
oracle 时间加减综合
2009-09-17 11:43 1983加法 select sysdate,add_mon ... -
详细介绍ORACLE sqlplus命令
2009-09-09 16:42 2064一、ORACLE的启动和关闭1、在单机环境下要想启动或关闭OR ... -
AWR介绍与SYSAUX空间关系 SYASAUX表空间满了 系统慢
2009-09-08 09:45 7962AWR介绍与SYSAUX空间关系 2007-11-05 14 ... -
to_char 'NLS_DATE_LANGUAG参数
2009-09-02 18:41 1484select to_char(sysdate, 'Day'), ... -
Oracle oracle 多语言排序
2009-08-17 14:43 1976Oracle9i之前,中文是按照二进制编码进行排序的。在ora ...
相关推荐
这一步骤会利用归档日志中的信息来恢复数据文件,使其回到最后一次备份时的状态。 4. **打开数据库**: - 在数据文件成功恢复后,使用`alter database open`命令打开数据库。此时,数据库应该能够正常工作,并且...
在CentOS 7.6环境下,管理和维护Oracle数据库是关键任务之一,这涉及到对数据库的备份和恢复策略。...通过定期备份和监控归档日志,可以确保在面临数据丢失风险时能够迅速恢复,从而最小化业务中断。
4. **备份归档日志文件**:观察当前的日志文件,切换多个日志文件并备份,以确保所有事务都得到保存。 接下来,进入测试阶段,模拟误删除数据库并进行恢复: 1. **删除数据库**:在测试环境中,使用Oracle的drop ...
- **手工备份与恢复**:即用户管理的备份(UMAN),通过操作系统命令完成数据文件的备份与恢复,之后使用归档日志进行恢复。 - **自动备份与恢复**:利用 RMAN(Recovery Manager)实现自动化备份和恢复流程,支持...
RMAN备份的优势在于其自动化程度高,可以灵活地配置备份策略,并且能够充分利用Oracle的闪回技术和归档日志实现高效的恢复。 1. 完整数据库备份:RMAN可以创建整个数据库的备份,包括数据文件、控制文件、重做日志...
本文将详细讲解 Oracle 误删除表数据后的恢复策略,主要涉及 Undo Retention 参数的查询与修改,以及两种快速恢复数据的方法。 1. **Undo Retention 参数** - **查询 Undo Retention**:在 Oracle 中,`undo_...
当数据被误删除后,我们可以借助这些工具来尝试恢复。 1. **闪回查询(Flashback Query)**:如果数据库开启了闪回功能,可以通过闪回查询回溯到删除操作之前的状态,查看并恢复数据。`FLASHBACK TABLE table_name ...
【DM8 数据库误操作恢复】是数据库管理中的一项重要任务,目的是在出现错误或意外删除后恢复数据到正确状态。以下是对DM8数据库误操作恢复的详细步骤: 1. **开启归档模式**:归档模式对于实现精确的数据恢复至关...
这需要一个一致性的备份和一系列归档日志,以及可能的辅助实例。 - **逻辑恢复**:如果在`TRUNCATE`之前有表的逻辑备份(如导出导入、脚本等),可以通过重新导入数据来恢复。 - **第三方工具**:有些商业或开源的...
- **定义**:利用对象备份或归档日志来恢复部分数据库对象。 ##### 5.5 灾难恢复 - **定义**:利用复制、存储镜像等高级技术手段来恢复数据库。 #### 六、备份与恢复命令 DB2提供了多种命令来支持备份和恢复操作...
恢复到想要恢复的时间点,因此必须开启归档模式,让数据库的在线重做日志保存到归档日志目录里,这样才能利用基点备份 + 归档日志重演数据库到指定时间。 查看归档是否开启: 使用 sys 或 system 用户用 sqlplus ...
Oracle提供了一套全面的备份和恢复策略,包括物理备份、逻辑备份、RMAN( Recovery Manager)备份以及闪回技术等,旨在确保在系统故障、硬件损坏或数据错误时能够快速有效地恢复数据。 一、Oracle物理备份 物理备份...
这种恢复方式通常用于处理误删除或者部分数据损坏的情况,可以通过导出/导入工具或者SQL语句实现。 在实际操作中,备份和恢复的策略应该根据业务需求和风险承受能力来制定。例如,对于高可用性要求的系统,可能需要...
- 在发生介质故障(如硬盘损坏)时,使用物理备份恢复数据文件和控制文件。 - 当出现逻辑错误时,可以通过逻辑备份进行恢复,或者使用`FLASHBACK DATABASE`命令。 - 遇到系统崩溃,可以使用RMAN的`RESTORE ...
它不仅能够实现数据库文件、归档日志和控制文件的备份与恢复,还能执行完全或不完全的数据库恢复操作。相比于传统的备份工具,RMAN具有以下显著优势: 1. **创建控制文件二进制备份**:支持创建控制文件的二进制...
具体而言,需要将主机A上的全库备份文件及参数文件传输到主机B上,并在此基础上恢复被误删除的`test`表,使其回到某个特定的时间点或系统更改编号(SCN)的状态。 #### 实验准备 - 在主机A上创建测试表`test`并插入...
- 媒体恢复:在物理文件丢失或损坏时,利用归档重做日志和联机重做日志进行恢复,包括修复丢失的文件并使其与其他文件同步。 4. 物理备份的类型: - 冷备份:在数据库关闭状态下进行,通常包括数据文件、控制文件...
此外,RMAN还提供了检查点、重做日志文件和归档日志文件的概念,这些在恢复过程中起着关键作用。 数据泵是Oracle的高性能数据传输机制,用于数据迁移、备份和恢复。它包括EXPDP(导出)和IMPDP(导入)两个组件,能快速...
6. **数据库的归档日志模式**:在归档日志模式下,数据库可以进行更全面的恢复,包括在数据文件丢失后恢复到特定时间点。确保归档日志可用是关键。 7. **联系专业支持**:如果没有足够的知识和经验来处理这种情况,...