Oracle专题17之数据备份和恢复
admin
2023-04-24 02:21:18
0

1、数据备份和恢复的概述

a、备份与恢复的必要性

  • 由于计算机系统的各种软硬件故障,用户的错误操作以及一些恶意破坏难以避免,因此这就影响到数据的正确性,甚至造成数据损失,服务器崩溃的严重后果。
  • 所以经常的备份可以有效地防止数据丢失,能够把数据从错误状态恢复到正确状态。

    b、备份解决方案

  • Oracle备份有分为:物理备份和逻辑备份。
  • 物理备份又分为冷备份和热备份。(热备份又分为用户管理备份和Oracle管理备份)
    Oracle专题17之数据备份和恢复

    c、冷备份(脱机备份)具体步骤

  • 脱机备份是在关闭数据库后进行的完整备份
  • 脱机备份是最快和最安全的方法。
  • 脱机备份是数据库全部文件的备份,包括参数文件、所有控制文件、所有数据文件、所有联机重做日志文件。

  • 脱机备份的具体步骤分为三步:
    1、以sys用户或者system身份登录数据库,以immediate方式关闭数据库。

    SQL> conn sys/02000059 as sysdba
    已连接。
    SQL> shutdown immediate
    数据库已经关闭。
    已经卸载数据库。
    ORACLE 例程已经关闭。

    2、把需要备份的文件拷贝到指定的位置。(复制所有需要备份的文件)
    Oracle专题17之数据备份和恢复
    3、拷贝完成后,如果继续让用户使用数据库,需要以open方式启动数据库。

    SQL> startup open
    ORACLE 例程已经启动。
    
    Total System Global Area 3373858816 bytes
    Fixed Size                  2180424 bytes
    Variable Size            2013268664 bytes
    Database Buffers         1342177280 bytes
    Redo Buffers               16232448 bytes
    数据库装载完毕。
    数据库已经打开。

    d、脱机备份的优点和不足

  • 优点:
    1、是非常快速的备份方法(只需要拷贝文件)。
    2、容易归档(简单拷贝即可)。
    3、容易恢复到某个时间点上(只需要将文件在拷贝回去)。
    4、能够与归档方法向结合,作为数据库“最新状态”的恢复。
    5、低度维护,高度安全。

  • 不足:
    1、单独使用时,只能提供到“某一时间点上”的恢复。
    2、在实施备份的全过程中,数据库必须要做备份而不能作为其他工作。也就是说,在脱机备份过程中,数据库必须是关闭状态。
    3、若磁盘空间有限,只能拷贝到其他外部存储设备上时,速度会很慢。
    4、不能按表或者按用户恢复。

    e、数据库恢复

  • 数据库恢复就是把数据库中备份出来的数据重新还原给原来的数据库。
  • 数据库恢复技术分为完全恢复和不完全恢复。
  • 安全恢复是指把数据库恢复到数据库失败时的数据库状态;不完全恢复是指将数据库恢复到数据库失败前的某一时刻的数据库状态。

    f、脱机恢复

  • 脱机恢复是使用备份文件将数据库恢复到备份时的状态。

    g、脱机恢复的具体操作

  • 脱机恢复的具体步骤分为三步:
    1、以sys用户或者system身份登录数据库,以immediate方式关闭数据库。
    2、将所有备份文件全部拷贝到原来的位置。
    3、拷贝完成后,如果继续让用户使用数据库,需要以open方式启动数据库。

    2、数据的导入和导出

    a、图形化导入导出数据的方式

    1、使用PLSQL Developer工具导出数据:

  • 第一种是导出为.dump的文件格式,.dmp文件是二进制的,可以跨平台,还能包含权限,效率也很不错,用得最为广泛。
    Oracle专题17之数据备份和恢复
    Oracle专题17之数据备份和恢复
  • 第二种是导出为.sql文件的,可用文本编辑器查看,通用性比较好,但是效率不如第一种,适合小数据量导入导出。
    Oracle专题17之数据备份和恢复

    2、使用PLSQL Developer工具导出数据:

  • 第一种是导入为.dump格式的文件:
    Oracle专题17之数据备份和恢复
  • 第二种是导入为.sql格式的文件:
    Oracle专题17之数据备份和恢复
  • 需要注意,导入的.sql格式的文件可以没有数据,但是必须要有表的结构,不然导入会失败。

    b、命令行的方式进行数据的导出

  • 数据导出命令执行方式如下:
    EXP[username/password] 参数1 参数2
  • 示例1:将数据库orc完全导出。
    exp system/oracle@orcl file=c:\dump\oracle_bak.dmp full=y
  • 示例2:将数据库中scott用户的所有对象导出。
    exp scott/tiger1@orcl file=c:\dump\scott_bak.dmp owner=scott
  • 示例3:将scott用户中表emp,dept导出
    exp scott/tiger1@orcl file=c:\dump\table_bak.dmp tables=(emp, dept)

    c、命令行的方式进行数据的导入

  • 导入数据命令执行方式如下:
    IMP [username/password] 参数1 参数2 ... ...
  • 将备份文件导入到数据库中:
    imp scott/tiger1@orcl file=c:\dump\scott_bak.dmp ignore=y
  • 需要注意,此示例中用scott用户进行的导出操作,在导入时也必须由scott用户进行导入操作。

    3、利用触发器实现数据的同步备份

    a、利用触发器实现数据的同步备份图示

    Oracle专题17之数据备份和恢复

    b、示例:利用触发器实现数据的同步备份

  • 因为在系统中只安装一个Oracle数据库,选择的方式是在同一数据库中进行备份:(即A表和A表备份都在同一个数据库中)
    Oracle专题17之数据备份和恢复
    1、创建员工表的备份表:

    CREATE TABLE emp_bak
    AS
    SELECT * FROM emp;

    2、创建触发器来实现数据的同步备份。(如当删除员工后,备份表同步删除)

    CREATE OR REPLACE TRIGGER syno_bak_tirgger
    AFTER DELETE
    ON emp
    FOR EACH ROW
    BEGIN
        DELETE FROM emp_bak WHERE empno = :old.empno;
    END;

    3、测试

    DELETE FROM emp WHERE empno = 7951;
    
    SELECT * FROM emp;
    SELECT * FROM emp_bak;

相关内容

热门资讯

烈焰熊熊,堪比“原子弹”,欧洲... 据美国有线电视新闻网(CNN)7月29日报道,席卷法国西南部的大片野火燃烧得如此猛烈,以至于形成了一...
外交部:对日本熊本县地震遇难者... 据凤凰卫视报道,针对日本熊本县发生强震造成人员伤亡,中国外交部发言人毛宁7月29日在例行记者会上表示...
高铁喧哗被劝阻后叫嚣全家体制内... “女子高铁喧哗被劝阻后叫嚣全家体制内”一事迎来官方通报。据新京报报道,7月29日,辽宁北票市公安局发...
广东专业蓝牙耳机定制厂家推荐,... 在珠三角腹地,广东早已成为全球蓝牙耳机产业链的“心脏地带”。从深圳华强北的声学元件批发,到东莞、惠州...
格雷厄姆葬礼变地缘竞价场!两大... 有些葬礼,送别的是逝者;有些葬礼,演的却是活人最现实的政治博弈。当地时间7月28日,美国老牌鹰派参议...
一道小学数学题难住3名医学博士... 3名不同学校的博士同做一道数学题,谁最厉害?近日,一陕西网友发布的视频引发热议。29日,视频发布者“...
华为全新“小艺任务”亮相:整合... 7月29日,在华为鸿蒙电脑新品技术沟通会上,终端云服务小艺业务部总裁贾永利宣布,小艺将迎来“从对话到...
广西日报特稿《王的猜想》火了,... 澎湃新闻记者 蒋子文 实习生 汤煜炜为应对外界购买纸质版特稿《王的猜想》的热情,《广西日报》宣布紧急...
月租20元内!2026年平价云... 不少手游玩家、账号运营从业者挑选云手机时,首要诉求就是低价够用,想要控制每月支出在20元以内,同时兼...
诺奖得主如何看待王虹境遇?“我... 中村修二(2014年诺贝尔物理学奖得主)【导读】近日王虹与邓煜双双获得2026年菲尔兹奖,成为了首批...