vb_ttrestore
功能描述
vb_ttrestore工具提供了一种通用的快速在线导入数据的方法,其可以最小支持到表级别的细粒度在线快速迁移,通常与vb_ttdump工具一起使用。
- 从Vastbase G100 V2.2 Build 11版本开始,该工具支持以分区为粒度的动态加载(用于在替换物理文件之后重新加载物理文件)和数据迁移操作,并且支持表结构变更后的数据迁移操作。
- 分区级别的动态动态加载和数据迁移操作仅支持在一级分区中使用,包括hash分区,range分区与list分区。
注意事项
用户在使用vb_ttdump和vb_ttrestore工具进行数据迁移时,需对如下内容进行确认:
确保源库及目标库数据库版本一致,编码一致。
确保待迁移的表上没有外键约束,对于有外键约束的表,需要将关联表同时导出。存在外键约束的情况下,如果不将父表一起进行迁移,则在导入子表时会报错,子表无法导入到目标库中。
vb_ttdump工具在导出时不会检测外键约束,需要操作者先自行检查。
禁用状态的索引不会被导出,如果要迁移禁用的索引,需要操作者先取消其禁用状态。
该工具仅支持astore存储引擎下无压缩的行存表,不支持压缩表、列存表、全局分区索引、interval分区、物化视图。
该工具不迁移表空间,使用目标数据库的默认表空间。
该工具不支持列备注的迁移。
在动态加载前,需要事先确认表结构是否支持恢复,分别对源表和目标表进行查询,保证源表和目标表变量数量、名称、顺序、都匹配。查询方式如下:
select oid from pg_class where relname='relname'; select * from pg_attribute where attrelid = oid and attnum>0 order by attnum;
语法格式
vb_ttrestore [OPTION]...
参数说明
通用参数
-d, --database=DBNAME
指定要导入的database。
-D, --data-directory=DIR
指定数据文件的输入路径,需要确保操作用户对该路径具有读写权限。
-f, --metadata-file=FILENAME
指定元数据的备份文件路径。
-n, --schema=SCHEMA
指定要导入的schema。
- 当指定-n参数时,忽略-t与-P参数,此时导入指定schema下的所有表。
- 指定的schema如果在目标库中存在,则恢复到该schema下,如果目标库中不存在该指定schema,则创建schema后进行导入。
-t, --import-tables=TABLE
指定要导入的表。可以将备份集中的部分指定表进行恢复,多张表可以通过多个-t来指定。
-P, --import-tables.partitions=TABLE
指定要导入的分区,多个分区可以通过多个-P指定。
- 该参数仅在Vastbase G100 V2.2 Build 11及以后版本支持。
- 可以将
schema_name.table_name
当作表名来指定模式名,输入格式可以为schema_name.table_name.partname
或者table_name.partname
。
--remap-schema=OLDSCHEMA:NEWSCHEMA
通过
old_schema_name:new_schema_name
的格式为转储对象重新指定schema。--table-exists-action=skip|replace
指定导入对象已存在时的处理方式,可选项如下:
skip:表示跳过该对象不进行导入。
replace:之前的对象后导入新对象。
默认值:skip
-v, --verbose
在导入时显示详细信息。
-V, --version
查看该工具软件版本号。
-?, --help
显示帮助信息。
连接参数
-h, --host=HOSTNAME
指定登录数据库的主机名。
-p, --port=PORT
指定登录数据库的端口号。
-U, --username=NAME
指定导入所使用的用户,该用户要求为具有系统管理员权限的用户。
-w, --no-password
不出现输入密码提示。如果主机要求密码认证并且密码没有通过其它形式给出,则连接尝试将会失败。
-W, --password=PASSWORD
指定
-U
参数所指定的用户密码。
使用示例
vb_ttrestore工具的示例请参考vb_ttdump使用示例。