TimesTen提供了各种工具来满足在不同情形下数据的迁移、备份、恢复、移动位置等要求。

  •  不同版本间的数据迁移

可以使用ttMigrate工具,ttMigrate将datastore备份到一个二进制的文件中,这种格式的数据文件是独立与版本的。

也可以使用ttBulkcp工具,一个表一个表的进行,只是比较麻烦一些。

  • 不同硬件或者平台间的数据迁移

可以使用ttBulkCp工具,ttBulkCp将表中的数据备份到一个ASCII文件中,类似与Oracle数据库中的spool命令,该ASCII文件可用于将数据恢复到其它的硬件平台上。

也可以ttMigrate工具,比如在32位的Solaris和64位的Solaris系统之间做数据的迁移。

  •  往一个表中添加数据
 
使用ttBulkCp工具,直接将ASCII文件形式存储的数据添加到表中。
 
  • 备份和恢复数据
 
使用ttBackUp 和 ttRestore 工具进行,这两个是专门用于这个DataStore的数据备份和恢复的,在需要反复准备原始数据的测试环境中尤其有用。而且备份又分为增量备份和完全备份。
 
  • 导入数据并更改表名
 
使用ttMigrate工具,带上参数 - rename  即可。
 
  • 改变已有系统的字符集
 
可以使用ttMigrate工具,原字符集导出,然后导入到新字符集的DataStore即可,当然需要字符集之间有包含关系,否则有数据失真。这个功能在Oracle数据库中是不可想象的,而且好像没有现成的工具去实现同样的目的。
 
  • 迁移数据到另一个目录
使用ttBackUp 和 ttRestore即可,再恢复之前定义上新的路径即可。
 
  • 和其它数据库之间的数据迁移
 
通过ttBulkCp导出到文本文件中,然后其它数据库通过其自身的工具将文本文件的数据导入,或者反之。如果对端是Oracle数据库的话,额外的一种途径是Cache Group,但除非Cache Group中的数据只是在TimesTen是只读的,否则不建议通过这种方式来在Oracle和TimesTen之间做数据迁移。因为如果Cache Agent不关的话,会对性能有影响;如果把Cache Agent关掉的话,如果有修改的事物的话,又会有日志的累积。
 
要注意的是,如果涉及到不同的平台或者不同的版本之间的数据迁移,所用的工具只是用当时当地的工具。比如说从32位的平台上迁移到64位的平台上,那么导出的工具是32位平台上的ttMigrate,导入的工具是用64位的ttMigrate。
 

留言已经关闭