ORACLE数据库误删恢复】的更多相关文章

一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: 1.从flash back里查询被删除的表 select * from recyclebin 2.执行表的恢复 flashback table tbName to before drop; 这里的tbName代表你要恢复的表的名称. 二.表数据恢复 对误删的表记录,只要没有truncate语句,就可以根据事务的提交时间进行选择恢复,一般步骤有: 1.先从flashback…
一.如果只是误删部分数据或者某条数据可以通过 1.select * from 误删除的表明 as of timestamp to_Date('恢复年月日  时分秒', '恢复时间格式')       where  查询条件; 如:select * from emp as of timestamp to_Date('2014-11-27 16:20:00', 'yyyy-mm-dd hh24:mi:ss')  where ename='scott'           //查询到误删除的数据 2.…
oracle数据库误删的表以及表中记录的恢复 一.表的恢复 对误删的表,只要没有使用PURGE永久删除选项,那么从flash back区恢复回来希望是挺大的.一般步骤有: --1.从flash back里查询被删除的表 select * from recyclebin --2.执行表的恢复 flashback table tbName to before drop; --这里的tbName代表你要恢复的表的名称. 二.表数据恢复 对误删的表记录,只要没有truncate语句,就可以根据事务的提交…
Oracle数据库误删文件导致rman备份报错RMAN-06169解决办法 可能是误删文件导致在使用rman备份时候出现以下提示 RMAN-06169: could not read file header for datafile 15 error reason 1 解决办法 查看数据15文件是什么 SQL> select file#,name from v$datafile; 出现一个/MISSING00015的文件 看来是MISSING00006文件,不是系统,也不是用户的数据. 看MIS…
怎样才能对Oracle数据库进行备份?如何才能对删除的数据再进行恢复?这是困扰着很多人的问题.大家都知道,任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行,而是要建立一整套的数据库备份与恢复机制.当数据库发生故障后,希望能重新建立一个完整的数据库,该处理称为数据库恢复.恢复子系统是数据库管理系统的一个重要组成部分.恢复处理随所发生的故障类型所影响的结构而变化.Oracle数据库使用几种结构来保护数据:数据库后备.日志.回滚段和控制文件…
比較全然恢复和不全然恢复: 一.全然恢复:将数据库恢复到当前最新状态,包含直至请求恢复时进行的全部已提交的数据更改 二.不全然恢复:将数据库恢复到请求恢复操作之前指定的过去时间点 一.全然恢复过程 以下的步骤说明了运行全然恢复期间要採取的操作: 1. 通过备份还原损坏或丢失的文件. 2. 依据须要应用增量备份.归档重做日志文件和联机重做日志文件里的更改.将重做日志更改应用于数据文件,直到到达当前联机日志,而且又一次输入了最新的事务处理.在整个过程中会生成还原块.这称为前滚或快速缓存恢复. 3.…
某一张表被应用软件里误操作把数据都清空了,现在想恢复到清空之间,比如2013年8月13日14点以前,应该怎样操作? 通过这个问题可以引发一系列的知识点串联. 1.如果开启闪回可以使用闪回表. 怎样查看我的数据库有没有开启flashback flashback database要求数据库必须处于归档模式,且闪回之后必须使用resetlogs打开数据库 查看数据库的归档模式及闪回是否启用 SQL> select log_mode,open_mode,flashback_on from v$datab…
数据库备份恢复.巡检须要关注的对象设置: 1.数据库名称,以及DBID:  --dbid在v$database中     SYS@ORCL>select dbid,name from v$database; DBID NAME     ---------- ---------     1385095721 ORCL 2.控制文件的位置:     show parameter control_files;     select name from v$controlfile; 3.日志文件的位置以…
1.某表的数据误删了,那么可以查询这个表某一时间节点之前的数据,并放到一个新建的表里. create table temptable as select * from t_billdefi  as OF TIMESTAMP TO_TIMESTAMP('2018-12-20 14:00:00',  'yyyy-mm-dd hh24:mi:ss'); 2.某表被删除了(备份还原工作一般会删除表的,恢复后,新表覆盖了老表(老表被删除了)) 下面命令可以查询 被删除的表名 select * from r…
场       景:客户的服务器是在虚拟机上,结果虚拟机的服务器的硬盘坏掉了.硬盘换掉后,系统成功恢复出来,但是登录虚拟机后,数据库无法启动. 解决方案:通过冷恢复将数据库还原.在自己的电脑上搭建一个和虚拟机系统一致的环境,包括操作系统.数据库版本.数据库安装目录都和虚拟机一致: 再将虚拟机的数据文件路径中的文件全部覆盖到新系统的相同目录中:最后通过sqlplus命令启动数据库. 操作步骤: 数据库A无法启动,将数据库A的数据冷恢复到数据库B. 操作步骤如下: 1>创建数据库B,操作系统.数据库…
因为更新的时候忘记添加条件,导致数据混乱. 用此方法,把数据恢复. --首先查询在某个时间点的数据 t_asn_dtl 为表名; SELECT * FROM t_asn_dtl AS OF TIMESTAMP TO_TIMESTAMP('20180625 22:30:00','YYYYMMDD HH24:MI:SS'); --把这个时间点的数据,赋值到一个新的表内,tab_bal;最好新建两张表,算是一个备份 create table tab_bak as SELECT * FROM T_ASN…
首先要确保数据库实例的完整性,包括控制文件,日志文件,表空间(系统表空间.用户表空间等). 新建同名数据库实例(表空间.用户等不需要). Sql>shutdown immediate关闭数据库 然后COPY原有文件到新实例文件夹中,也可以将新实例文件夹改名,然后将原有实例文件夹放入同目录下 Sql>startup mount加载原有实例,可能出现控制文件不要可写等相关错误,这时可设置文件权限为可读可写可执行(3个均需设置),加载成功后 Sql>select * from v$tables…
早些时候,有个客户14块盘的磁盘阵列出现故障,需要恢复的数据是oracle数据库,客户在寻求数据恢复技术支持,要求我提供详细的数据恢复方案,以下是提供给客户的详细数据恢复解决方案,本方案包含Raid数据恢复和oracle数据库的恢复验证. 一.对磁盘阵列的恢复方案 磁盘阵列常见故障表现为:A.阵列信息丢失,导致磁盘阵列在操作系统环境中查看不到:B.阵列中多个硬盘掉线,导致阵列瘫痪:C.人为的重新配置raid信息或Rebuild或者初始化等: D.阵列中某块盘掉线一段时间后,又重新上线参与盘阵工作…
[绝密外泄]风哥Oracle数据库DBA高级工程师培训视频教程与内部资料v0.1 由于是[绝密外泄]资料,防止被查,需要的小伙伴赶紧下载附件中的课件文档.由于视频太大了,已放在百度网盘了,已经在附中说明,以免被和谐. ----------------------------------------------第一部分:Oracle视频压缩包目录列表----------------------------------------------01.[绝密外泄]风哥整套Oracle数据库DBA高级工程…
为了最大限度保障数据的安全性,同时能在不可预计灾难的情况下保证数据的快速恢复,需要根据数据的类型和重要程度制定相应的备份和恢复方案.在这个过程中,DBA的职责就是要保证数据库(其它数据由其它岗位负责)的高可用和高性能,比如:如何避免数据库发生常规错误.如何增加MTBF.如何降低MTTR.使用使用哪些冗余技术保护关键组件以及如何做到最小化数据丢失. 在社区最近的在线交流中集中讨论了Oracle数据库备份恢复相关的问题,同时也拓展到了其它方面,比如性能问题.案例分析.RAC相关的备份问题及生产环境中…
可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻到重.易恢复到难恢复排列: 语句失败:用户的SELECT或DML语句因权限.语法或资源限制而失败. 用户错误:用户误删了一个表或表中的行. 用户进程失败:与数据库的连接因为客户端断开或未预料的停机而失败. 网络失败:客户机和服务器(数据库)之间的网络连接因为网络硬件或协议错误而失败. 实例失败:数据…
通常我们都是使用PL/SQL Developer来对Oracle中的数据对象和数据进行管理.如果我们想方便快速还原或者部署Oracle到新机器上,怎么进行数据库的备份.导入恢复呢? 这里我们必须要考虑的:如何创建Oracle表空间.创建Oracle数据库;如何把Oracle对象.表数据导出到sql脚本中. 1.数据库备份 (1)导出数据库对象 Tools-->ExportUser Objects,选择需要导出的数据库对象,包括:表.序列.存储过程.视图.函数等. (2)导出表数据 Tools--…
目的:从某个环境中,获取相关文件,放到异地机器使用rman 恢复.   情况说明:XX系统使用的是oracle数据库,现已从服务器拉下来相关文件,依靠这些文件来早本地的测试机上恢复数据库,方便进行数据清洗.分析等工作. xx环境使用的数据库版本为11.2.0.4,由于没有注意版本之前装了一个11.2.0.1的oracle,后发现和生产环境的版本不匹配,从新下载了一个同版本的.   从XX环境获取pfile   sql > create pfile='/xxxxx' from spfile;  …
(转自:http://blog.csdn.net/huchunfu/article/details/25165901) 在客户端远程备份的文件保存在数据库所在主机上,不会直接拷贝到客户端.——————————————————————————————————————————首先无论你的Oracle服务器是Linux还是windows操作系统,Oracle的备份和恢复操作都是使用DBMS_DUMP来实现导入(备份)和导出(恢复).首先你要安装好PL/SQL,用PL/SQL来执行我下面提供的JOB就可…
任何数据库在长期使用过程中,都会存在一定的安全隐患.对于数据库管理员来说不能仅寄希望于计算机操作系统的安全运行,而是要建立一整套的数据库备份与恢复机制.当数据库发生故障后,希望能重新建立一个完整的数据库,该处理称为数据库恢复.恢复子系统是数据库管理系统的一个重要组成部分.恢复处理随所发生的故障类型所影响的结构而变化.怎样才能对Oracle数据库进行备份?如何才能对删除的数据再进行恢复?这是本篇文章主要讲的内容. Oracle数据库使用几种结构来保护数据:数据库后备.日志.回滚段和控制文件.一个O…
当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(硬件故障.软件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失.因此当发生上述故障后,希望能重新建立一个完整的数据库,该处理称为数据库恢复.恢复子系统是数据库管理系统的一个重要组成部分.恢复处理随所发生的故障类型所影响的结构而变化. 一.恢复数据库所使用的结构 Oracle数据库使用几种结构对可能故障来保护数据:数据库后备.日志.回滚…
最近做某数据库恢复演练,数据库版本是10.2.0.4,恢复控制文件一直报错,报错如下,经过反复折腾,原来恢复机上oracle用户不是oracle导致(我的是oraclev4),查看源库oracle用户gid为dba,最终在恢复机上新建oracle用户(gid=oinstall groups=dba)或oraclev4不变(gid=dba groups=oinstall)均可顺利恢复.以下是nbu官网说明: https://www.veritas.com/support/zh_CN/article…
假定导出oracle数据库home目录为/opt/oracle,数据库用户为exp_user/test,导入用户为imp_user/test,给出如下样例,具体使用时根据实际情况修改路径及用户名/密码. 一.准备工作: 1.新建存放备份/恢复文件的目录 mkdir -p /opt/oracle/dump rm -rf /opt/oracle/dump/* 2. 赋权限 sqlplus "/as sysdba" <<EOF create or replace director…
ORACLE数据库不同故障下的恢复总结1. 非归档模式下丢失或损坏的文件--1.1 数据文件--启动数据库的状态到MOUNT--恢复方法:通过之前创建的数据库完整备份,修复整个数据库,不过备份之后发生的所有修改将丢失:修复数据库之后不需要进行RECOVER操作.(由于没有归档,也无从RECOVER),直接通过RESETLOGS方式打开数据库即可. --1.2 数据文件及联机重做日志文件--启动数据库的状态到MOUNT--恢复方法(同上):通过之前创建的数据库完整备份,修复整个数据库,不过备份之后…
一.oracle数据库恢复 1.恢复刚才删除的一条数据 delete from emp e where e.empname='SMITH' select * from flashback_transaction_query f where f.table_name='EMP' UNDO_SQL下面的语句为刚才删除数据的相反操作,执行该语句即可恢复刚才删除的数据 在11g版本中UNDO_SQL为空值 alter database add supplemental log data 2.恢复刚更新的…
学习数据库时,我们只是以学习的态度,考虑如何使用数据库命令语句,并未想过工作中,如果误操作一下,都可能导致无可挽回的损失.当我在工作中真正遇到这些问题时,我开始寻找答案.今天主要以oracle数据库为例,介绍关于表中数据删除的解决办法.(不考虑全库备份和利用归档日志) 删除表中数据有三种方法:·delete(删除一条记录)·drop或truncate删除表格中数据 1.delete误删除的解决方法    原理:利用oracle提供的闪回方法,如果在删除数据后还没做大量的操作(只要保证被删除数据的…
我的操作系统是red hat5.5 32位系统oracle11g 以我的系统为例: 冷备状态下,数据库必须是关闭的,但是我们现在要做一个实验,在开库的状态下分别查询出: 1.show parameter spfile 记录spfile的位置:/u01/oracle/dbs/spfileprod.ora 2.show parameter control 记录控制文件的位置: /u01/oradata/prod/control01.ctl, /u01/flash_recovery_area/prod…
本文转自 惜纷飞 大师. 模拟基表事务未提交数据库crash,undo丢失恢复异常恢复,运维DBA反映Oracle数据库无法启动报错ORA-01157 ORA-01110,分析原因为Oracle数据库坏块导致 对于基表特别是bootstrap$中的表,如果进行了dml操作,但是没有提交,这个时候数据库crash,而且undo异常.对于类似的场景,都是很多数据库恢复的人都有畏惧,因为_corrupted_rollback_segments参数不能起作用.本实验dml修改seq$表,最终却引起了un…
alter session set nls_date_format='yyyymmdd hh24:mi:ss'; select sysdate from dual; conn dbauser/123456; 随便一个用户,然后删除其中的一张表用来做测试 drop table test; rman target/ startup mount; restore database; 还原数据文件 sql 'alter session set nls_date_format="yyyymmdd hh24…
自己想做两组rac之间的data guard,由于datafile,controlfile,甚至是archivelog都是存放在asm上的,直接复制数据有点不现实,asm磁盘总归都是要用的,所以想从a库做rman全备份,然后把备份文件拷贝到b库上做rman恢复,初衷就是这么简单,结果却遇到了n多的折腾,无法实现,下面是我自己经过无数次测试得到的方法. oracle版本:11.2.0.0 第一组RAC A PS:前面的hostname,冒号后面是instancenamerac1:orcl1rac2…