Oracle-数据库的备份与恢复

让石头裂开的不是最后一击,而是前面的99次击打
文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述


数据是非常重要的资产,然而任何数据库在日常运行过程中都存在一定的安全隐患,特别像银行、证券等金融单位,在日常运行过程中,为防止出现系统故障、病毒或者用户操作不当而导致数据丢失,必须要有良好的预备方案,以恢复数据。数据库备份和恢复是预防灾难的一个非常有效的手段,数据库备份与恢复是数据库管理员的重要管理职责,而数据库备份是否成功对数据恢复至关重要。

一、备份与恢复概述

为了保证计算机系统的备份和高可用性,很多高性能服务器经常采用多种备份策略,例如RAID技术、双机热备、集群技术等,这些备份策略是从硬件的角度来考虑的,这些策略能够部分解决数据库备份问题。如磁盘介质损坏,可以快速地在镜像上做简单的恢复。然而,这种硬件的备份并不能满足现实的需要,比如数据表被误删除。
数据库备份与恢复是一对相反操作。备份是保存数据库中数据的副本,实际上就是把数据库复制到转储设备(磁盘或者磁带)的过程;恢复是指当发生各种故障(硬件故障、软件故障、网路故障、系统故障等)造成数据库瘫痪或者错误,利用备份将数据库恢复到故障时刻的状态,重构完整的数据库。数据库恢复可分为数据库修复以及在数据库修复基础上的数据库恢复。

1、备份的类型
根据数据备份方式的不同,备份可以分为物理备份和逻辑备份两种。物理备份是将组成数据库的数据文件、重做日志文件、控制文件、初始化参数文件等系统文件进行复制,将形成的副本保存到与当前系统独立的磁盘或者磁带上。逻辑备份是指利用oracle提供的导出工具将数据库中的数据抽取出来,存放到一个二进制文件中。

2、恢复的类型
根据数据库恢复时使用的备份不同,恢复可以分为物理恢复和逻辑恢复两种。物理恢复是指利用物理备份来恢复数据库,即利用物理备份文件恢复损毁文件,是在操作系统级别上进行。而逻辑恢复是利用逻辑备份的二进制文件,使用oracle提供的导入工具将部分或者全部信息导入数据库,恢复丢失的数据。根据数据库恢复的程度可分为完全恢复和不完全恢复。数据库出现故障后,如果能够利用备份使数据库恢复到出现故障时的状态,称为完全恢复,否则称为不完全恢复。

二、数据的导出与导入

导出时将数据库中选定的对象或者数据字典的逻辑副本以二进制文件的形式存储到操作系统中,dmp文件格式存储;恢复的时候,从dmp格式文件恢复到数据库中。

1、数据的导出
oracle11g数据库使用exp工具实现数据的逻辑备份,该工具有3种工作方式。
命令行方式:在命令行中直接指定参数设置。
参数文件方式:将参数的设置信息存放到一个参数文件中,在命令行中用parfile参数指定参数文件。
交互方式:通过交互命令进行导出作业的管理。
Exp工具提供了4中导出模式。
全库导出模式:导出整个数据库。
模式导出模式:导出指定模式中的所有对象。
表导出模式:导出指定模式中指定的所有表、分区及其依赖的对象和数据。
表空间导出模式:导出指定表空间中所有表及其依赖对象。
这4种模式主要通过选择参数来进行相应的设置。
下面主要介绍命令行方式和交互方式。

命令行方式:
导出scott用户下的emp表和dept表,存储文件名称为output.dmp,日志文件为output.log
首先进入指定存储文件的目录,假设目录名称为C盘的backup,然后执行相应的命令。
cd backup
exp scott/tiger dumpfile=output.dmp logfile=output.log tables=scott.emp,scott.dept

导出scott用户下所有对象
cd backup
exp scott/tiger dumpfile=user.dmp

交互方式
首先需要准备一个进行数据备份的目录,假设现在将D:\backup目录作为备份路径。
需要进入到backup目录中(以命令行的方式进行操作)。
cd backup;
输入exp指令,导出数据,输入用户名和口令(例如scott/tiger);

2、数据的导入

oracle11g数据库使用imp工具实现备份数据的导入,该工具和导出工具exp一样也有3中工作方式:命令行方式、交互方式和参数文件方式。

命令行方式:
scott用户下的emp和dept表数据丢失,利用前面导出的备份文件恢复。
首先进入指定存储文件的目录,假设目录名称为C盘的backup,然后执行相应命令。
cd backup
imp scott/tiger dumpfile=output.dmp tables=scott.emp,scott.dept;

假设scott用户下的对象丢失,利用前面所备份的文件恢复scott用户下所有对象。
cd backup
imp scott/tiger dumpfile=user.dmp

三、数据库的冷备份及恢复

数据库的冷备份严格来说称为归档备份,指的是数据库要关闭服务,所有的事务都需要提交了。从实际来说,如果要进行备份则需要备份以下内容。
控制文件:控制着整个oracle的实例信息,可以使用v c o n t r o l f i l e 数 据 字 典 找 到 。 重 做 日 志 文 件 : 通 过 v controlfile数据字典找到。 重做日志文件:通过v controlfilevlogfile数据字典找到
数据文件:通过v d a t a f i l e 数 据 字 典 找 到 。 核 心 配 置 文 件 ( p f i l e ) : 使 用 “ s h o w p a r a m e t e r p f i l e ” 找 到 。 冷 备 份 操 作 数 据 库 的 备 份 操 作 由 管 理 员 进 行 , 因 此 首 先 以 管 理 员 身 份 登 录 。 1 、 使 用 s y s 登 录 c o n n s y s / c h a n g e o n i n s t a l l a s s y s d b a ; 2 、 查 找 控 制 文 件 的 信 息 s e l e c t ∗ f r o m v datafile数据字典找到。 核心配置文件(pfile):使用“show parameter pfile”找到。 冷备份操作 数据库的备份操作由管理员进行,因此首先以管理员身份登录。 1、使用sys登录 conn sys/change_on_install as sysdba; 2、查找控制文件的信息 select * from v datafilepfile使showparameterpfile1使sysconnsys/changeoninstallassysdba;2selectfromvcontrolfile;
3、查找重做日志文件信息。
select * from v l o g f i l e ; 4 、 找 到 所 有 数 据 文 件 信 息 s e l e c t ∗ f r o m v logfile; 4、找到所有数据文件信息 select * from v logfile;4selectfromvdatafile;
5、找到PFILE文件
show parameter pfile;
6、记录好2、3、4、5命令执行后所显示的文件路径。
7、关闭oracle服务。
shutdown immediate
8、复制出所有的备份文件。
9、重新启动服务;
startup
这种备份是允许关闭计算机的备份。

冷恢复
当数据库系统出现错误的时候,可以使用冷备份的文件进行恢复。
步骤如下
1、关闭oracle服务。
shutdown immediate
2、将备份时复制出的所有备份文件复制到原来的目录下。
3、重新启动服务。
startup

四、总结

这里的相关内容还没有整理完毕,文章后面持续更新,建议收藏。

文章中涉及到的命令大家一定要像我一样每个都敲几遍,只有在敲的过程中才能发现自己对命令是否真正的掌握了。

可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

相关文章

文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符...
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远...
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语...
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseErr...
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Or...
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点...