1、  备份策略:
智能网采用Export方式进行数据库备份
Export(逻辑备份)
只是简单的备份方法,可按数据库中某个表、某个用户或整个数据库来导出,并且支持全部、累计、增量三种方式,使用这种方法数据库必须处于打开状态,而且如果数据库不是在restrict状态将不能保证导出数据的一致性。
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
备份策略如下(可配置):
(1)       每天均做全库备份,备份完删除当天的archive日志。
(2)       可以通过配置文件配置是否需要备份lhdscharge/lhdschargebak用户。
具体的备份脚本(expdb.sh)执行时间由操作系统的crontab功能调度,必要时也可以手工来执行该脚本。
说明:
1、                     当配置文件(放在/home/lhds10/etc/orabkup.ini)不存在时,以全库方式备份。
2、                     当配置文件(放在/home/lhds10/etc/orabup.ini)存在时,并且LHDSCHARGE=0时,则备份除LHDSCHARGE和LHDSCHARGEBAK用户外的所有数据。
一个完整的样例文件如下:
$/home/lhds10/etc/orabkup.ini
#ORACLE  BACKUP  CONFGURATION FILE [OWNER]
         LHDSCHARGE=1 # 1 FULL BACKUP
                       # 0 backup all owers except lhdscharge and lhdschargebak.
一般情况下,请不要设置这等参数,保持LHDSCHARGE为1,另外,如果不存在该配置文件,也执行整库备份。
2、  备份和恢复:
2.1数据库备份
可以通过任务执行该脚本,也可以手工执行expdb.sh,脚本执行日志为/lhdsdata/lhdsbak/lhdsdb1.log,数据库exp命令执行返回则在/lhdsdata/lhdsbak/lhdsdb[1-2].log日志中(以1结尾的文件为较新的一个)。导出的文件则以/lhdsdata/lhdsbak/lhdsdb[1-2].dmp命令(以1结尾的文件为较新的一个备份)。
2.2数据库恢复:
     由于使用逻辑备份方式,所以备份的是某个时间点的数据,这样在进行数据恢复时,也只能恢复到备时的时间点,下面针对以下场景分别讲述数据库恢复。
2.2.1场景1:在线时丢失表、表中数据、用户及用户对象。
       在Online情况下,丢失表、表中数据、用户及用户对象时,可以通过备份数据进行恢复。
操作实例:
 
a)  如果表或表中的数据全部丢失:
以lhds10或者Oracle执行:
$imp logname/password fromuser = username   touser = username  tables=\(tablename1,tablename2…\) file = expfilename  ignore = y.
注:fromuser和touser后均填上这个被破坏的表属于的用户名。
logname/password 填上的数据库登录用户、密码,例如:system/manager
被破坏的表名在tables的括弧中全部列出,以逗号分隔。
Expfilename填上exp方式备份出的文件名,如/lhdsdata/lhdsbak/lhdsdb1.dmp
b)  如果表中的部分数据丢失
先清空表中剩余的数据(使用truncate语句),然后按操作实例:a)恢复。
c)  如果用户丢失或该用户的所有对象和数据丢失
如果用户丢失,先重新创建该用户,例如lhdssys用户丢失,先创建lhdssys用户,并设置该用户原先设定的密码、缺省表空间、临时表空间和dba的权限。再以lhds10或Oracle执行:
$imp  logname/password   fromuser = username    touser = username  file = expfilename  ignore = y
注:fromuser和touser后均填上该用户名
logname/password 填上的数据库登录用户、密码,例如:system/manager
Expfilename填上exp方式备份出的文件名,如/lhdsdata/lhdsbak/lhdsdb1.dmp
d)  如果用户存在,该用户的部分对象和数据丢失
如果可以列出丢失数据的表,可以先将这些表drop掉,然后再按照操作实例:a)恢复。如果不能确切知道丢失了那些表的那些数据,可以先将该用户删除(包括对象),然后按操作实例:c)进行恢复。
e)  如果非系统用户(如LH打头的用户)所对应的表空间、数据文件被损坏
先通过dba studio 等工具记录下所有使用该表空间上的用户,然后先使用如下语句将被损坏的表空间(或涉及到数据文件损坏的表空间)offline 现假设lhds_data表空间(或其数据文件)被损坏,以lhds10或Oracle执行:
$sqlplus /nolog
SQL>connect internal
SQL>alter tablespace lhds_data offline immediate;
SQL>drop tablespace lhds_data including contents;
SQL>create tablespace lhds_data datafile ……
(创建表空间参数,以及数据文件的路径和大小,可以参照以前的设置)
            创建表空间成功后,通过操作实例:c)一一恢复属于该表空间的各用户对象。
f)   如果系统用户所对应的表空间、数据文件被损坏
以Oracle用户执行以下命令强制关闭数据库:
SQL>connect internal
SQL>shutdown abort
删除/lhdsdata/oracle目录下所有文件和目录
$rm –rf/lhdsdata/oracle/*
以Oracle用户执行crdb.sh(在/home/oracle目录下),再执行以命令进行数据全部恢复
$imp logname/password  full = y  file = expfilename  log = imp.log
注:logname/password 填上数据库登录用户、密码,例如:system/manager
Expfilename填上exp方式备份出的文件名,如/lhdsdata/lhdsbak/lhdsdb1.dmp
 
注:文章中的“lhds”是一个自命名,无其它意思。
待续!

转载于:https://blog.51cto.com/lizibaobao/306387

Oracle Export方式数据库备份和恢复(一)相关推荐

  1. oracle 12c容器数据库备份和恢复,oracle 12c数据库备份与恢复

    oracle用得不是很多,但总体用起来也没啥问题,因为大多数时候就是增删查改的操作,这些跟其他数据库也没多大区别.不过当遇到备份和恢复的时候,才发现区别是比较大的,因此留下这篇文章做一个记录,方便以后 ...

  2. Oracle数据库备份和恢复配置详解

    本文Oracle讲述了数据库备份和恢复配置的详解过程,可能的失败及其解决方法. 失败类型 遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一 ...

  3. 案例:Oracle dul数据挖掘 没有数据库备份非常规恢复truncate删除的数据表

    Oracle数据库在没有备份情况下在对表中的某数据表进行truncate删除后,通过oracle dul进行非常规恢复 1.准备oracle dul测试环境 SQL> select count( ...

  4. oracle dul误删数据,案例:Oracle dul数据挖掘 没有数据库备份非常规恢复truncate删除的数据表...

    Oracle数据库在没有备份情况下在对表中的某数据表进行truncate删除后,通过oracle dul进行非常规恢复 1.准备oracle dul测试环境SQL> select count(* ...

  5. 【技术分享】Oracle控制文件的备份、恢复以及多路复用

                       Oracle控制文件的备份.恢复以及多路复用 前言      今天Frank给大家带来有关Oracle控制文件的技术分享.不积跬步无以至千里,不积小流无以成江海. ...

  6. Sql Server数据库备份和恢复:原理篇

    本文与您探讨为什么Sql Server有完整备份.差异备份和事务日志备份三种备份方式,以及为什么数据库又有简单模式.完整模式和大容量日志模式这三种恢复模式.本文内容适用于2005以上所有版本的Sql ...

  7. MS SQL数据库备份和恢复

    数据库备份和恢复存储过程(和大家交流一下) if exists( select * from sysobjects where name = ' pr_backup_db ' and xtype = ...

  8. MongoDB学习总结(六) —— 数据库备份和恢复

    我们都知道数据库数据经常备份是多么的重要,MongoDB作为一个数据库系统,自然提供了完善,丰富而且好用的备份与恢复机制. 以下介绍三种数据库备份和恢复的方式 > 数据目录直接拷贝 数据库目录直 ...

  9. ASP中怎么实现SQL数据库备份、恢复!

    选择自 hanghwp 的 Blog 1.ASP中怎么实现SQL数据库备份.恢复! 答:asp在线备份sql server数据库: 1.备份 <% SQL="backup databa ...

最新文章

  1. 从浏览器发展史读懂user-agent
  2. Spring Cloud Contract 契约测试实践
  3. linuxg下c++ 类导出_为什么PDF导出功能在SOLIDWORKS Electrical中不起作用?
  4. canvas动画 电子白板_广东智慧电容式触摸屏维修,学校电子白板操作
  5. spark rest_Spark简介,您的下一个REST Java框架
  6. 手把手教你用.NET Core写爬虫
  7. Docker学习总结(35)——Docker全面认识再总结
  8. 把数组变换成字符串(8)
  9. 代码质量(权威精选植根于开发实践的最佳读物)
  10. Windows系统结构图
  11. 小猿日记 - 程序猿的日常日记(2)
  12. 模拟停车场管理系统(栈和队列的应用)
  13. Windows提权—进程注入、Unattended Installs提权
  14. 搞笑新闻联播之老公岗位制度(上)铃声 搞笑新闻联播之老公岗...
  15. 台灯的品质,决定了你的阅读质量
  16. 计算机安装不了cad2007,win7系统电脑中安装cad2007不兼容无法打开的解决方法
  17. 鸿蒙系统的软件怎么下载,怎么下载鸿蒙系统?
  18. 图卷积神经网络(GCN)
  19. 数学建模中的ARMA模型和ARIMA模型的使用实例(含代码)
  20. 如何查询windows的版本号?

热门文章

  1. eclipse中Tomcat启动了 但看不到tomcat首页
  2. JavaScript-包装对象
  3. 微服务架构的基础框架选择:Spring Cloud还是Dubbo?
  4. CentOS6.4 安装OpenResty和Redis 并在Nginx中利用lua简单读取Redis数据
  5. C语言位操作--判断整数是否为2的幂
  6. 一起谈.NET技术,也玩MVC3.0 Razor自定义视图引擎来修改默认的Views目录结构
  7. MYSQL 双主搭建
  8. matplotlib之plot
  9. golang多核的使用
  10. mysql物理文件组成