ttMigrate 用于保存和升级或降级在数据存储和二进制文件之间移植的元素。

将数据存储元素保存到二进制文件的语法如下:

用法:

ttMigrate {-a | -c} [Options] {DSN|{[-connstr]ConnectionString}}BinaryDataFile
        [[[Owner.]{TableName| CacheGroupName |Pattern}] [...]]

具体语法如下

ttmigrate [-h | -help | -?]

   or: ttmigrate [-V | -version]

   or: ttmigrate {-a | -c}[-v<level>][-nf] [-nr] [-fixNaN]
                [-[no]RepUpgrade][-saveAsCharset <characterSet>]
                [-convertTypesToOra| -convertTypesToTT]
                {<DSN>| -connstr <connStr>}<dataFile>
                [[<objectOwner>.]<objectName>…]

   or: ttmigrate -r  [-C<ckptFreq>] [-v<level>] [-nf] [-nr][-fixNaN]
                [-updateStats | -estimateStats <percent>]
                [-[no]RepUpgrade] [-inline <rule>]
                [-rename <mapping>] [-noCharsetConversion]
                [-cacheUid <uid> [-cachePwd <pwd>]]
                [-convertCGTypes]
                [-convertTypesToOra | -convertTypesToTT]
                [-localhost <host>]
                {<DSN> | -connstr <connStr>}<dataFile>
                [<objectOwner>.<objectName>...]

   or: ttmigrate {-l | -L | -d | -D}<dataFile>
                [[<objectOwner>.]<objectName>…]

  • -a:将数据存储中的元素添加到现有的二进制数据文件中
  • -c:创建新的二进制数据文件,并将数据存储中的元素写入到该文件中

选项

  • -fixNan:将表中遇到的所有 NaN、Inf 和 -Inf 值都转换为 0.0。此选项在需要将TimesTen
    数据存储降级为不支持
    NaN、Inf 和 -Inf 值的版本时极为有用。
  • -nf:指定不应保存外键信息。随时会保存高速缓存表上的外键。
  • -nr:指定应保存元素定义,但不保存数据。从不保存高速缓存表上的数据。
  • –v VerbosityLevel:设置输出概要的详细级别(默认值:3[保存表和索引时生成表和索引的列表,每保存10,000 行输出一个点 (.)])。
  • –convertTypesToOra:将 TimesTen 数据类型转换为 Oracle数据类型。此选项在将TimesTen 7.0 之前版本的数据存储升级为 TimesTen 7.0版本时极为有用。此选项要求使用-noRepUpgrade 选项。
  • –convertTypesToTT:将 Oracle 数据类型转换为 TimesTen数据类型。此选项在需要将TimesTen 数据存储降级为不支持 Oracle 数据类型的版本时极为有用。此选项要求使用 -noRepUpgrade 选项。
  • –saveAsCharset CharacterSet:以数据库字符集以外的字符集保存数据存储元素。
  • Pattern 是一个字符串,其中包含用于匹配任何单个字符的通配符下划线 (_) 或者用于匹配零个或多个字符的百分号(%)。

默认情况下,会保存数据存储中所有的用户表、索引、视图、序列、高速缓存组定义及复制方案。可以指定单独保存表或高速缓存组,或者同时保存这两者。指定的表和高速缓存组的列表可以包含通配符。高速缓存表不能与相应的高速缓存组分开保存。对于表中的每一列,列的名称、数据类型、默认值、唯一约束条件、主键以及为空性信息均将予以保存。对于每个索引,索引名以及索引基表均予以保存,以便在索引移植到目标数据存储中的兼容数据结构时可以重新创建索引。对于每个表,表的所有者、名称、数据(除非使用 –nr 选项)、主键和外键信息(除非使用 –nf选项)均予以保存。

对于每个高速缓存组,该组的所有者、名称、组中所有表的名称及高速缓存组属性均予以保存。对于每个高速缓存表,表的名称、列信息、表属性、WHERE子句、主键、外键和索引定义均予以保存。

对于每个视图,为用户表和视图查询保存的所有信息均予以保存。

对于每个序列,序列定义及其当前值均予以保存。

如果定义了复制方案,则会保存 TTREP 复制系统表。

可以将不同版本的 TimesTen 中的元素保存到同一个数据文件中。

从二进制文件移植(升级或降级)数据存储元素的语法:

ttMigrate -r [Options]
            {DSN | {[-connstr]ConnectionString}} BinaryDataFile
            [[Owner.{TableName |CacheGroupName}] [...]]

  • -r:将二进制数据文件中的元素移植到数据存储中的兼容数据结构

选项

  • -C MegaBytesRestored:设置检查点频率。每移植 MegaBytesRestored兆字节的数据后,可以发出一个检查点操作(默认值:0 [即使移植完成,也不发出检查点操作])。
  • -fixNan:在将数据还原到表中时,将二进制数据文件中出现的所有 NaN、Inf 和 -Inf值转换为0.0。此选项在需要将 TimesTen 数据存储降级为不支持 NaN、Inf 和 -Inf 值的版本时极为有用。
  • -localhost HostName:确定还原复制的表时本地主机的名称或 IP 地址。
  • -nf:指定不应移植外键信息。随时会移植高速缓存表上的外键。
  • -noRepUpgrade:按稍微更紧凑的格式移植表,使表的访问速度更快一些。该选项仅在非复制表上使用。
  • -nr:指定应移植元素定义,但不移植数据。从不移植高速缓存表上的数据。
  • -repUpgrade:按更适合于复制的格式移植复制的表。这是默认移植模式。
  • –v Verbosity:设置输出概要的详细级别(默认值:3[移植表和索引时生成表和索引的列表,每移植 10,000 行输出一个点 (.)])
  • –rename OldOwner:NewOwner:将 OldOwner用户拥有的所有数据存储元素都移植到 NewOwner 用户。TimesTen 系统表的所有者不能从 SYS 用户更改为 TTREP 用户。
  • –rename 选项不能与 -repUpgrade选项一起使用。在重命名复制的表时,请谨慎使用–rename选项,确保复制方案是最新的。重命名了所有者的任何复制表将无法复制到其对等方,除非该所有者在对等方数据存储中也进行了更改。
  • -inline {preserve | dsDefault |maxlen}:确定是将可变长度的列移植为线内列还是非线内列(线外列)

preserve指定保留每一列的原始线内状态。这是默认的线内规则,如果使用-repUpgrade 选项,则必须指定此规则。

dsDefault 指定将小于等于 128 字节的可变长度列存储为线内列。否则,这些列将存储为线外列。

maxlen 指定将小于等于 maxlen 字节的可变长度列存储为线内列。否则,这些列将存储为线外列。如果 maxlen 设置为0,则所有可变长度的列都将存储为线外列。

  • –convertCGTypes:确定使用 Oracle表中列的数据类型和使用二进制文件中所存储TimesTen 表的列的数据类型从 Oracle 表映射到对应 TimesTen高速缓存表的最佳数据类型。
  • –noCharsetConversion:采用数据库字符集移植数据。在使用 TIMESTEN8字符集或另一字符集(如 WE8ISO8895P1)将 TimesTen 7.0 之前版本的数据存储升级到 TimesTen7.0时,如果数据实际上采用了其它字符集,则此选项极为有用。
  • –cacheUid UID:指定在还原 ASYNCHRONOUS WRITETHROUGH高速缓存组以及使用了AUTOREFRESH 高速缓存组属性的高速缓存组时,要使用的高速缓存管理员用户的 ID。
  • –cacheUid PWD:指定在还原 ASYNCHRONOUS WRITETHROUGH高速缓存组以及使用了AUTOREFRESH 高速缓存组属性的高速缓存组时,要使用的高速缓存管理员用户的口令。

默认情况下,可以移植 DataFile中所有的用户表、索引、视图、序列、高速缓存组及复制方案。可以指定移植单个表和高速缓存组。指定的表和高速缓存组的列表不能包含通配符。高速缓存表不能与相应的高速缓存组分开移植。

对于每个表,表的原始所有者、表名、列名、数据类型、默认值、唯一约束条件、主键、外键(使用 –nf选项时除外)和为空性信息及其数据(使用 –nr 选项时除外)均予以移植。表的所有索引都将重新创建。

对于每个高速缓存组,该组的原始所有者、高速缓存组名称及高速缓存组定义均予以移植。对于每个高速缓存表,表的名称、列信息、表属性、WHERE子句、主键、外键和索引定义均予以移植。高速缓存表的所有索引都将重新创建。

在目标数据存储中,所有使用 AUTOREFRESH 高速缓存组属性的已移植高速缓存组的AUTOREFRESH STATE 都设置为OFF,而不管在源数据存储中的设置如何。可以使用ALTER CACHE GROUP 语句将 AUTOREFRESH STATE 重置为 ON。

无论在 TimesTen 的新实例上还是旧实例上启用了访问控制,ttMigrate 都不会移植任何用户或权限。如果在目标 TimesTen实例上启用了访问控制,则必须显式创建用户,并且必须显式授予权限。

用于列出或描述数据存储元素的语法如下:

ttMigrate {-l | -L | -d | -D} DataFile [[[Owner.]{TableName |CacheGroupName}] [...]]

  • -l:列出在 DataFile 中保存的指定表的名称,包括高速缓存表和 TTREP 复制系统表(列表模式)
  • -L:列出在 DataFile 中保存的指定表的名称(包括高速缓存表和 TTREP 复制系统表)、每个表中的行数以及在这些行上定义的外键和索引、视图查询、序列定义及其当前值(长列表模式)

默认情况下,会列出 DataFile中的所有元素。您也可以指定列出个别元素。指定元素的列表不能包含通配符。外键信息即可以按列表模式显示,也可以按长列表模式显示。

  • -d:显示在 DataFile中保存的指定表的列定义、每个表中的行数和列数以及在这些行和列上定义的主键和外键。对于高速缓存表,还会显示表属性和 WHERE子句。对于视图,会显示视图查询。对于高速缓存组,会显示该高速缓存组的名称、该高速缓存组中表的数目、该高速缓存组的持续时间以及每个高速缓存表的说明。对于复制方案,会显示所有 TTREP 复制系统表。(描述模式)
  • -D:显示在 DataFile中保存的指定表的列定义、每个表中的行数以及在这些行上定义的主键、外键和索引。对于高速缓存表,还会显示表属性和 WHERE子句。对于序列,会显示其定义和当前值。对于高速缓存组,会显示该高速缓存组的名称、该高速缓存组中表的数目、该高速缓存组的持续时间以及每个高速缓存表的说明。对于复制方案,会显示所有 TTREP 复制系统表(详细描述模式)。

默认情况下,会显示 DataFile 中所有元素的定义。您也可以指定个别的元素来显示其定义。指定元素的列表不能包含通配符。

留言