热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

数据库的逻辑备份和物理备份--非RMAN

数据库的备份和恢复常规而且重要,恢复得到理想状态逻辑备份利用EXP备份,从数据库提取写入操作系统文件1.可以导出一个完整的数据库2.也可以导出一个模式的文件或者一个定特定表3.称为转储文件,默认为扩展名为...SyntaxHighlighter.all();

数据库的备份和恢复
常规而且重要,恢复得到理想状态
逻辑备份
  利用EXP备份,从数据库提取写入操作系统文件
1.可以导出一个完整的数据库
2.也可以导出一个模式的文件或者一个定特定表
3.称为转储文件,默认为扩展名为.dmp
4. 表或用户模式从一个数库到另一个数据库,重新识别表
5.到处程序创建存储指定表,而不是数据库的逻辑备份
  www.2cto.com  
利用iMP导入成程序导入
导入数据,从*.dmp的数据导入删除或者丢失的数据。
 
不用借助其他工具,只要归档日志和物理备份就可以实现的备份
 
物理备份
 无论冷备份还是热备份,物理备份就是把数据库当中的数据文件做相应的拷贝,只
是冷备份是指脱机备份,热被备份是指联机备份。
  
  1.冷备份,脱机备份,就是要把数据库的服务器(服务)停掉
 1)SQL> shutdown immediate
 2)停掉数据库之后,数据目录oradata当中的相应的文件数据文件,日志文件,控制
文件,拷贝到一个地方
 3)拷贝当相关的路径下,比如c:/bak
 4)若果数据库的文件(目录oradata下)丢失或者损坏,就可以直接从备份中把全部物
理文件考进来,全部覆盖原来的文件。
   这样会造成子备份之日起所有新增数据的丢失。
 5)复制完成后,就可以重新启动数据库。
冷备份就是一个物理拷贝。
  
  2.热备份,正常情况下的备份
 1)不用关机,联机备份,一起正常运转。
 2)置于归档方式,查看归档方式
  archive log list 
  
  目录redo01.log,redo02.log,redo03.log叫做联机日志,轮流写入。
热备份一定要置成归档方式,用归档来恢复。
 日志两类:联机日志和归档日志。
 
 路劲为 USE_BD_RECOVERY_FILE_DEST
 1、sql>alter system set log_archiver_start=true scop =spfile
 2、shutdown immediate 停掉数据库。
 3、startup mount,启动到有控制文件,但是不打开数据文件
 4、alter database archive 将数据库切换到归档方式
 5、alter database open
 
    总体上,将数据库的非归档方式和自动归档方式的禁用改成起作用
 6、archive log list 查看归档方式  www.2cto.com  
 7、相关的备份工作可以开始
 假定当前的某个数据库进行一些备份工作
  SQL>alter tablespace tt begin backup;开始备份某个表
   Tablespace alter
    物理操作系统命令可以把tt.dbf拷贝到c:/temp。
   物理备份到某个路径
  SQL>alter tablespace  tt END BACKUP;
   Tablespace altered.
  SQL>alter system archive log current;将当前联机日志归档,
    system altered. 
  SQL>alter system swich LOGFILE ;切换联机日志
  
  SQL>alter system swich LOGFILE ;
  SQL>shutdown immediate
  删除数据文件,再打开会出现一个错误
  startup 会提示问题。
  SQL>select * from v$recover_filel;会发现某个号文件找不到,就是  
 刚才删除的哪个文件
  SQL>alter database datafile 6 offline drop;
  SQL>alter database open
  把刚才备份到c:/temp的文件拷贝回来。
  SQL>select * from tt.deparment;不可以
  SQL>recover datafile 6;  指定auto
  SQL>alter database datafile 6 online;从归档的路径下。
 
总结:有效的赖以实现恢复的归档日志,做热备份,当数据库出现问题时候,客户数
恢复到指定的环节。归档的时候,做一个swich LOGFILE 。无论冷人备份也都还是物理备份
有效,就是 一个物理的拷贝,区别就是一个脱机,一个是联机。
当数据库中的控制文件丢掉一个或者几个的时候,我们通过什么办法弥补?
 
1、控制文件丢失,常规情况下可以备份控制文件。
 alter database backup controlfile to trace;备份路径
   可以查看 trace 的路径 show parameter dest/dump
  ps:11g的在/u01/app/oracle/diag/rdbms/  www.2cto.com  
     $ORACLE_SID/$ORACLE_SID/trace
 tarce中最新的文件,就是包含我们的控制文件备份信息,其中:
  1、注释信息不需要,
  2、需要从startup nomount开始的
  3、包括ALTER DATABASE OPEN;
  4、保存到专门的文件里,比如 ctl.sql
  5、删除控制文件。
  6、启动数据库后SQL>@ctl.sql,可以重建控制文件。
2、丢失日志文件,一个或者多个
 1、丢失日志文件,假定丢失了。
 2、SQL>recover database until cancel;基于取消的恢复数据库
 3、SQL>alter database open resetlogs;
 
 
 
作者 huzia

推荐阅读
  • 本文详细介绍了IBM DB2数据库在大型应用系统中的应用,强调其卓越的可扩展性和多环境支持能力。文章深入分析了DB2在数据利用性、完整性、安全性和恢复性方面的优势,并提供了优化建议以提升其在不同规模应用程序中的表现。 ... [详细]
  • Windows服务与数据库交互问题解析
    本文探讨了在Windows 10(64位)环境下开发的Windows服务,旨在定期向本地MS SQL Server (v.11)插入记录。尽管服务已成功安装并运行,但记录并未正确插入。我们将详细分析可能的原因及解决方案。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
  • 构建基于BERT的中文NL2SQL模型:一个简明的基准
    本文探讨了将自然语言转换为SQL语句(NL2SQL)的任务,这是人工智能领域中一项非常实用的研究方向。文章介绍了笔者在公司举办的首届中文NL2SQL挑战赛中的实践,该比赛提供了金融和通用领域的表格数据,并标注了对应的自然语言与SQL语句对,旨在训练准确的NL2SQL模型。 ... [详细]
  • UNP 第9章:主机名与地址转换
    本章探讨了用于在主机名和数值地址之间进行转换的函数,如gethostbyname和gethostbyaddr。此外,还介绍了getservbyname和getservbyport函数,用于在服务器名和端口号之间进行转换。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • MySQL缓存机制深度解析
    本文详细探讨了MySQL的缓存机制,包括主从复制、读写分离以及缓存同步策略等内容。通过理解这些概念和技术,读者可以更好地优化数据库性能。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • XNA 3.0 游戏编程:从 XML 文件加载数据
    本文介绍如何在 XNA 3.0 游戏项目中从 XML 文件加载数据。我们将探讨如何将 XML 数据序列化为二进制文件,并通过内容管道加载到游戏中。此外,还会涉及自定义类型读取器和写入器的实现。 ... [详细]
  • 在使用SQL Server进行动态SQL查询时,如果遇到LIKE语句无法正确返回预期结果的情况,通常是因为参数传递方式不当。本文将详细探讨这一问题,并提供解决方案及相关的技术背景。 ... [详细]
  • 本文介绍如何通过创建替代插入触发器,使对视图的插入操作能够正确更新相关的基本表。涉及的表包括:飞机(Aircraft)、员工(Employee)和认证(Certification)。 ... [详细]
  • SQLite 动态创建多个表的需求在网络上有不少讨论,但很少有详细的解决方案。本文将介绍如何在 Qt 环境中使用 QString 类轻松实现 SQLite 表的动态创建,并提供详细的步骤和示例代码。 ... [详细]
  • 精选30本C# ASP.NET SQL中文PDF电子书合集
    欢迎订阅我们的技术博客,获取更多关于C#、ASP.NET和SQL的最新资讯和资源。 ... [详细]
author-avatar
mobiledu2502885927
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有