oracle 备份数据库

王朝oracle·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

为了备份数据库,

你可以运行BACKUP命令。(你也可以使用SQL Enterprise Manager。)在执行命令之前知道它的语法永远是个好主意。BACKUP命令有许多选项,它的基本语法是:

BACKUP DATABASE { database_name }

TO < backup_device >

backup_device可以是磁盘或者磁带——或者它也可以是一个用磁盘文件、磁带或者已命名管道表示的逻辑上的备份设备。

假如你想做一个快速、一次性的备份,那么向下面那样使用磁盘文件:

BACKUP DATABASE Northwind TO DISK = "c:\backup\Northwind.bak"

假如你想把数据库备份到另外一台服务器上,可以使用UNC名字:

BACKUP DATABASE Northwind TO DISK = "\\FILESERVER\Shared\Backup\Northwind.bak"

假如想进行有规律、有计划的备份,就需要使用逻辑备份设备。一个逻辑备份设备可以保存若干个数据库备份并驻留在磁盘、磁带或者已命名管道上。假如你使用磁带设备,磁带驱动器必须在同一台物理服务器上。已命名管道可以利用第三方备份软件。

为了创建逻辑备份设备,使用sp_addumpdevice系统保存过程。SQL Enterprise Manager也可以用来创建备份设备。命令行语法如清单A所示。

清单B给出了一个在磁盘上创建逻辑备份设备的例子。

当备份设备创建完毕,Northwind数据库可以用下面的命令进行备份:

BACKUP DATABASE Northwind TO DiskBackup

频繁变动的大数据库的备份

现在,我已经演示了如何备份整个数据库。然而,它只答应你恢复备份结束时刻的数据库所保存的数据。假如数据库很大并且频繁变动,由于时间和空间的限制,频繁进行全数据库备份是不现实的。当数据库失败时,可能会造成大量数据丢失。

在这种情况下,有两种提高可恢复性的途径,这两个途径都要求全数据库备份。而且这两种方法都要求数据库恢复模型为FULL或者BULK_LOGGED。

第一种方法采用差异数据库备份,它只捕捉并保存全数据库备份后改变的数据。由于它的文件较小而且信息简明,用它进行数据恢复的速度非常快。

下面的例子在一个名为DiffBackupDevice的逻辑备份设备上创建了一个差异备份:

BACKUP DATABASE Northwind TO DiffBackupDevice WITH DIFFERENTIAL

第二个提高可恢复性的方法利用交易记录备份,恢复可以在一个特定的时间点上完成。

你可能会问这怎么可能。记住,交易记录的目的就是记录发生在数据库中所有交易。交易记录答应COMMIT和ROLLBACK正确工作。为了达到这个功能,该数据的变化前后的数值必须随同操作类型、交易开始(时间)等一齐被记录下来,

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航