请问oracle数据库的数据库备份有几种方式哪种最好用

请问oracle数据库的数据库备份有几种方式哪种最好用,第1张

Oracle数据库备份方式

Oracle的内核提供数据库的备份和恢复机制,SQLDBA按表空间进行数据的备份和恢复。Oracle提供两种方式:备份恢复和向前滚动,保证意外故障恢复数据库的一致性和完整性。

1 备份恢复方式

对数据库的某个一致状态建立副本,并储存在介质上脱机保存,以此作为数据库恢复的基础。现以Oracle实用程序Export/Import来介绍备份恢复方式。

Export/Import是Oracle提供的两个互补性程序,即卸载和装载。它们既完成数据库与 *** 作系统文件的互为转载,同时可以有效地回收数据库的碎片,提供不同版本间Oracle 数据传送的手段,进行不同用户间的数据传送。

Export数据卸载,将数据从Oracle写到指定的 *** 作系统文件进行备份。卸载的对象、内容与数量有三种模式:TABLE MODE(表模式)、USER MODE(用户模式)、FULL DATABASEM ODE(所有数据库模式)。使用方式既可用交互方式,也可采用命令行方式,以"关键字=值" 将所需信息在命令行中逐一描述来进行卸载。Export要求用户具有CONNECT或DBA特权。

Import与Export互逆,将 *** 作系统文件重新装载至Oracle数据库中,使用方式如Expo rt。使用者要求具有CONNECT和RESOURCE特权,且可选择部分或全部装入。

Export/Import非常方便,系统开销小,它的限制是输出的 *** 作系统文件采用专门的压缩方式存放,仅提供给Import使用。

也可采用SQLPLUS和SQLLOADER实用工具进行备份。使用SQLPLUS的SPOOL命令通过脱机定向输出,使用PLUS格式化结果,形成指定格式的ASCII文件,需要时可用SQLLOADER 进行加载。它的方便之处是ASCII文件可以编辑,可方便地加载至其他数据库(如FoxPro、 Sybase中)。

2 向前滚动方式

Oracle提供向前滚动方式,使建立备份后成功的事务不会丢失。恢复的基础是数据库的某个一致性状态(即方式1完成的备份恢复),恢复的依据是存档的重作记录文件。启动重作记录文件方法如下:

(1) 启动Oracle;

(2) 连接Oracle:CONNECT SYSTEM/PASSWORD;

(3) 启动ARCHIVE LOG。

出现介质故障时,可用SQLDBA的RECOVER命令,利用存档的重作记录文件恢复一个或多个表空间。RECOVER命令对DATABASE或TABLASPACE进行恢复。前者要求SQLDBA START UP已被排斥方式装载且未被打开;后者对无活跃回退段的表空间执行脱机,要求数据库已装载且被打开。

由于向前滚动方式恢复的依据是存档的重作记录文件,因而系统开销大,但恢复的是建立备份以后的成功事务,所以恢复的程度更高、更完备。

IT JOB

Oracle数据库分为单机版和RAC版本。

常规的单机版Oracle数据库,备份软件可以实现对其的定时备份与恢复,也可以实现实时备份与恢复。

而Oracle RAC是一个特殊的数据库版本,是一个多节点的数据库,实现对该数据库的定时备份与恢复比较容易,实时备份与恢复的话相对困难,费用也非常高。

Oracle数据库的备份,要根据以下不同情况去考虑如何进行备份:

1、根据企业的业务形式 -- 24 x 7 不停机(银行、通讯等)与每天有一定时间可停机(商场);

2、根据企业的数据库规模 -- 数据量的大小可适当考虑采用的备份方式;

3、根据Oracle数据库的运行方式 -- 日志文件归档与非归档模式。

这里简单说一下两种不同情况所采用的备份方法。

1、企业 24 x 7 是不停机 -- 多数采用数据库以归档模式运行,并以逻辑备份和不完全备份相结合的方法。而逻辑备份可按系统方式和用户方式进行备份,而且考虑到备份介质的损坏可能性进行单双日备份。即每种备份留两套,单日一套双日一套。

2、企业业务不是全天性的 -- 可采用数据库以非归档模式运行,并以物理备份和逻辑备份相结合的方法。而逻辑备份可按系统方式和用户方式进行备份,而且考虑到备份介质的损坏可能性进行单双日备份。即每种备份留两套,单日一套双日一套。

注:逻辑备份 -- EXP、IMP命令备份;物理备份 -- 关闭数据库备份所有的系统文件;不完全备份 -- 可脱机一些表空间进行备份(此方法用的少)。

Oracle自动备份的三种方法:

Oracle自动备份数据库不外乎以下三种方式:

WINDOWS下的任务计划(At命令)

UNIX下的Crontab

第三方工具如Viritas

在以上三种方式中Viritas属于第三方工具,很多人可能都没有接触,主要说一下windows的任务计划与unix的cron

1、生成脚本文件,如backuprcv 假定文件内容如下:

$>cat backuprcv connect target sys/password rcvcat rman/rman@localname; run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format ‘/u01/oradata/backup/arch%u_%s_%p’ archivelog all delete input; release channel c1; release channel c2; release channel c3; }

2、生成执行文件在windows上生成backup_archivebat,内容包括rman cmdfile = backuprcv 在unix下生成 backup_archivesh,内容包括oracle/ramn/rman cmdfile = backuprcv

3、加入调度在windows中用任务计划向导即可,或使用at命令。在unix中,在目标机器上编写一个文件,用以启动Oracle自动备份进程。假定文件名为ORACLE,文件将放在/var/spool/cron/crontabs目录下

$>cat oracle

0 23 0 backup_archivesh

#表示星期天23点对数据库备份

0 12,18 backup_archivesh

#表示每天12点,18点备份

Crontab文件的每一行由六个域(minutes,hours,day of month,month,day of week,command)组成,域之间用空格或Tab分隔开来。

以上就是关于请问oracle数据库的数据库备份有几种方式哪种最好用全部的内容,包括:请问oracle数据库的数据库备份有几种方式哪种最好用、oracle数据库备份方法、对oracle数据库怎么进行备份急求解决,谢谢!等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10185161.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存