精华内容
下载资源
问答
  • greenplum集群说明 greenplum整个集群是由多台服务器组合而成,任何一台服务都有可能发生软件或硬件故障,我们一起来模拟一下任何一个节点或服务器故障后,greenplumn的容错及恢复方法 master 服务器:l-test5 ...

    greenplum集群说明

    greenplum整个集群是由多台服务器组合而成,任何一台服务都有可能发生软件或硬件故障,我们一起来模拟一下任何一个节点或服务器故障后,greenplumn的容错及恢复方法
    
    master  服务器:l-test5
    standby 服务器:l-test6
    segment 服务器:(primary + mirror):l-test[7-12]
     
    greenplum集群说明:1 master  +  1 standby + 24 primary segments + 24 mirror segments

    正常集群状态

    在master查看数据库当前的状态
    [gpadmin@l-test5 ~]$ gpstate
    20180209:16:23:43:004860 gpstate:l-test5:gpadmin-[INFO]:-Starting gpstate with args: 
    20180209:16:23:43:004860 gpstate:l-test5:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3'
    20180209:16:23:43:004860 gpstate:l-test5:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3) on x86_64-pc-linux-gnu, compi
    led by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jan 22 2018 18:15:33'
    20180209:16:23:43:004860 gpstate:l-test5:gpadmin-[INFO]:-Obtaining Segment details from master...
    20180209:16:23:43:004860 gpstate:l-test5:gpadmin-[INFO]:-Gathering data from segments...
    .. 
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-Greenplum instance status summary
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Master instance                                           = Active
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Master standby                                            = l-test6
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Standby master state                                      = Standby host passive
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total segment instance count from metadata                = 48
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Primary Segment Status
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total primary segments                                    = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total primary segment valid (at master)                   = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total primary segment failures (at master)                = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid files missing              = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid files found                = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid PIDs missing               = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid PIDs found                 = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of /tmp lock files missing                   = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of /tmp lock files found                     = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number postmaster processes missing                 = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number postmaster processes found                   = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Mirror Segment Status
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total mirror segments                                     = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total mirror segment valid (at master)                    = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total mirror segment failures (at master)                 = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid files missing              = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid files found                = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid PIDs missing               = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid PIDs found                 = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of /tmp lock files missing                   = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number of /tmp lock files found                     = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number postmaster processes missing                 = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number postmaster processes found                   = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number mirror segments acting as primary segments   = 0
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-   Total number mirror segments acting as mirror segments    = 24
    20180209:16:23:45:004860 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    

    master 服务器故障

    当master节点故障后,我们需要激活standby节点作为新的master节点(如果服务器允许,把vip也切换到standby服务器)
    
    在激活standby节点的可以直接指定新的standby节点,也可以等原master服务器恢复后,指定原master节点为standby节点
    
    这里我就不关服务器了,直接模拟master节点故障的状态
    关闭master节点
    
    [gpadmin@l-test5 ~]$ gpstop -a -m 
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-Starting gpstop with args: -a -m
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-Gathering information and validating the environment...
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-Obtaining Greenplum Master catalog information
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-Obtaining Segment details from master...
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-Greenplum Version: 'postgres (Greenplum Database) 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3'
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-There are 0 connections to the database
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-Commencing Master instance shutdown with mode='smart'
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-Master host=l-test5
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-Commencing Master instance shutdown with mode=smart
    20180211:15:16:24:022773 gpstop:l-test5:gpadmin-[INFO]:-Master segment instance directory=/export/gp_data/master/gpseg-1
    20180211:15:16:25:022773 gpstop:l-test5:gpadmin-[INFO]:-Attempting forceful termination of any leftover master process
    20180211:15:16:25:022773 gpstop:l-test5:gpadmin-[INFO]:-Terminating processes for segment /export/gp_data/master/gpseg-1
    
    [gpadmin@l-test5 ~]$ psql
    psql: could not connect to server: No such file or directory
        Is the server running locally and accepting
        connections on Unix domain socket "/tmp/.s.PGSQL.65432"?
    
    激活standby节点
    
    [gpadmin@l-test6 ~]$ gpactivatestandby -a -d /export/gp_data/master/gpseg-1/
    20180211:15:19:48:016771 gpactivatestandby:l-test6:gpadmin-[INFO]:------------------------------------------------------
    20180211:15:19:48:016771 gpactivatestandby:l-test6:gpadmin-[INFO]:-Standby data directory    = /export/gp_data/master/gpseg-1
    20180211:15:19:48:016771 gpactivatestandby:l-test6:gpadmin-[INFO]:-Standby port              = 65432
    20180211:15:19:48:016771 gpactivatestandby:l-test6:gpadmin-[INFO]:-Standby running           = yes
    20180211:15:19:48:016771 gpactivatestandby:l-test6:gpadmin-[INFO]:-Force standby activation  = no
    .
    .
    .
    
    切换服务器vip
    
    原master节点服务器卸载vip:
    [root@l-test5 ~]# 
    [root@l-test5 ~]# ip a d 10.0.0.1/32 brd + dev bond0
    
    -----------
    原standby节点服务器挂载vip:
    
    [root@l-test6 ~]# 
    [root@l-test6 ~]# ip a a  10.0.0.1/32 brd + dev bond0 && arping -q -c 3 -U -I bond0 10.0.0.1
    
    指定新的standby节点
    
    我们指定原master节点为新的standby节点服务器
    
    需要先删除原master的数据文件,然后重新执行初始化standby节点即可
    
    [gpadmin@l-test6 ~]$ gpinitstandby -a -s l-test5
    20180211:15:28:56:019106 gpinitstandby:l-test6:gpadmin-[INFO]:-Validating environment and parameters for standby initialization...
    20180211:15:28:56:019106 gpinitstandby:l-test6:gpadmin-[INFO]:-Checking for filespace directory /export/gp_data/master/gpseg-1 on l-test5
    20180211:15:28:56:019106 gpinitstandby:l-test6:gpadmin-[ERROR]:-Filespace directory already exists on host l-test5
    20180211:15:28:56:019106 gpinitstandby:l-test6:gpadmin-[ERROR]:-Failed to create standby
    20180211:15:28:56:019106 gpinitstandby:l-test6:gpadmin-[ERROR]:-Error initializing standby master: master data directory exists
    ----------注意,这步是在原master节点操作-------
    [gpadmin@l-test5 ~]$ cd /export/gp_data/master/
    [gpadmin@l-test5 /export/gp_data/master]$ ll
    total 4
    drwx------ 17 gpadmin gpadmin 4096 Feb 11 15:17 gpseg-1
    [gpadmin@l-test5 /export/gp_data/master]$ rm -rf gpseg-1/
    [gpadmin@l-test5 /export/gp_data/master]$ ll
    total 0
    [gpadmin@l-test5 /export/gp_data/master]$ 
    ----------
    
    [gpadmin@l-test6 ~]$ gpinitstandby -a -s l-test5
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Validating environment and parameters for standby initialization...
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Checking for filespace directory /export/gp_data/master/gpseg-1 on l-test5
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:------------------------------------------------------
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Greenplum standby master initialization parameters
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:------------------------------------------------------
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Greenplum master hostname               = l-test6
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Greenplum master data directory         = /export/gp_data/master/gpseg-1
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Greenplum master port                   = 65432
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Greenplum standby master hostname       = l-test5
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Greenplum standby master port           = 65432
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Greenplum standby master data directory = /export/gp_data/master/gpseg-1
    20180211:15:30:55:019592 gpinitstandby:l-test6:gpadmin-[INFO]:-Greenplum update system catalog         = On
    .
    .
    

    standby 服务器故障

    当standby节点服务器恢复后,需要将standby节点删除,然后重新初始化一下standby服务器即可
    
    在master服务器上查看整个greenplum集群状态,我们发现[WARNING]:-Standby master state
    
    [gpadmin@l-test5 ~]$ gpstate
    20180209:16:32:19:007208 gpstate:l-test5:gpadmin-[INFO]:-Starting gpstate with args: 
    20180209:16:32:19:007208 gpstate:l-test5:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3'
    20180209:16:32:19:007208 gpstate:l-test5:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3) on x86_64-pc-linux-gnu, compi
    led by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jan 22 2018 18:15:33'
    20180209:16:32:19:007208 gpstate:l-test5:gpadmin-[INFO]:-Obtaining Segment details from master...
    20180209:16:32:19:007208 gpstate:l-test5:gpadmin-[INFO]:-Gathering data from segments...
    20180209:16:32:21:007208 gpstate:l-test5:gpadmin-[INFO]:-Greenplum instance status summary
    20180209:16:32:21:007208 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180209:16:32:21:007208 gpstate:l-test5:gpadmin-[INFO]:-   Master instance                                           = Active
    20180209:16:32:21:007208 gpstate:l-test5:gpadmin-[INFO]:-   Master standby                                            = l-test6
    20180209:16:32:21:007208 gpstate:l-test5:gpadmin-[WARNING]:-Standby master state                                      = Standby host DOWN   
    .
    .
    [gpadmin@l-test5 ~]$ gpstate -f
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-Starting gpstate with args: -f
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3'
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3) on x86_64-pc-linux-gnu, compi
    led by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jan 22 2018 18:15:33'
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-Obtaining Segment details from master...
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-Standby master details
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-----------------------
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-   Standby address          = l-test6
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-   Standby data directory   = /export/gp_data/master/gpseg-1
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-   Standby port             = 65432
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[WARNING]:-Standby PID              = 10480                            Have lock file /tmp/.s.PGSQL.65432.lock but no process running on port 65432   <<<<<<<<
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[WARNING]:-Standby status           = Status could not be determined   <<<<<<<<
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:--pg_stat_replication
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:-No entries found.
    20180209:16:38:41:008728 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    
    1、删除故障的standby节点
    
    [gpadmin@l-test5 ~]$ gpinitstandby -r -a
    20180209:16:52:04:011917 gpinitstandby:l-test5:gpadmin-[INFO]:------------------------------------------------------
    20180209:16:52:04:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Warm master standby removal parameters
    20180209:16:52:04:011917 gpinitstandby:l-test5:gpadmin-[INFO]:------------------------------------------------------
    20180209:16:52:04:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum master hostname               = l-test5
    20180209:16:52:04:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum master data directory         = /export/gp_data/master/gpseg-1
    20180209:16:52:04:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum master port                   = 65432
    20180209:16:52:04:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum standby master hostname       = l-test6
    20180209:16:52:04:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum standby master port           = 65432
    20180209:16:52:04:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum standby master data directory = /export/gp_data/master/gpseg-1
    20180209:16:52:18:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Removing standby master from catalog...
    20180209:16:52:18:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Database catalog updated successfully.
    20180209:16:52:18:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Removing filespace directories on standby master...
    20180209:16:52:18:011917 gpinitstandby:l-test5:gpadmin-[INFO]:-Successfully removed standby master
    
    2、重新初始化standby节点
    [gpadmin@l-test5 ~]$ gpinitstandby -s l-test6 -a
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Validating environment and parameters for standby initialization...
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Checking for filespace directory /export/gp_data/master/gpseg-1 on l-test6
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:------------------------------------------------------
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum standby master initialization parameters
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:------------------------------------------------------
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum master hostname               = l-test5
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum master data directory         = /export/gp_data/master/gpseg-1
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum master port                   = 65432
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum standby master hostname       = l-test6
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum standby master port           = 65432
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum standby master data directory = /export/gp_data/master/gpseg-1
    20180209:16:59:08:013723 gpinitstandby:l-test5:gpadmin-[INFO]:-Greenplum update system catalog         = On
    .
    .
    
    3、检查standby 的配置信息
    
    [gpadmin@l-test5 ~]$ gpstate -f
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-Starting gpstate with args: -f
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3'
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3) on x86_64-pc-linux-gnu, compi
    led by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jan 22 2018 18:15:33'
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-Obtaining Segment details from master...
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-Standby master details
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-----------------------
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-   Standby address          = l-test6
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-   Standby data directory   = /export/gp_data/master/gpseg-1
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-   Standby port             = 65432
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-   Standby PID              = 19057
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:-   Standby status           = Standby host passive
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:--pg_stat_replication
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:--WAL Sender State: streaming
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:--Sync state: sync
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:--Sent Location: 0/14000000
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:--Flush Location: 0/14000000
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:--Replay Location: 0/14000000
    20180209:16:59:18:013939 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    

    segment 节点故障

    当一个primary segment节点故障,那么它所对应的mirror segment节点会接替primary的状态,继续保证整个集群的数据完整性
    
    当一个mirror segment节点出现故障,它不会影响整个集群的可用性,但是需要尽快修复,保证所有的primary segment都有备份
    
    如果primary segment 和 它所对应的mirror segment 节点都出现故障,那么greenplum认为集群数据不完整,整个集群将不再提供服务,直到primary segment 或 mirror segment恢复
    
    修复segment节点,需要重启greenplum集群
    
    primary segment节点和mirror segment节点的故障修复方式是一样的,这里以mirror节点故障为例
    关闭一个节点后集群状态
    
    [gpadmin@l-test7 ~]$ pg_ctl -D /export/gp_data/mirror/data4/gpseg23 stop -m fast
    waiting for server to shut down.... done
    server stopped
    
    --------master节点执行-------
    [gpadmin@l-test5 ~]$ gpstate 
    20180211:16:17:12:005738 gpstate:l-test5:gpadmin-[INFO]:-Starting gpstate with args: 
    20180211:16:17:12:005738 gpstate:l-test5:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3'
    20180211:16:17:12:005738 gpstate:l-test5:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3) on x86_64-pc-linux-gnu, compi
    led by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jan 22 2018 18:15:33'
    20180211:16:17:12:005738 gpstate:l-test5:gpadmin-[INFO]:-Obtaining Segment details from master...
    20180211:16:17:12:005738 gpstate:l-test5:gpadmin-[INFO]:-Gathering data from segments...
    .
    .
    .
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-   Mirror Segment Status
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-   Total mirror segments                                     = 24
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-   Total mirror segment valid (at master)                    = 23
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[WARNING]:-Total mirror segment failures (at master)                 = 1                      <<<<<<<<
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[WARNING]:-Total number of postmaster.pid files missing              = 1                      <<<<<<<<
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid files found                = 23
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[WARNING]:-Total number of postmaster.pid PIDs missing               = 1                      <<<<<<<<
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-   Total number of postmaster.pid PIDs found                 = 23
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[WARNING]:-Total number of /tmp lock files missing                   = 1                      <<<<<<<<
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-   Total number of /tmp lock files found                     = 23
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[WARNING]:-Total number postmaster processes missing                 = 1                      <<<<<<<<
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-   Total number postmaster processes found                   = 23
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-   Total number mirror segments acting as primary segments   = 0
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-   Total number mirror segments acting as mirror segments    = 24
    20180211:16:17:14:005738 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    
    
    [gpadmin@l-test5 ~]$ gpstate -m
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:-Starting gpstate with args: -m
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3'
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3) on x86_64-pc-linux-gnu, compi
    led by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jan 22 2018 18:15:33'
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:-Obtaining Segment details from master...
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:--Current GPDB mirror list and status
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:--Type = Spread
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:-   Mirror              Datadir                                Port    Status    Data Status    
    .
    .
    .
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:-   l-test12   /export/gp_data/mirror/data3/gpseg22   50002   Passive   Synchronized
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[WARNING]:-l-test7    /export/gp_data/mirror/data4/gpseg23   50003   Failed                   <<<<<<<<
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    20180211:16:17:30:005969 gpstate:l-test5:gpadmin-[WARNING]:-1 segment(s) configured as mirror(s) have failed
    
     
    [gpadmin@l-test5 ~]$ gpstate -e
    20180211:16:17:35:006045 gpstate:l-test5:gpadmin-[INFO]:-Starting gpstate with args: -e
    20180211:16:17:35:006045 gpstate:l-test5:gpadmin-[INFO]:-local Greenplum Version: 'postgres (Greenplum Database) 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3'
    20180211:16:17:35:006045 gpstate:l-test5:gpadmin-[INFO]:-master Greenplum Version: 'PostgreSQL 8.3.23 (Greenplum Database 5.4.1 build commit:4eb4d57ae59310522d53b5cce47aa505ed0d17d3) on x86_64-pc-linux-gnu, compi
    led by GCC gcc (GCC) 6.2.0, 64-bit compiled on Jan 22 2018 18:15:33'
    20180211:16:17:35:006045 gpstate:l-test5:gpadmin-[INFO]:-Obtaining Segment details from master...
    20180211:16:17:35:006045 gpstate:l-test5:gpadmin-[INFO]:-Gathering data from segments...
    .. 
    20180211:16:17:37:006045 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:17:37:006045 gpstate:l-test5:gpadmin-[INFO]:-Segment Mirroring Status Report
    20180211:16:17:37:006045 gpstate:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:17:37:006045 gpstate:l-test5:gpadmin-[INFO]:-Primaries in Change Tracking
    20180211:16:17:37:006045 gpstate:l-test5:gpadmin-[INFO]:-   Current Primary    Port    Change tracking size   Mirror             Port
    20180211:16:17:37:006045 gpstate:l-test5:gpadmin-[INFO]:-   l-test9   40003   128 bytes              l-test7   50003
    
    关闭整个greenplum集群
    
    [gpadmin@l-test5 ~]$ gpstop -a -M fast
    .
    .
    .
    20180211:16:25:00:008223 gpstop:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:25:00:008223 gpstop:l-test5:gpadmin-[INFO]:-   Segments stopped successfully                              = 48
    20180211:16:25:00:008223 gpstop:l-test5:gpadmin-[INFO]:-   Segments with errors during stop                           = 0
    20180211:16:25:00:008223 gpstop:l-test5:gpadmin-[INFO]:-   
    20180211:16:25:00:008223 gpstop:l-test5:gpadmin-[WARNING]:-Segments that are currently marked down in configuration   = 1    <<<<<<<<
    20180211:16:25:00:008223 gpstop:l-test5:gpadmin-[INFO]:-            (stop was still attempted on these segments)
    20180211:16:25:00:008223 gpstop:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    .
    .
    .
    
    以restricted方式启动数据库
    [gpadmin@l-test5 ~]$ gpstart -a -R 
    .
    . 
    20180211:16:25:22:008571 gpstart:l-test5:gpadmin-[INFO]:-Process results...
    20180211:16:25:22:008571 gpstart:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:25:22:008571 gpstart:l-test5:gpadmin-[INFO]:-   Successful segment starts                                            = 47
    20180211:16:25:22:008571 gpstart:l-test5:gpadmin-[INFO]:-   Failed segment starts                                                = 0
    20180211:16:25:22:008571 gpstart:l-test5:gpadmin-[INFO]:-   Skipped segment starts (segments are marked down in configuration)   = 0
    20180211:16:25:22:008571 gpstart:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:25:22:008571 gpstart:l-test5:gpadmin-[INFO]:-Successfully started 47 of 47 segment instances 
    20180211:16:25:22:008571 gpstart:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:25:22:008571 gpstart:l-test5:gpadmin-[INFO]:-Starting Master instance l-test5 directory /export/gp_data/master/gpseg-1 in RESTRICTED mode
    20180211:16:25:23:008571 gpstart:l-test5:gpadmin-[INFO]:-Command pg_ctl reports Master l-test5 instance active
    20180211:16:25:23:008571 gpstart:l-test5:gpadmin-[INFO]:-Starting standby master
    20180211:16:25:23:008571 gpstart:l-test5:gpadmin-[INFO]:-Checking if standby master is running on host: l-test6  in directory: /export/gp_data/master/gpseg-1
    20180211:16:25:24:008571 gpstart:l-test5:gpadmin-[INFO]:-Database successfully started
    
    开始修复故障节点
    
    [gpadmin@l-test5 ~]$ gprecoverseg -a
    .
    .
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-Greenplum instance recovery parameters
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:----------------------------------------------------------
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-Recovery type              = Standard
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:----------------------------------------------------------
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-Recovery 1 of 1
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:----------------------------------------------------------
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Synchronization mode                        = Incremental
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Failed instance host                        = l-test7
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Failed instance address                     = l-test7
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Failed instance directory                   = /export/gp_data/mirror/data4/gpseg23
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Failed instance port                        = 50003
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Failed instance replication port            = 51003
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Recovery Source instance host               = l-test9
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Recovery Source instance address            = l-test9
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Recovery Source instance directory          = /export/gp_data/primary/data4/gpseg23
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Recovery Source instance port               = 40003
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Recovery Source instance replication port   = 41003
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-   Recovery Target                             = in-place
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:----------------------------------------------------------
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-1 segment(s) to recover
    20180211:16:25:38:009108 gprecoverseg:l-test5:gpadmin-[INFO]:-Ensuring 1 failed segment(s) are stopped
    . 
    .
    
    检查集群修复状态
    
    一直等到Data Status 这个属性全部都是Synchronized即可进行下一步操作
    
    [gpadmin@l-test5 ~]$ gpstate -m
    .
    20180211:16:25:51:009237 gpstate:l-test5:gpadmin-[INFO]:-   Mirror              Datadir                                Port    Status    Data Status       
    20180211:16:25:51:009237 gpstate:l-test5:gpadmin-[INFO]:-   l-test11   /export/gp_data/mirror/data1/gpseg0    50000   Passive   Synchronized
    .
    .
    20180211:16:25:51:009237 gpstate:l-test5:gpadmin-[INFO]:-   l-test7    /export/gp_data/mirror/data4/gpseg23   50003   Passive   Resynchronizing
    20180211:16:25:51:009237 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    
    [gpadmin@l-test5 ~]$ 
    [gpadmin@l-test5 ~]$ gpstate -m
    .
    .
    20180211:16:31:54:010763 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    20180211:16:31:54:010763 gpstate:l-test5:gpadmin-[INFO]:-   Mirror              Datadir                                Port    Status    Data Status    
    20180211:16:31:54:010763 gpstate:l-test5:gpadmin-[INFO]:-   l-test11   /export/gp_data/mirror/data1/gpseg0    50000   Passive   Synchronized
    .
    .
    20180211:16:31:54:010763 gpstate:l-test5:gpadmin-[INFO]:-   l-test7    /export/gp_data/mirror/data4/gpseg23   50003   Passive   Synchronized
    20180211:16:31:54:010763 gpstate:l-test5:gpadmin-[INFO]:--------------------------------------------------------------
    
    重启greenplum集群
    
    [gpadmin@l-test5 ~]$ gpstop -a -r
    .
    .
    20180211:16:36:43:012012 gpstop:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:36:43:012012 gpstop:l-test5:gpadmin-[INFO]:-   Segments stopped successfully      = 48
    20180211:16:36:43:012012 gpstop:l-test5:gpadmin-[INFO]:-   Segments with errors during stop   = 0
    20180211:16:36:43:012012 gpstop:l-test5:gpadmin-[INFO]:-----------------------------------------------------
    20180211:16:36:43:012012 gpstop:l-test5:gpadmin-[INFO]:-Successfully shutdown 48 of 48 segment instances 
    20180211:16:36:43:012012 gpstop:l-test5:gpadmin-[INFO]:-Database successfully shutdown with no errors reported
    20180211:16:36:43:012012 gpstop:l-test5:gpadmin-[INFO]:-Cleaning up leftover gpmmon process
    20180211:16:36:44:012012 gpstop:l-test5:gpadmin-[INFO]:-No leftover gpmmon process found
    20180211:16:36:44:012012 gpstop:l-test5:gpadmin-[INFO]:-Cleaning up leftover gpsmon processes
    20180211:16:36:44:012012 gpstop:l-test5:gpadmin-[INFO]:-No leftover gpsmon processes on some hosts. not attempting forceful termination on these hosts
    20180211:16:36:44:012012 gpstop:l-test5:gpadmin-[INFO]:-Cleaning up leftover shared memory
    20180211:16:36:44:012012 gpstop:l-test5:gpadmin-[INFO]:-Restarting System...
    展开全文
  • 损坏的文件还能修复文档损坏的修复方法(转)[@more@] 有些朋友尝试通过软件进行数据恢复,我们发现,许多恢复出来的文件出现了无法打开的现象;另外,一些用户的电脑遭受病毒破坏后也出现过文件无法打开的现象,这些...
    损坏的文件还能修复文档损坏的修复方法(转)[@more@]

      有些朋友尝试通过软件进行数据恢复,我们发现,许多恢复出来的文件出现了无法打开的现象;另外,一些用户的电脑遭受病毒破坏后也出现过文件无法打开的现象,这些现象都属于“文档损坏”。损坏的文件还能修复吗?

      

      文档损坏有时是文件引导(也就是文件头)部分损坏导致的,对于每一种类型的文件来说,其文件头的格式都是相同的,我们可以通过一些16进制的编辑软件将正常文件头提取出来,然后通过比较把有问题的文件头重新修改就可以进行文档修复了!现在就用比较常见的Word文档举例来看一下!(注意Word版本。)

      

      下边这些数字是通过Winhex这个软件打开的一个正常的Word文件的文件头:

      

      D0 CF 11 E0 A1 B1 1A E1 00 00 00 00 00 00 00 00

      00 00 00 00 00 00 00 00 3E 00 03 00 FE FF 09 00

      06 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00

      21 00 00 00 00 00 00 00 00 10 00 00 23 00 00 00

      01 00 00 00 FE FF FF FF 00 00 00 00 20 00 00 00

      

      我们再用相同的方法打开一个损坏的Word文件的文件头,然后比较文件头部分是否相同,如果不同则很有可能是文件头损坏所致,可以通过Winhex进行修复。

      

      另外有些文件损坏是由于文件结构混乱所致使的,这种情况恢复后的文件完整性可能会损坏,而且恢复过程比较复杂,在这里也就不多介绍了。


    来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8403220/viewspace-941095/,如需转载,请注明出处,否则将追究法律责任。

    转载于:http://blog.itpub.net/8403220/viewspace-941095/

    展开全文
  • PDF文档修复工具软件

    2018-12-05 21:35:07
    PDF文档修复工具软件,当pdf文档被破坏后可以使用这个小工具进行修复文档,祝大家都能修复自己的文档!
  • 文档损坏是一般用户在进行文档操作的过程中经常遇到的情形,从表象上看,文档在日常使用中反复经常打开、编辑、保存,一个不当的操作会使得文档打开时提示错误,造成损坏,而
  • 如果对Office文档的结构进行更深入的研究,将会发现更好的修复方法, 从而挽救更多的数据,并有可能开发出能对各类受损Office文档自动进行全面恢复的工具软件。但是对于一些并不了解文档结构的人可以尝试以下的数据...

    本文章介绍的Office文档的数据恢复的原理和程序设计方法,都来源于对Office文档结构的分析。如果对Office文档的结构进行更深入的研究,将会发现更好的修复方法, 从而挽救更多的数据,并有可能开发出能对各类受损Office文档自动进行全面恢复的工具软件。但是对于一些并不了解文档结构的人可以尝试以下的数据恢复方法。

    一、利用Office 2003软件挽救文档中的数据

    每一个Office文档的受损程度都是各不相同的。打开一个Office文档时,可能出现三种情况。正常的情况是,打开该文档就可以获得该文档的完整内容,而不需要任何处理。第二种情况是打开该文档后,看到了部分文档内容,但文档中有乱码出现,说明该文档的主体内容遭到了损坏,一般而言,挽救工作也就到此结束,乱码部分需要根据原稿重新录入。最后一种也是最糟糕的情况是,当双击该文件名企图打开文档时,系统出现了一个错误提示,如“文档的名称或路径无效”,根本无法打开该文档。要挽救这类受损Office文档,首先可以考虑利用Office软件自身实现。

    Office 2003软件功能强大,它本身也提供了一个修复文档的功能,用于修复文档结构被破坏后的文档中的文本信息。下面以修复一个受损的Excel文档test.xls为例,介绍Office 2003软件的文档自修复功能。

    Excel 2003这个功能位于“打开”按钮的右侧下拉菜单中(见图7-7),它是“打开”下拉菜单。在“打开”下拉式选项中,有一个“打开并修复”选项。

    文档数据恢复;文档损坏

    图7-7 Office 2003文档自修复菜单

    先选择受损的Excel文档,再选择该选项,即可看到如图7-8所示的对话框,单击“修 复”按钮,就可看到该受损文档中的表格内容,删除表格信息中的“混乱”信息即可完 成数据挽救任务。

    文档修复;文档数据恢复

    图7-8修复选择界面

    如果单击“提取数据”按钮,则看到如图7-9所示的对话框。

    文档数据恢复;文档乱码修复

    图7-9

    此时建议“转换到值”和“恢复公式”两项选项都选择试一试,比较两个恢复结果,保留其中恢复效果较好的结果。
    由于原文档已经受损,所以此时恢复的文档中,原文档中若含有某些公式、格式控 制符、图形图像、宏等非文本信息,可能无法恢复,只能实现部分资料的挽救。

    在实际操作过程中,若碰到一些受损严重的文档,即使利用“从任意文件中恢复文本”选项也无法打开该文档。要挽救这类受损文档中的数据,必须进一步分析。

    如果一种数据恢复软件提供了多种恢复方式,建议尝试每一种恢复方式,从多个恢复结果中,选择出一个最佳的结果。

    二、利用软件修复Office文档

    能够编写数据恢复程序的人毕竟是少数,大多数人还是选用现成的数据修复软件修复文件。目前可以选用的Office文档修复软件虽然种类繁多,但它们的功能相近,使用方法类似,恢复效果也相差不大。下面仅介绍一个最常用的文档恢复工具,起一个抛砖引玉的作用。

    当要恢复的文件有一定的损坏时,被损坏的文本文件或者图形文件中未损坏部分的内容仍可看到。由于微软的Office系列文档是复合文件结构,所以即使文件被恢复出来,但部分损坏,也不能正确打开。为此,FinalData特别提供一种“修复Office文件”的功能,可以修补文件破损部分或者将未破损部分内容提取出来使之可用,该功能支持Word、Excel、PowerPoint文件。之所以介绍FinalData,原因是经测试该软件在修复中文Office文档方面,与同类产品相比,效果较好。

    用Final Data修复Office文档的方法非常简单,当试图恢复一个Microsoft Office文件时,可以单击该文件,然后从“Office文件修复(O)”菜单中的“Microsoft Excel文件修复(E)”、“Microsoft PowerPoint文件修复(P)”、“Microsoft Word文件修复(W)”选项中选择文件的类型,此时将启动Office文件修复向导。向导将帮助检查文件可恢复的程度,然后对文件进行恢复。

    如图7-10所示,这是一个通过FinalData企业版恢复的Word文件a.doc,在磁盘扫描后发现丢失的文件并标明它是一个破损文件(即已有部分数据被其他文件覆盖)。恢复之后用Word打开,显示的全部都是乱码,初步判断是因为文件破损导致的Word标志位缺失或者格式控制紊乱。

    数据恢复;文档乱码修复

    图7-10受损的Word文档

    启动FinalData专业版,选择文件所在的分区,选择文件a.doc,并依次选择“Office 文件修复(0)”一“Microsoft Word文件修复(W)”。

    在Word修补窗口将显示此Word文件的基本信息,如文件名称、创建日期、修改日期等,但文件破损后这些信息通常是得不到的。直接单击该窗口的“下一步”按钮,将弹出如图7-11所示的窗口,单击“检查率(R)”按钮,可以检测文件受损的程度,该文件属于L1级的较轻微破损,有希望修复(如果文件属于L4级,基本就没有修复希望了)。

    文件损坏;文档乱码恢复;数据恢复

    图7-11

    在随后出现的窗口中“保存位置”区选择保存修复结果的路径,就可以单击“开始 恢复”按钮修复了。修复速度非常快,大约只需要几秒钟到十几秒钟就可完成。

    文档恢复;乱码恢复

    图7-12

    修复完成后,在给定的保存路径中就可以找到修复后的Word文件,图7-12是用Word 打开的修复后的文件。从图7-12可以看出,文件内容已经可以被识别,修复结果十分完美。

    展开全文
  • <div><p>修复文档中submitText的描述和默认值</p><p>该提问来源于开源项目:ant-design/pro-table</p></div>
  • WORD文档修复

    2018-07-14 15:23:37
    WORD乱码数据修复。基本可以。特别是数据恢复后乱码的问题
  • office文档修复软件

    2018-11-25 11:32:59
    officefix是一款OFFICE文档修复软件,总共支持四种文档,一般办公主要用到word和excel这2种。
  • 专业消灭乱码打开一份重要的文档,却发现是一堆乱码,怎么办?金山文档修复可以帮你找回!立即修复解决文档难题开会前准备好的重要文档打不开了,怎么办?金山文档修复,救急只
  • 修复PDF文档无法打开

    2017-05-19 20:51:00
    修复使用软件PDF Recovery Toolbox,下载地址以及注册码...(1)用其他pdf阅读器打开修复文档,可以显示全部文档内容。 (2)用adober reader 11.0可以打开,只显示第一页,其他页空白,但可以修复所有的注释(没...

    修复使用软件PDF Recovery Toolbox,下载地址以及注册码

    链接:http://pan.baidu.com/s/1o80TvN8 密码:w9g1

    修复后只能保存为adober reader 8.0或者7.0。

    (1)用其他pdf阅读器打开修复后文档,可以显示全部文档内容。

    (2)用adober reader 11.0可以打开,只显示第一页,其他页空白,但可以修复所有的注释(没有尝试用adober reader 8.0或者7.0打开)。

    有原文档备份的情况下,在原文档中加入修复后文件的注释:

    (1)用adober reader 打开修复后的文件(什么版本的adober reader都可以),导出注释

    (2)用adober reader 打开备份的原文件,导入刚刚导出的数据文件即可。

    即可获得与原来一样的带有所有注释的文档,还是多备份吧!

     

    转载于:https://www.cnblogs.com/lebudian/p/6880237.html

    展开全文
  • word文档修复工具

    2011-12-01 08:16:50
    当你的word文档出现乱码时或打不开的时候,心一定不要慌乱,首先要做的是要查看文件相应位置是否存在这个文档的备份文件,以~开头的,然后修改扩展名为.doc,再打开;其次就关闭word软件,再打开时自动恢复原最后...
  • word2003文档修复工具

    2013-05-07 01:22:27
    word2003文档修复工具. OK
  • 修复大部份(90%)损坏的word文档,很不错的修复工具。
  • 监控修复记录文档

    千次阅读 2017-01-09 14:06:58
    目标:尽最大努力修复监控系统,尽可能减少干扰。P.S:根据一些专业的安防监控论坛,大部分人都推荐“海康”的摄像头,应该不是托吧。。。监控现在布局: 1) 采用两个集中供电电源用于给予所有摄像头供电。 2) 两个...
  • DocRepair(文档修复

    2012-07-08 16:44:09
    DocRepair(文档修复),解决word文档出现的一些额问题。
  • word 文档修复

    2011-02-14 14:50:07
    一、文档格式法 这种方法是将损坏的Word文档转换为另一种格式,然后再将它转换回Word文档格式。这是最简单和最彻底的文档恢复方法。所以如果遇到显示混乱的情况,推荐首先使用这种方法。步骤如下: 1.在Word...
  • 如何修复Word文档XML提示错误提示所需工具方法步骤 错误提示 所需工具 可视化XML编辑器(foxechs) 方法步骤 1.将docx文档解压,找到word/document.xml文件,用foxechs打开,然后工具-缩进排版,也可以直接按F8。这时...
  • 最强office文档修复工具,支持excel、PPT、word文档。压缩里2款工具
  • 本文章介绍的Office文档的数据恢复的原理和程序设计方法,都来源于对Office文档结构的...如果对Office文档的结构进行更深入的研究,将会发现更好的修复方法, 从而挽救更多的数据,并有可能开发出能对各类受损Offi...
  • 在前面讲述了修复损坏的Word文档的方法有文档格式法、重设格式法、"打开并修复"文件、从任意文件中恢复文本等。如果使用上述方法都不能成功恢复,此 时只能借助专业的数据恢复软件,Easy Recovery因其功能强大,而...
  • 如何修复word文档

    2006-08-29 10:37:39
    其实,您不必心焦,因为我们还是有一些方法可以修复损坏文档,恢复受损文档中的文字。下面是具体的步骤。  1 采用专用修复功能 ①在“文件”菜单上,单击“打开”。 ②在“查找范围”列表中,单击包含要打开的...
  • office word文档修复

    2011-05-17 11:04:32
    小巧的一个工具,专门修复word文档,感觉还不错~~ 支持内嵌图片的修复(这个效果因人而异) 有word文档(只支持doc格式,不支持docx格式)损坏的,不妨试一试这个。
  • 已损坏文档修复

    2013-05-17 16:25:38
    若要打开并尝试修复,请使用“文件”菜单中的“打开...”选择文档,然后浏览到损坏的文件,并在其上单击一次。不要选择对话框右下角的“打开”按钮打开文件,而应选择按钮右边的向下箭头,然后从列表中选
  • 修复日志文档丢失

    2014-08-02 15:16:47
    模拟丢失 select member from v$logfile where group#=1; rm -rf /home/oracle/redo01b.log 转换日志组, 由于每组文件不唯一 ...
  • word文档修复器.EXE

    2009-05-30 16:22:55
    word文档修复器.EXE 用于一般文档修复,效果很好!
  • 修复方案设计文档

    2018-06-27 13:04:46
    本文主要描述完整可行的热修复技术设计方案,给出客户端与服务器端的相应改造, 并介绍核心实现原理、分析主流框架的优劣势.由于与插件化开发有一定重叠,因此也简单 介绍插件化应用的原理. 整体方案 背景 当...
  • Word文档修复实战

    2017-11-28 22:15:00
    但是仍然有部分文件是不正常的,比如word文档打开后会提示你选择编码,这时无论你选择什么编码结果都是乱码。但是文件都是有大小的,凭借经验判断只是文件损坏了,应该可以恢复回来的。 今日终于成功解决这个问题,...
  • 那在电脑中安装了相关的软件来使用的时候有系哦啊伙伴在写文档的时候发现word文档出现页码的问题,页码不能连接在一起的情况我们应该怎么办呢,今天小编就来跟大家分享一下修复word文档页码出错不连续的详细步骤。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,363
精华内容 1,745
关键字:

修复文档