问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle 数据库备份详细步骤是什么?

发布网友 发布时间:2022-04-24 14:09

我来回答

3个回答

懂视网 时间:2022-04-30 16:28


Oracle有两类备份方式:
(1)物理备份:将实际组成数据库的操作系统文件从一处拷贝到另一处的备份过程,就是冷备份、热备份;   
(2)逻辑备份:是利用SQL语言从数据库中抽取数据并存于二进制文件的过程,逻辑备份需要使用导入导出工具:    EXPDP/IMPDP或EXP/IMP;

两种方式有什么优缺点:

oracle备份
概述 优点 缺点
冷备份 数据库可以暂时处于关闭状态时,我们需要将它在这一稳定时刻的数据相关文件转移到安全的区域,当数据库遭到破坏,再从安全区域将备份的数据库相关文件拷贝回原来的位置,这样,就完成了一次快捷安全等数据转移。由于是在数据库不提供服务的关闭状态,所以称为冷备份。 备份安全迅速,容易维护 必须关闭数据库,不能随意在任意时间点上备份数据库
热备份
热备份可以非常精确的备份表空间级和用户级的数据,由于它是根据归档日志的时间轴来备份恢复的,理论上可以恢复到前一个操作,甚至就是前一秒的操作 不需要关闭数据库 ,时间点精确. 过程复杂,操作不可恢复,数据量较小的时候
逻辑备份

是利用SQL语言从数据库中抽取数据并存于二进制文件的过程。
逻辑备份使用导入导出工具:EXPDP/IMPDP或EXP/IMP;

不可关闭,跨平台操作和迁移数据








下面来详细冷热备份的简单操作,逻辑备份需要使用工具,以后在进行概述

1.冷备份

当数据库可以暂时处于关闭状态时,我们需要将它在这一稳定时刻的数据相关文件转移到安全的区域,当数据库遭到破坏,再从安全区域将备份的数据库相关文件拷贝回原来的位置,这样,就完成了一次快捷安全等数据转移。由于是在数据库不提供服务的关闭状态,所以称为冷备份。冷备份具有很多优良特性,比如上面图中我们提到的,快速,方便,以及高效。一次完整的冷备份步骤应该是:
(1)首先关闭数据库(shutdown normal)
(2)拷贝相关文件到安全区域(利用操作系统命令拷贝数据库的所有的数据文件、日志文件、控制文件、参数文件、口令文件等(包括路径))
(3)重新启动数据库(startup)
以上的步骤我们可以用一个脚本来完成操作:
  su – oracle <      sqlplus /nolog 
  connect / as sysdba
  shutdown immediate;

       //注意11G需要使用copy,可以先通过等命令找到需要copy的文件位置

       2.1 控制文件:

         SQL: select * from V$CONTROLFILE

       2.2 参数文件:

         SQL: select * from V$PARAMETER where name like ‘%spfile%‘

       2.3 密码文件

          D:Oracle11gproduct11.2.0dbhome_1databasePWDorcl.ora

       2.4 数据文件

               SQL: select * from V$DATAFILE

       2.5 日志文件

              SQL: select * from V$LOGFILE

  copy 文件   备份位置(所有的日志、数据、控制及参数文件);
  startup;
  exit;
这样,我们就完成了一次冷备份,请确定你对这些相应的目录(包括写入的目标文件夹)有相应的权限。
物理冷备份的恢复:
恢复的时候,相对比较简单了,我们停掉数据库,将文件拷贝回相应位置,重启数据库就可以了,当然也可以用脚本来完成。

2.热备份

     当我们需要做一个精度比较高的备份,而且我们的数据库不可能停掉(少许访问量)时,这个情况下,我们就需要归档方式下的备份,就是下面讨论的热备份。热备份可以非常精确的备份表空间级和用户级的数据,由于它是根据归档日志的时间轴来备份恢复的,理论上可以恢复到前一个操作,甚至就是前一秒的操作。具体步骤如下:

1关闭数据库

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

2

SQL> startup mount;
ORACLE 例程已经启动。

Total System Global Area  293601280 bytes
Fixed Size                  1290208 bytes
Variable Size             130023456 bytes
Database Buffers          155189248 bytes
Redo Buffers                7098368 bytes
数据库装载完毕。

3

SQL> alter database archivelog;
数据库已更改。

4

SQL> select open_mode from v$database;
OPEN_MODE
------------------
READ WRITE

SQL> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            D:oraclearch
最早的联机日志序列     3
下一个存档日志序列   5
当前日志序列           5

5 如果设置成自动归档

alter system set log_archive_start=true scope=spfile;

6联机备份

先启动数据库

alter database open;

将表空间设置为备份模式

alter tablespace users begin backup;

当表空间设置为备份模式后就可以对其中的数据文件进行复制了,使用命令如下

host copy D:ora11g*.DBF E:ackup

复制之后 就不要设置为备份模式了,因此可以返回正常模式

alter tablespace users end backup;

 7脱机备份,脱机备份的优点是会产生较少的重做日志文件,但缺点是当用户正在进行脱机备份时所备份的表空间将不能访问,由于system 系统表空间和正在使用

的undo表空间不能脱机,因此脱机备份不适用于system 表空间和正在使用的undo表空间


SQL> alter tablespace users offline;

表空间已更改。

SQL> host copy F:appAdministratororadataorcl*dbf F:ackup
F:appAdministratororadataorclEXAMPLE01.DBF
F:appAdministratororadataorclSYSAUX01.DBF


SQL> alter tablespace users online;

表空间已更改。


逻辑备份:未完待续!



    







oracle数据库备份(整理笔记)

标签:

热心网友 时间:2022-04-30 13:36

oracle 数据库备份的步骤是:

直接通过exp命令备份需要内容就可以了。可以参考下以下导出备份的方法:

1、将数据库TEST完全导出,用户名system 密码manager 导出到D:\chu.dmp中

exp system/manager@TEST file=d:\chu.dmp full=y

2、将数据库中system用户与sys用户的表导出

exp system/manager@TEST file=d:\chu.dmp owner=(system,sys)

3、将数据库中的表table1 、table2导出

exp system/manager@TEST file=d:\chu.dmp tables=(table1,table2) 

4、将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:\chu.dmp tables=(table1) query=\" where filed1 like  '00%'\"

热心网友 时间:2022-04-30 14:54

推荐答案很不错。对于新手来说很容易学。我补充几句吧:
关于冷备份:
冷备份就是关闭数据库后的备份,流程1.关闭数据库(sql>shutdown immediate)2.复制数据文件到新的目录(也可以拷贝重做日志或者其它文件,看你要备份什么)3.重启数据库

推荐答案采用的是逻辑备份的方式,简单的说就是把对象的数据结构,数据导出来。
不熟语句的话,推荐装个plsql dev,图形界面直接用工具导就行了。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...频数和频率成正比,2频数一定时,频率与总次数成反比,对不对_百度... ...总次数之间的关系是( ) A.频数越大,频率越大 B.总次数一定时,频数越... 实验的总次数、频数及频率三者的关系是( )A.频数越大,频率越大B.频数... 嘎牙鱼的做法大全 安无线网要用多少元网费要交多少元不用用了要不要交网费,想寻求大家的... 无线网费1年多少钱 "Hbr"作为“港”的缩写,其在英语中的使用频率和应用示例如何? 【车主点评:吉利汽车帝豪GL 使我荣华富贵】 请问,如果,家用,自动挡,帝豪gl,英朗,科沃兹,卡罗拉,轩逸,同等价位,建议... ...景点?既能休闲的时候看看又能长点知识@@谢谢各位了! 求C语言大佬看看这个程序该怎么理解 求C语言大佬看看这个程序该怎么理解 C语言,求纠错啊!!!我快疯了!!!这都是什么鬼啊qaq C语言,求纠错啊!!!我快疯了!!!这都是什么鬼啊qaq c语言中s-&gt;data=e是什么意思啊,有谁能形象说明,还有next c语言中fopen(&quot;data&quot;,&quot;ab+&quot;) data含义是什么 c语言中fopen(&quot;data&quot;,&quot;ab+&quot;) data含义是什么 C语言 数据结构 树 *T-&gt;data (*T)-&gt;data 什么区别 是一样的吗? C语言 数据结构 树 *T-&gt;data (*T)-&gt;data 什么区别 是一样的吗? 求帮忙改下C语言代码,要求是用线性表实现两个多项式相乘。代码这里写不完了,看截图,有什么不清楚问我 求帮忙改下C语言代码,要求是用线性表实现两个多项式相乘。代码这里写不完了,看截图,有什么不清楚问我 如果孩子厌学怎么办? 请问,为什么下面的程序不能输出C结构的数据,我在Borland C++ forDOS下运行的,无法正常输出结果。 婆婆:“我家只是借你肚子生孩子”,面对这样的婆婆,我该怎么办? C语言中i-data&=oxf0是什么意思 c语言中s.data和s-&gt;data如何区别? matlab 中 c=data.c是什么意思 我和老婆正在闹离婚!而且还跟岳父岳母闹僵了!孩子也不接我电话了!我现在觉得是我自己不够好!现在中秋 C语言线性表急求大神解 孩子厌学,与父母闹僵了怎么办 oracle数据库备份方法 老赖两年后就正常了吗 老赖是不是过了两年就没事了 老赖期限几年自动取消? Running Man赵宝儿一共去过几次,分别是哪一期 老赖两年后就不用还钱了吗 Oracle应用备份:何为最佳方法 宋再临赵宝儿的绯闻 *判决执行后,欠钱的一直不还,两年后这种执行案子会失效吗? 边伯贤有参加过哪些综艺? 关于oracle备份问题,请问oracle 的热备份和冷备份的区别?以及各自的好 ... 《九尾狐传》这部剧的主角是谁?你觉得他演的好吗? 九尾狐妖韩剧演员表 老赖被强制执行已两年时间,就是不给钱该怎么办? 2012年所有的韩剧 当下最热播的剧有哪些? 老赖五年后就没人管了吗 老赖五年后就没人管了吗 running man洪真英是哪一期 宋再临赵宝儿cp