1

在 Oracle 8 中,使用数据库中的 BLOB 进行在线备份非常慢。慢,我的意思是用 100MB 的 BLOB 数据备份数据库需要一个多小时。Oracle 承认它很慢,但不会解决这个问题(为了支持支付这么多钱)。有谁知道 Oracle 是否在后续版本中解决了这个问题?此外,在线备份与 BLOB 在 SQL Server 和 MySQL 中的工作速度有多快?

4

6 回答 6

1

To answer your question about the speed of online backups of BLOBs in SQL Server, it's the same speed as backing up regular data for SQL 2000/2005/2008 - it's typically limited by the speed of your storage. I usually get over 100mb/sec on my database backups with BLOBs.

Be wary of using backup compression tools with those, though - if the BLOB is binary-style data that's heavily random, then you'll waste CPU cycles trying to compress the data, and compression can make the backup slower instead of faster.

于 2008-10-19T17:07:05.520 回答
1

我过去遇到过这个问题,我们发现的唯一体面的解决方法是确保 LOB 位于它们自己的表空间中,并对它们使用不同的备份策略,或者切换到使用 BFILE 类型。您是否可以使用 BFILE 将取决于您如何使用 LOB。

BFILE 的一些使用信息:

http://download-uk.oracle.com/docs/cd/B10501_01/java.920/a96654/oralob.htm#1059942

请注意,BFILE 存在于 Oracle 之外的文件系统上,因此您需要在正常 Oracle 备份之外的进程中备份它们。在一个项目中,我们刚刚安排了 rsync 到异地备份。另外需要注意的是,您不能通过 JDBC 创建/更新 BFILE,但可以读取它们。

于 2008-09-22T18:52:26.183 回答
0

根据 BLOB 的大小,确保将它们适当地内联/外联存储。

请参阅http://www.dba-oracle.com/t_table_blob_lob_storage.htm

于 2008-09-22T20:24:39.410 回答
0

您可以将您正在创建的导出文件和 Oracle 表空间放在不同的磁盘上吗?您的 I/O 吞吐量可能是限制因素...?

于 2008-09-23T07:16:39.717 回答
0

我使用 Redgate 的 SQL Backup for SQL Server —— 它速度快得离谱,即使是我的 BLOB 数据。

我保留了我进行 EDI 处理的每个文件的副本,因此虽然它们不是很大,但它们数量众多,而且是 BLOB。我有超过 100Megs 的这些文本文件。

重要的是要注意 Redgate 的 SQL 备份只是标准 SQL 备份的前端......它基本上为您提供了额外的管理功能,但仍然使用 SQL Server 备份引擎。

于 2008-09-22T18:41:33.900 回答
0

8i 上的 exp 很慢,但没有你描述的那么多。我已经在 10g 的几分钟内备份了千兆字节的 blob ..(到磁盘 - 使用 expdp)

于 2008-10-09T15:08:02.360 回答