我想找出归档不再需要的数据的最佳方法,以提高应用程序性能并节省磁盘空间。根据您的经验,实现这一点的最佳方法是什么,我可以使用什么样的工具?为此目的开发特定的内部应用程序会更好吗?
问问题
27068 次
3 回答
5
管理归档的一种方法:
- 按日期范围对表进行分区,例如每月分区
- 随着分区变得过时,例如 36 个月后,这些分区现在可以移动到您的数据仓库,根据您的访问需要,这可能是另一个仅包含文本文件的数据库。
- 移动后,可以从主数据库中删除过时的分区,因此始终只维护(例如)36 个月的当前数据。
- 所有这些都可以使用 SQL/Shell 脚本的组合来自动化。
于 2016-01-25T02:32:29.160 回答
2
在 ORACLE 数据库中归档旧数据的最佳方法是:
- 根据日期或大小定义存档和保留策略。
- 根据定义的策略将可归档数据导出到外部表(表空间)。
- 压缩外部表并将其存储在更便宜的存储介质中。
- 使用 SQL DELETE 从活动数据库中删除归档数据。
- 然后清理空间执行以下命令:alter table T_XYZ enable row move; 改变表 T_XYZ 收缩空间;
- 如果您仍想将一些磁盘空间释放回操作系统(因为 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 回答