当一台Segment主机不可恢复时
当一台Segment主机不可恢复时
如果一台主机是不可操作的(例如由于硬件失效导致),就需要把那些Segment恢复到备用的硬件资源上。如果启用了镜像,可以使用gprecoverseg从Segment的镜像把它恢复到另一台主机上。例如:
$ gprecoverseg -i recover_config_file
其中recover_config_file的格式是:
filespaceOrder=[filespace1_name[:filespace2_name:...]failed_host_address: port:fselocation [recovery_host_address:port:replication_port:fselocation [:fselocation:...]]
例如,要恢复到不同于失效主机的另一主机上且该主机没有配置(除默认的pg_system文件空间外)额外的文件空间:
filespaceOrder=sdw5-2:50002:/gpdata/gpseg2 sdw9-2:50002:53002:/gpdata/gpseg2
gp_segment_configuration和pg_filespace_entry系统目录表可以帮助确定当前的Segment配置,这样才能规划镜像恢复配置。例如,运行下面的查询:
=# SELECT dbid, content, hostname, address, port, replication_port, fselocation as datadir FROM gp_segment_configuration, pg_filespace_entry WHERE dbid=fsedbid ORDER BY dbid;
新恢复的Segment主机必须预装好Greenplum数据库软件并且按照现有Segment主机相同的方式配置。