万户oa并没有直接获取域控的GUID,所以无法直接修改,需要同步一次后得到oa中新guid在使用。
1、 生产机:发布公告晚上7点后停止OA服务
2、 生产机:备份OA数据库
3、 生产机:备份并修改OA配置文件 whconfig.xml断开老域控,连接新域控,服务不启动。
<!--AD域 -->
<LdapConfig use="1">
<Property name="use" value="1"/>
<Property name="LdapBase" value="ou=xxxxx,dc=xxxxx,dc=com"/>
<Property name="AutoSync" value="1"/>
<Property name="interval" value="1"/>
<LdapOrgInfo>
<Property name="orgName" value="xxxxxx"/>
<Property name="orgLevel" value="-1"/>
<Property name="isCheckFlag" value="1"/>
</LdapOrgInfo>
<ContextProperty>
<Property name="java.naming.factory.initial" value="com.sun.jndi.ldap.LdapCtxFactory"/>
<Property name="java.naming.provider.url" value="ldap://ip"/>
<Property name="java.naming.ldap.version" value="3"/>
<Property name="java.naming.referral" value="follow"/>
<Property name="java.naming.security.authentication" value="simple"/>
<Property name="java.naming.security.credentials" value="oa.vvvvv.com"/>
<Property name="java.naming.security.principal" value="cn=oa,cn=Users,dc=xxxxx,dc=com"/>
<Property name="java.naming.security.protocol" value="http"/>
</ContextProperty>
<SystemProperty>
<Property name="javax.net.ssl.trustStore" value="D:\bea\jdk142_11\bin\security51.keystore"/>
<Property name="javax.net.ssl.trustStorePassword" value="xxxxxxxx"/>
</SystemProperty>
</LdapConfig>
新域控需要添加用户账号是 oa 密码自定义 xxxxxx
4、 测试机:还原数据库到测试环境,不启动应用服务
5、 生产机/测试机:备份 org_employee,org_organization,org_organizaiton_user 表(xxx_copy)
执行以下SQL 获取最大用户id
select emp_id, useraccounts, guid,LASTUPDATE from "ORG_EMPLOYEE" where USERISDELETED = 0 order by emp_id DESC -- 6864026
执行以下SQL 获取最大组织id
select org_id,orgparentorgid,orgnamestring,guid,lastupdate from "ORG_ORGANIZATION" where orgstatus = 0 order by org_id DESC -- 6847570
6、 启动测试环境服务,等待域控数据同步到测试环境
7、 关闭测试环境服务
执行以下SQL 导出域控生成最新用户Excel
select emp_id, useraccounts, guid,LASTUPDATE from "ORG_EMPLOYEE" where USERISDELETED = 0 and emp_id > 6864026
执行以下SQL 导出域控生成最新组织Excel
select org_id,orgparentorgid,orgnamestring,guid,lastupdate from ORG_ORGANIZATION where orgstatus = 0 and org_id > 6847570
在Excle中编写update 语句如附件
8、删除最新组织、用户、组织用户关系记录
delete from ORG_ORGANIZATION_USER where emp_id in(select emp_id from "ORG_EMPLOYEE" where USERISDELETED = 0 and emp_id > 6864026)
delete from "ORG_EMPLOYEE" where USERISDELETED = 0 and emp_id > 6864026
delete from ORG_ORGANIZATION where orgstatus = 0 and org_id > 6847570
select org_id,orgparentorgid,orgnamestring,guid,lastupdate from "ORG_ORGANIZATION_copy" where orgstatus = 0 order by org_id DESC -- 6847570
9、执行update,启动测试环境服务
10、再新域控中添加组织用户验证是否同步,用户组织是否被覆盖
11、如果无异常,在正式环境执行update 并启动服务