当我们使用一个数据库时,总希望数据库的内容是可靠的.正确的,但由于计算机系统的故障(硬件故障.软件故障.网络故障.进程故障和系统故障)影响数据库系统的操作,影响数据库中数据的正确性,甚至破坏数据库,使数据库中全部或部分数据丢失.因此当发生上述故障后,希望能重新建立一个完整的数据库,该处理称为数据库恢复.恢复子系统是数据库管理系统的一个重要组成部分.恢复处理随所发生的故障类型所影响的结构而变化. 一.恢复数据库所使用的结构 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…
Oracle9i开始提供闪回查询,以便能在需要的时候查到过去某个时刻的一致性数据,这是通过Undo实现的.这个功能有很大的限制,就是相关事务的undo不能被覆盖,否则就无力回天了.oracle10g大大的增强了闪回查询的功能,并且提供了将整个数据库回退到过去某个时刻的能力,这是通过引入一种新的flashback log实现的. flashback log有点类似redo log,只不过redo log将数据库往前滚,flashback log则将Oracle数据库往后滚.为了保存管理和备份恢复相…
oracle更新脚本把原数据冲了,并且没有备份,急煞我也         解决办法:         oracle数据库有闪回功能:   select * from tab 可以查出已被删除的表    show recyclebin 显示垃圾桶   FLASHBACK TABLE TABLENAME TO BEFORE DROP 恢复删除的表   PURGE TABLE TABLENAME; 从垃圾桶清除指定的表,此命令将从回收站中删除表及所有相关对象,如索引.约束等.   PURGE TABL…
模拟数据块坏块: 对于发生数据块不一致的数据块,如果当前数据库有备份且处于归档模式,那么就可以利用rman工具数据块恢复功能 对数据块进行恢复,这种方法最简单有效,而且可以在数据文件在线时进行,不会发生数据丢失.对于被有备份的数据库 发生数据块损坏,可能会发生数据的丢失或数据不丢失,这要根据发生坏块的所在的对象决定的,如索引块发生损坏,数据 就不会丢失,重建索引就可以了,发生数据丢失的多发生在表或分区表数据块上. 1.不丢数据的恢复方法 ---使用rman工具的 blockrecover blo…
一.备份命令: 1.cmd  : exp 2.cmd  :用户名/密码@ip地址/数据库名  如:     yyj/yyj@172.12.5.5/orcl    要导出的数据库 3.回车:输入要输出的路径   如 C:\jjjj.dmp 二.恢复复制 1.cmd  : imp 2.cmd  :用户名/密码@ip地址/数据库名  如:     ddj/ddj@172.12.5.5/orcl   要导入的数据库 3.回车:输入文件的路径   如 C:\jjjj.dmp 三.linux下:oracle…
1.创建用户,授权,创建测试数据 创建用户 CREATE USER test identified by 123; 授权 grant dba to test; 创建测试数据 create table a(id int); insert into a select 1 from dual connect by level<=50; 2.创建备份目录 create directory UserName_dir as '/home/oracle/oradb'; grant read,write on…
  回到顶部 一:Oracle 数据库实例简介 1:数据库实例的启动顺序: 使用数据库其实就是访问内存.即:数据库实例.数据库的启动是顺序是 先 nomount ---->  mount ----->  open. 2:数据库文件为:数据文件.控制文件.日志文件 数据库就是磁盘上的一些物理文件.可以利用 v$datafile 视图进行查看.如"/u01/app/oracle/oradata/orcl/system01.dbf"该路径下的"system01.dbf&…
一.环境和需求1.环境 MySQL数据库服务器: OS version:Linux 5.3 for 64 bit mysql Server version: 5.0.45 Oracle数据库服务器: OS version:linux 5.3 for 64 bit oracle version:oracle 11g r2 2.需求 把mysql数据库的数据转移到oracle数据库.目前mysql数据库的备份文件为.sql文件,每个表一个.sql文件,把这些文件的数据导入到oracle数据库. 二.…
1. 执行一个SQL脚本文件 代码如下 复制代码 sqlplus user/pass@servicename<file_name.sql或SQL>start file_names或SQL>@ file_name 我们可以将多条sql语句保存在一个文本文件中,这样当要执行这个文件中的所有的sql语句时,用上面的任一命令即可,这类似于dos中的批处理.@与@@的区别是什么?@等于start命令,用来运行一个sql脚本文件.@命令调用当前目录下的,或指定全路径,或可以通过SQLPATH环境变量…