Windows 中文用户启动服务失败

一. 背景

  1. 铁建项目客户开发机器无法启动 MES(4.0)服务
  2. oracle 实例正常启动,PlSql 连接数据库正常
  3. oracle 客户做的 Rac
  4. EpicHust 开发人员的开发环境正常启动,配置连接和客户开发一致

二. 排查

  1. 查看启动服务错误信息
    1.jpg
  2. 猜测怀疑是 Windows 用户中文名问题,修改注册表改为英文后 SQL Developer 连接成功,PLSQL 配置 OCI 后也能连接。此时启动服务仍然报错。
  3. 尝试使用 OCI 连接模式连接数据库,仍然失败。
    错误信息 errorCode 17002, state 08006
  4. 继续排查 java.sql.SQLRecoverableException: IO 错误: Undefined Error 在加上之前中文用户的前提找到文章:
    https://blog.csdn.net/weixin_42889176/article/details/106083909
    2.png
  5. 基本断定是和中文用户有关,开始解决:在 IDEA 启动参数 vm argument 上增加一段 
    -Duser.name=user
    3.png
    4.png
  6. 再次启动服务,成功启动
  7. 参考连接
    https://blog.csdn.net/weixin_42889176/article/details/106083909~~~~