12

我想找出归档不再需要的数据的最佳方法,以提高应用程序性能并节省磁盘空间。根据您的经验,实现这一点的最佳方法是什么,我可以使用什么样的工具?为此目的开发特定的内部应用程序会更好吗?

4

3 回答 3

5

管理归档的一种方法:

  1. 按日期范围对表进行分区,例如每月分区
  2. 随着分区变得过时,例如 36 个月后,这些分区现在可以移动到您的数据仓库,根据您的访问需要,这可能是另一个仅包含文本文件的数据库。
  3. 移动后,可以从主数据库中删除过时的分区,因此始终只维护(例如)36 个月的当前数据。
  4. 所有这些都可以使用 SQL/Shell 脚本的组合来自动化。
于 2016-01-25T02:32:29.160 回答
2

在 ORACLE 数据库中归档旧数据的最佳方法是:

  1. 根据日期或大小定义存档和保留策略。
  2. 根据定义的策略将可归档数据导出到外部表(表空间)。
  3. 压缩外部表并将其存储在更便宜的存储介质中。
  4. 使用 SQL DELETE 从活动数据库中删除归档数据。
  5. 然后清理空间执行以下命令:alter table T_XYZ enable row move; 改变表 T_XYZ 收缩空间;
  6. 如果您仍想将一些磁盘空间释放回操作系统(因为 Oracle 现在会保留以前使用的总空间),那么您可能必须调整数据文件本身的大小: SQL> alter database datafile '/home/ oracle/database/../XYZ.dbf' 调整大小 1m;

更多详情请参考: http ://stage10.oaug.org/file/sroaug080229081203621527.pdf

于 2014-04-17T16:57:09.563 回答
-2

我会将数据导出到逗号分隔的文件中,以便可以将其导出到几乎任何数据库中。因此,如果您更改 Oracle 的版本或几年后转到其他版本,您可以毫无顾虑地恢复它。

使用 SQL*Plus 的假脱机文件功能来执行此操作:http ://cisnet.baruch.cuny.edu/holowczak/oracle/sqlplus/#savingoutput

于 2009-11-11T21:17:13.577 回答