Author: Jin
Date: 20140827
System: Windows 2008 R2

从Windows 2008 R2迁移到Windows 2008 R2

linux版本迁移官方文档
http://answers.perforce.com/articles/KB_Article/Moving-a-Perforce-Server

从网上找来的参考步骤:
1、验证server完整性
p4 verify -q //...
2、停服务
p4 admin stop
3、创建checkpoint,用户回复p4root下的database文
p4d -r p4root -J journalfile -jc -z bkpdir/bkp (-z表示压缩选项,可选)
这么在bkpdir目录下会有bkp.ckp.1.gz文件(举例而已,没checkpoint一次就会+1)
4、同步或copy源文件(即全部depot文件)和bkpdir下的checkpoint文件到新服务器
5、在新服务器创建p4root目录用于恢复database文件
p4d -r p4root -z -jr bkp.ckp.1.gz
6、验证server完整性
p4 verify -q //....
7、启动新的服务
1)如果你的depot和journal文件在p4root下,就不用修改什么
2)如果新服务器和旧服务器目录结构一致,也不需要求该什么
3)否则就需要注意修改depot的root指到新服对应的源文件目

一、安装一台新的perforce
安装参考
http://www.cnblogs.com/itech/archive/2011/08/15/2139516.html

1.安装
双击安装 perforce64
主要安装目录 C:\Program Files\Perforce\
数据文件和版本文件 D:\Perforce\Server\
不用创建账号

2.关闭服务

二、迁移前准备工作
1.验证server完整性
无需登录
p4 verify -q //...
或者
p4 -C utf8 verify -q //...

2.停止服务
p4 admin stop

3.创建checkpoint
C:\Program Files\Perforce\Server>p4d -r "C:\Program Files\Perforce\Server" -J jo
urnalfile -jc -z "E:\back\pf-bak"
Checkpointing to E:\back\pf-bak.ckp.1.gz...
MD5 (E:\back\pf-bak.ckp.1) = 8404AD328AB9003BA754CB7298DE478C
Rotating journalfile to E:\back\pf-bak.jnl.0.gz...

三、迁移
1、将Server目录下的文件和
db.depot文件和备份文件
将db.depot 拷贝到 C:\Program Files\Perforce\Server 覆盖原文件
验证
p4 depots
把server下面的文件全部拷贝过去

5、在新服务器创建p4root目录用于恢复database文件
p4d -r p4root -z -jr bkp.ckp.1.gz
cd C:\Program Files\Perforce\Server
p4d -r "C:\Program Files\Perforce\Server" -z -jr "D:\Perforce\back\pf-bak.ckp.1.gz"
启动服务

6、验证server完整性
不需要登录
p4 verify -q //...
Unicode server permits only unicode enabled clients.
C:\Program Files\Perforce\Server>p4 -C utf8 verify -q
You don't have permission for this operation.
解决
http://www.cnblogs.com/pisceanfoot/archive/2008/07/02/1234306.html
你只要把perforce安装目录下面db.protect文件删掉就好了.之后security protect就解除了.
之后会自动创建一个,可以手动创建
p4 protect

7、启动新的服务
1)如果你的depot和journal文件在p4root下,就不用修改什么
2)如果新服务器和旧服务器目录结构一致,也不需要求该什么
3)否则就需要注意修改depot的root指到新服对应的源文件目

8、绑定原来的IP测试
另外再绑一个IP 测试

四、各种问题
p4 -u %P4USER% -C utf8 login
Unicode clients require a unicode enabled server.
解决办法:
http://www.cnblogs.com/marrco2005/archive/2013/03/07/2947944.html
/*进入perforce安装目录*/
cd C:\Program Files\Perforce\Server
p4d -xi
Server switched to Unicode mode.

C:\Users>p4 -u %P4USER% -C %P4CHARSET% login
Enter password:

04-29 04:11