oracle的热备份和冷备份-程序员宅基地

技术标签: 数据库  

一、冷备份介绍:
   冷备份数据库是将数据库关闭之后备份所有的关键性文件包括数据文件、控制文件、联机REDO LOG文件,将其拷贝到另外的位置。此外冷备份也可以包含对参数文件和口令文件的备份,但是这两种备份是可以根据需要进行选择的。,冷备份实际也是一种物理备份,是一个备份数据库物理文件的过程。因为冷备份要备份除了重做日志以外的所有数据库文件,因此也被成为完全的数据库备份。它的优缺点如下所示:
1、优点:
        <1>只需拷贝文件即可,是非常快速的备份方法。
        <2>只需将文件再拷贝回去,就可以恢复到某一时间点上。
        <3>与数据库归档的模式相结合可以使数据库很好地恢复。
        <4>维护量较少,但安全性确相对较高。
2、缺点:
        <1>在进行数据库冷备份的过程中数据库必须处于关闭状态。
   <2>单独使用冷备份时,数据库只能完成基于某一时间点上的恢复。
        <3>若磁盘空间有限,冷备份只能将备份数据拷贝到磁带等其他外部存储上,速度会更慢。
        <4>冷备份不能按表或按用户恢复。
3、具体备份步骤如下:
        <1>以DBA用户或特权用户登录,查询动态性能视图v$datafile、v$controlfile可以分别列出数据库的数据文件以及控制文件。
SQL&gt; select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u02/oradata/db01/system01.dbf
/u02/oradata/db01/undotbs01.dbf
/u02/oradata/db01/sysaux01.dbf
/u02/oradata/db01/users01.dbf
SQL&gt; select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
/u02/oradata/db01/control01.ctl
/u02/oradata/db01/control02.ctl
/u02/oradata/db01/control03.ctl
/u01/app/oracle/bak/control04.ctl
<2>以DBA用户或特权用户关闭数据库。
SQL&gt; conn /  as sysdba;
Connected.
SQL&gt; shutdown normal
Database closed.
Database dismounted.
ORACLE instance shut down.
<3>复制数据文件,复制时应该将文件复制到单独的一个硬盘或者磁盘上。控制文件是相互镜像的,因此只需复制一个控制文件即可。
cp /u02/oradata/db01/*.dbf  /u01/app/oracle/bak
cp /u02/oradata/db01/*.ctl  /u01/app/oracle/bak
<4>启动例程打开数据库。
SQL&gt; conn / as sysdba;
Connected to an idle instance.
SQL&gt; startup
ORACLE instance started.
Total System Global Area  285212672 bytes
Fixed Size                  1218992 bytes
Variable Size              83887696 bytes
Database Buffers          197132288 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.
SQL&gt;
二、热备份:
   热备份是在数据库运行的情况下,采用archive log mode方式备份数据库的方法。热备份要求数据库处于archive log模式下操作,并需要大量的档案空间。一旦数据库处于archive loh
模式,就可以进行备份了,当执行备份时,只能在数据文件级或表空间进行。
1、优点:
          <1>可在表空间或数据文件级备份,备份时间短。
<2>可达到秒级恢复(恢复到某一时间点上)。
          <3>可对几乎所有数据库实体作恢复。
          <4>恢复是快速的,在大多数情况下在数据库仍工作时恢复。
<5>备份时数据库仍可用。
2、缺点:
         <1>因难以维护,所以要特别仔细小心,不允许“以失败而告终”。
         <2>若热备份不成功,所得结果不可用于时间点的恢复。
         <3>不能出错,否则后果严重。
3、设置初始归档模式:
设置归档模式数据库必须处在mount而非open状态下:
         <1>首先查看数据库是否处在archive log模式下:
         SQL&gt; archive log list;
         Database log mode               No Archive Mode
         Automatic archival                Disabled
         Archive destination               USE_DB_RECOVERY_FILE_DEST
         Oldest online log sequence    1
         Current log sequence            2
         <2>在mount状态下启动数据库:
         SQL&gt; startup mount;
         ORACLE instance started.
         Total System Global Area  285212672 bytes
         Fixed Size                  1218992 bytes
         Variable Size              83887696 bytes
         Database Buffers          197132288 bytes
         Redo Buffers                2973696 bytes
         Database mounted.
         <3>设置数据库为归档模式:
        SQL&gt; alter database archivelog;
        Database altered.
        <4>打开数据库:
SQL&gt; alter database open;
Database altered.
<5>将数据库设置成自动归档,使用以下命令:
SQL&gt; alter system set log_archive_start=true scope=spfile;
System altered.
<6>确定数据库处于归档模式下,并且设置自动存档:
SQL&gt; archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     1
Next log sequence to archive   2
Current log sequence           2
上面的Archive destination所定义的具体位置,可以查看$ORACLE_HOME/dbs/spfile<dbname>.ora文件中的db_recovery_file_dest参数的值。
 
4、联机备份:
      联机备份是热备份的一种备份方法,是指当表空间处于ONLINE状态时,备份表空间的所有数据文件和单个数据文件的过程。使用联机备份的优点是不影响用户在表空间上的所有访问操作,但联机备份的缺点可能生产更多的重做日志文件和归档日志文件。以下是联机备份的具体步骤:
       <1>以DBA用户或特权用户登录,确定表空间所包含的数据文件。通过查询数据字典DBA_DATA_FILES,可以得到数据文件和表空间的对应关系:
SQL&gt; select file_name from dba_data_files where tablespace_name='USERS';
FILE_NAME
--------------------------------------------------------------------------------
/u02/oradata/db01/users01.dbf
<2>设置表空间为备份模式,在复制表空间的数据文件之前必须将表空间设置成为备份模式:
SQL&gt; alter tablespace users begin backup;
Tablespace altered.
<3>复制users数据文件到备份目录:
[oracle@server1 bak]$ cp /u02/oradata/db01/users01.dbf /bak
<4>复制后表空间就不需要设置成为备份模式了,因此可以将其返回正常模式:
SQL&gt;  alter tablespace users end backup;
Tablespace altered.
5、脱机备份:
      脱机备份也是热备份的一种方法,是指当表空间处于offline时,备份表空间的所有数据文件以及单个数据文件的过程。它的优点是会生产较少的重做日志文件,缺点是当用户正在进行脱机备份时所备份的表空间将不能访问,由于SYSTEM系统表空间和正在使用的UNDO表空间不能被脱机,因此脱机备份不适用于SYSTEM表空间和正在使用的UNDO表空间。
        <1>使用DBA用户或特权用户登录,确定表空间所包含的数据文件。这个和联机备份的第一步相同:
SQL&gt; select file_name from dba_data_files where tablespace_name='USERS';
FILE_NAME
--------------------------------------------------------------------------------
/u02/oradata/db01/users01.dbf
<2>设置表空间为脱机状态,将表空间设置为脱机状态后用户将不能访问该表空间上的任何对象,因此也可以确保OFFLINE的表空间的数据文件不会发生改变。
SQL&gt; alter tablespace users offline;
Tablespace altered.
SQL&gt; select tablespace_name,online_status from dba_data_files;
TABLESPACE_NAME                ONLINE_
------------------------------ -------
USERS                          OFFLINE
SYSAUX                         ONLINE
UNDOTBS1                       ONLINE
SYSTEM                         SYSTEM
<3>复制users数据文件到备份目录:
[oracle@server1 bak]$ cp /u02/oradata/db01/users01.dbf /bak
<4>复制完后将表空间置于online状态:
SQL&gt; alter  tablespace users online;
Tablespace altered.
SQL&gt; select tablespace_name,online_status from dba_data_files;
TABLESPACE_NAME                ONLINE_
------------------------------ -------
USERS                          ONLINE
SYSAUX                         ONLINE
UNDOTBS1                       ONLINE
SYSTEM                         SYSTEM
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_34072159/article/details/85069629

智能推荐

while循环&CPU占用率高问题深入分析与解决方案_main函数使用while(1)循环cpu占用99-程序员宅基地

文章浏览阅读3.8k次,点赞9次,收藏28次。直接上一个工作中碰到的问题,另外一个系统开启多线程调用我这边的接口,然后我这边会开启多线程批量查询第三方接口并且返回给调用方。使用的是两三年前别人遗留下来的方法,放到线上后发现确实是可以正常取到结果,但是一旦调用,CPU占用就直接100%(部署环境是win server服务器)。因此查看了下相关的老代码并使用JProfiler查看发现是在某个while循环的时候有问题。具体项目代码就不贴了,类似于下面这段代码。​​​​​​while(flag) {//your code;}这里的flag._main函数使用while(1)循环cpu占用99

【无标题】jetbrains idea shift f6不生效_idea shift +f6快捷键不生效-程序员宅基地

文章浏览阅读347次。idea shift f6 快捷键无效_idea shift +f6快捷键不生效

node.js学习笔记之Node中的核心模块_node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是-程序员宅基地

文章浏览阅读135次。Ecmacript 中没有DOM 和 BOM核心模块Node为JavaScript提供了很多服务器级别,这些API绝大多数都被包装到了一个具名和核心模块中了,例如文件操作的 fs 核心模块 ,http服务构建的http 模块 path 路径操作模块 os 操作系统信息模块// 用来获取机器信息的var os = require('os')// 用来操作路径的var path = require('path')// 获取当前机器的 CPU 信息console.log(os.cpus._node模块中有很多核心模块,以下不属于核心模块,使用时需下载的是

数学建模【SPSS 下载-安装、方差分析与回归分析的SPSS实现(软件概述、方差分析、回归分析)】_化工数学模型数据回归软件-程序员宅基地

文章浏览阅读10w+次,点赞435次,收藏3.4k次。SPSS 22 下载安装过程7.6 方差分析与回归分析的SPSS实现7.6.1 SPSS软件概述1 SPSS版本与安装2 SPSS界面3 SPSS特点4 SPSS数据7.6.2 SPSS与方差分析1 单因素方差分析2 双因素方差分析7.6.3 SPSS与回归分析SPSS回归分析过程牙膏价格问题的回归分析_化工数学模型数据回归软件

利用hutool实现邮件发送功能_hutool发送邮件-程序员宅基地

文章浏览阅读7.5k次。如何利用hutool工具包实现邮件发送功能呢?1、首先引入hutool依赖<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.7.19</version></dependency>2、编写邮件发送工具类package com.pc.c..._hutool发送邮件

docker安装elasticsearch,elasticsearch-head,kibana,ik分词器_docker安装kibana连接elasticsearch并且elasticsearch有密码-程序员宅基地

文章浏览阅读867次,点赞2次,收藏2次。docker安装elasticsearch,elasticsearch-head,kibana,ik分词器安装方式基本有两种,一种是pull的方式,一种是Dockerfile的方式,由于pull的方式pull下来后还需配置许多东西且不便于复用,个人比较喜欢使用Dockerfile的方式所有docker支持的镜像基本都在https://hub.docker.com/docker的官网上能找到合..._docker安装kibana连接elasticsearch并且elasticsearch有密码

随便推点

Python 攻克移动开发失败!_beeware-程序员宅基地

文章浏览阅读1.3w次,点赞57次,收藏92次。整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)近年来,随着机器学习的兴起,有一门编程语言逐渐变得火热——Python。得益于其针对机器学习提供了大量开源框架和第三方模块,内置..._beeware

Swift4.0_Timer 的基本使用_swift timer 暂停-程序员宅基地

文章浏览阅读7.9k次。//// ViewController.swift// Day_10_Timer//// Created by dongqiangfei on 2018/10/15.// Copyright 2018年 飞飞. All rights reserved.//import UIKitclass ViewController: UIViewController { ..._swift timer 暂停

元素三大等待-程序员宅基地

文章浏览阅读986次,点赞2次,收藏2次。1.硬性等待让当前线程暂停执行,应用场景:代码执行速度太快了,但是UI元素没有立马加载出来,造成两者不同步,这时候就可以让代码等待一下,再去执行找元素的动作线程休眠,强制等待 Thread.sleep(long mills)package com.example.demo;import org.junit.jupiter.api.Test;import org.openqa.selenium.By;import org.openqa.selenium.firefox.Firefox.._元素三大等待

Java软件工程师职位分析_java岗位分析-程序员宅基地

文章浏览阅读3k次,点赞4次,收藏14次。Java软件工程师职位分析_java岗位分析

Java:Unreachable code的解决方法_java unreachable code-程序员宅基地

文章浏览阅读2k次。Java:Unreachable code的解决方法_java unreachable code

标签data-*自定义属性值和根据data属性值查找对应标签_如何根据data-*属性获取对应的标签对象-程序员宅基地

文章浏览阅读1w次。1、html中设置标签data-*的值 标题 11111 222222、点击获取当前标签的data-url的值$('dd').on('click', function() { var urlVal = $(this).data('ur_如何根据data-*属性获取对应的标签对象

推荐文章

热门文章

相关标签