当前位置:  数据库>oracle

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

    来源: 互联网  发布时间:2017-04-27

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

数据库的备份和恢复

常规而且重要,恢复得到理想状态

逻辑备份

利用EXP备份,从数据库提取写入操作系统文件

1.可以导出一个完整的数据库
2.也可以导出一个模式的文件或者一个定特定表
3.称为转储文件,默认为扩展名为.dmp
4. 表或用户模式从一个数库到另一个数据库,重新识别表
5.到处程序创建存储指定表,而不是数据库的逻辑备份



利用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 查看归档方式

 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/
     $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;

更多Oracle相关信息见 专题页面


    
 
 

您可能感兴趣的文章:

  • 数据库备份 SQLServer的备份和灾难恢复
  • Oracle数据库设置任务计划备份一周的备份记录
  • sql server 2008中备份集中的数据库备份与现有的xx数据库不同的解决方法
  • mysql数据库备份命令分享(mysql压缩数据库备份)
  • Sql Server 2000删除数据库备份文件
  • Oracle数据库备份和恢复工具 RMan
  • WordPress数据库备份插件 WP DB Backup
  • MySQL数据库备份恢复程序 MySQLDumper
  • 设置密码保护的SqlServer数据库备份文件与恢复文件的方法
  • 有关sql server 2008 数据库自动备份作业的权限问题
  • sql server中通过查询分析器实现数据库的备份与恢复方法分享
  • MSSQL数据库的定期自动备份计划。
  • C# 备份数据库的简单代码
  • 将备份数据还原到数据库的步骤
  • 通过备份记录获取数据库的增长情况
  • oracle数据库备份急???????????
  • 我不小心用mysqlfront把一个mysql数据库删除了,能不能恢复(没有备份),大家一定要救我阿。
  • linux下MySQL数据库的定时备份
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了! iis7站长之家
  • linux下能调用*.sql备份的数据库数据么?
  • T-sql语句修改数据库逻辑名与数据库名等
  • Oracle数据库逻辑备份的SH文件
  • 数据库中的SELECT语句逻辑执行顺序分析
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 轻松理解Oracle数据库中的物理结构
  • C#实现上传照片到物理路径,并且将地址保存到数据库的小例子
  • 基于Key-Value的NOSQL数据库Redis的数据结构及常用相关命令介绍
  • 如何监控数据库的数据,如果数据库数据更改,就通知Server
  • SQL Server 2008如何进行数据库分离和附加详细介绍
  • 散分:Jbuilder6开发数据库应用请问你们都用什么数据库? 免费的数据库有那些?
  • 文档数据库mongodb与列式数据库hbase详细比较
  • 如何从数据库中或文本文件中提取数据到另一个数据库中?
  • nosql数据库levedb介绍及levedb最新版1.18下载安装
  • 用JDBC连接Oracle数据库时,如何向数据库中写日期型数据(格式)?谢了!
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 开发java下的数据库程序,用什么数据库引擎?
  • php中内置的mysql数据库连接驱动mysqlnd简介及mysqlnd的配置安装方式
  • 我从JSP页将数据插入到oracle数据库中,为何汉字插入后数据库中显示为乱码呢?
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • sql 语句 取数据库服务器上所有数据库的名字
  • 删除数据库中重复记录方法介绍及代码参考
  • 请问Linux数据库编程是否也可以支持通用的SQL语言进行数据库编写.
  • Mongodb数据库服务的开启与关闭详细介绍
  • 数据在页面写不进数据库,也不可以从数据库中读出是什么原因?
  • ORACLE数据库常用字段数据类型介绍
  • sql语句获取数据库服务器上所有数据库的名字
  • 如何实现 coreos 下Docker 与分布式数据库结合
  • 请问谁有Applet连接远程Access数据库并且显示数据库内容的例子!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,