
最近手头有个项目要上企业级项目管理平台绕不开 P6 EPPM 这套东西。团队讨论了几轮最终决定放在 Oracle Linux 上自建一是为了跟现有的 Oracle Database 环境对齐二是图个可控——毕竟这东西一旦跑起来后面几年都得自己维护。真动手才发现这套软件的安装门槛比普通 Java 应用高不少介质一大堆、依赖链条长、安装器对系统和数据库的脾气还挺挑。这篇就把我从零开始在一台 OEL 机器上把 P6 EPPM 跑通的完整过程整理出来包括组件关系、参数取值、安装器每一页怎么填、装完之后怎么验、以及我实际踩过的那些坑。适合两类人看一类是第一次接触 P6 EPPM、手上只有官方文档但不知道从哪下手的朋友另一类是装过一次但当时糊里糊涂、想搞清楚每一步在干什么的朋友。整个过程会涉及 Oracle Database、WebLogic、JDK、BI Publisher 这几个配套件但重点始终放在 P6 EPPM 本身。1. 先把图纸看清楚P6 EPPM 到底由哪些东西拼起来1.1 组件构成与依赖链条很多人第一次拿到 P6 EPPM 的安装介质会懵因为它不是一个双击就能装完的单体程序而是一套由多个中间件拼起来的组合。拆开看核心是三层。最底下是数据库层P6 需要一套关系型数据库来存项目数据、用户权限、报表元数据。主流选择是 Oracle Database也可以用 SQL Server但既然标题里写的是 OEL那数据库基本就是 Oracle 自家的产品好处是安装器对它的兼容性最好字符集、连接串这些细节不容易出岔子。中间是应用服务层P6 EPPM 的应用逻辑跑在 Oracle WebLogic Server 上安装器会帮你创建一个专门的 WebLogic 域把 P6 的应用包部署进去。这一层还带着 JDK 依赖版本不对会直接导致 WebLogic 起不来。最上面是接入层分两条路一条是浏览器访问的 Web 端也就是 EPPM 那个界面另一条是桌面客户端 P6 Professional装在 Windows 机器上可以连 EPPM 服务器也可以直连数据库。再加上 BI Publisher 做报表输出整条链路才算闭合。理解这个分层很关键因为它直接决定了排错思路。后面你遇到页面打不开先看 WebLogic 域起没起来登录报数据库错误就去查 JDBC 数据源报表出不来那八成是 BI Publisher 那边的问题。层次分明排查就不会像无头苍蝇。1.2 单机部署还是分布式部署官方文档一般会给两种拓扑单机和分布式。单机就是把数据库、WebLogic、P6 应用、BI Publisher 全塞一台机器分布式则是数据库单独一台应用服务器一台或多台前面再挂负载均衡。我这次的场景是内部使用、并发用户数在几十人这个量级直接选了单机。理由很实际部署简单、网络链路短、出问题好定位。代价是对机器配置要求高一些我给这台机器配了 16 核、32G 内存、500G 系统盘加独立数据盘跑下来余量还算舒服。如果你要上分布式有几点得提前想清楚。一是 P6 的应用服务器节点之间需要共享文件系统或者做会话同步这块官方有说明但配置起来不轻松二是 BI Publisher 如果独立部署网络和防火墙的放行规则要重新梳理三是数据库和应用服务器之间的网络延迟会直接影响页面响应跨机房部署要慎重。下面这张表是我总结的单机与分布式的取舍供参考对比维度单机部署分布式部署适用规模小团队、内部验证、几十人并发数百人以上、多组织、对外提供服务硬件要求单机配置要高内存 32G 起可横向拆分单机压力小部署复杂度低一次安装器走完高需分别安装并配置连接故障定位集中日志都在一处分散需逐层排查扩展性后期扩容要停机迁移可加节点扩展相对平滑备份恢复整机备份即可需分别备份数据库与应用配置我个人的建议是除非你明确知道并发量很大否则先单机跑通把业务验证完再考虑拆分。很多人一上来就照着最佳实践搞分布式结果卡在中间件配置上耗掉一周业务方早就等不及了。1.3 版本组合的兼容性红线这一条是我踩过坑之后最想强调的P6 EPPM 对配套件的版本有明确的兼容矩阵不是随便凑一套就能装。我这次用的组合是 OEL 7.9、Oracle Database 19c、JDK 8、WebLogic 12.2.1.x、P6 EPPM 19.12。这套组合在兼容性列表里是明确支持的装起来比较顺。如果你手上是更新的 P6 版本可能会要求 OEL 8、JDK 11 甚至更高WebLogic 的版本也可能跟着变。有两条红线特别容易忽视。第一是 JDK 版本WebLogic 对 JDK 的大版本很敏感用错版本会出现类加载失败、启动脚本报错这类问题而且报错信息往往看不出根因。第二是数据库字符集P6 要求数据库使用 AL32UTF8如果建库时手滑选了 ZHS16GBK安装器跑到一半会直接拒绝继续这时候返工代价很大——要么重建库要么用字符集转换工具两种都不轻松。所以动手前务必先翻一遍你手上那个 P6 版本对应的Certification Matrix文档把 JDK、WebLogic、数据库、操作系统的版本逐条对一遍三个小时的对表能省下三天的返工。2. 系统层准备OEL 这台机器要先打好底子2.1 操作系统初始化与内核参数装 Oracle 系软件系统层准备有一套固定动作做过 Oracle 数据库安装的朋友应该很熟悉这里我把针对 P6 场景需要额外注意的地方标出来。先做基础动作设置主机名并写进/etc/hosts这个不能省因为 WebLogic 建域时会拿主机名做绑定如果主机名解析不了后面启动会报各种奇怪的地址错误。关闭 SELinux 或者设成 permissive虽然理论上可以配置策略放行但实战中为了省事基本都关掉内网环境风险可控。防火墙要么关要么把后面用到的几个端口放行端口清单我在 2.3 节列。然后是内核参数写进/etc/sysctl.d/99-oracle.conffs.file-max 6815744 fs.aio-max-nr 1048576 kernel.sem 250 32000 100 128 kernel.shmmni 4096 kernel.shmall 1073741824 kernel.shmmax 4398046511104 net.core.rmem_default 262144 net.core.rmem_max 4194304 net.core.wmem_default 262144 net.core.wmem_max 1048576 net.ipv4.ip_local_port_range 9000 65500 net.core.netdev_max_backlog 3000 vm.swappiness 10执行sysctl -p /etc/sysctl.d/99-oracle.conf让它生效。这里shmmax和shmall是按 32G 内存机器给的保守值如果你机器内存更大可以按物理内存的一半来调。ip_local_port_range的下限之所以定在 9000是为了避开 P6 常用的 8006 和 BI Publisher 的 9704避免端口冲突。用户资源限制写在/etc/security/limits.d/99-oracle.conforacle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 oracle hard stack 32768nofile给到 65536 是有必要的WebLogic 跑起来之后打开的文件句柄数不少尤其是并发访问上来以后句柄不够会直接抛 Too many open files。2.2 用户、目录与权限规划统一用一个oracle用户来装所有组件组用oinstall和dba。这样做的原因是P6 安装器、WebLogic、数据库都习惯以这个身份运行文件权限天然一致省去了跨用户授权的麻烦。如果你公司有安全规范要求应用和数据库分用户那也行但要提前把目录的属主和组权限理清楚否则安装器中途写文件失败会很难查。目录规划我建议一开始就定好别边装边建目录用途建议容量/u01/app/oracle/product/19.0.0/dbhome_1数据库软件15G/u01/app/oracle/oraInventory安装清单2G/u01/app/oracle/middlewareWebLogic 与 P6 应用30G/u01/app/oracle/p6P6 安装目录20G/u02/oradata数据库数据文件按业务量起步 100G权限统一设成oracle:oinstall目录权限 775文件 664。安装前把umask设成 022避免安装出来的文件权限过严导致 WebLogic 读不到。2.3 网络端口与防火墙放行单机部署涉及的关键端口不多但每一个都不能漏端口所属组件用途1521Oracle Database数据库监听7001WebLogic AdminServer管理控制台8006P6 EPPM 应用浏览器访问入口9704BI Publisher报表服务访问7002WebLogic 管理端口SSL内部通信如果防火墙开着用firewall-cmd --permanent --add-port端口/tcp逐个放行然后firewall-cmd --reload。要注意 7002 这种 SSL 管理端口容易漏漏了之后受管服务器启动会卡在连接管理服务器这一步日志里报连接超时排查起来很费时间。另外提醒一句如果你的机器有多张网卡安装器会让你选择绑定哪个地址这一步选错了后面改起来麻烦。建议安装前先把不用的网卡 down 掉或者确认好主网卡的 IP避免安装器自动选了 Docker 网桥或者虚拟网卡的地址。2.4 安装介质清单核对P6 EPPM 的介质通常是一个压缩包集合下载下来要先核对完整性。我这次的清单大致如下P6 EPPM 应用服务器安装包含应用与安装器P6 Professional 客户端安装包Windows 版单独分发WebLogic Server 通用安装包JDK 8 安装包Oracle Database 19c 安装包BI Publisher 安装包部分版本已集成在 P6 安装器里核对的时候注意两点一是所有介质解压路径不要带中文和空格安装器在某些环节处理路径时不够健壮二是解压后检查文件权限有些压缩包解出来文件是 600会导致安装器读不到统一chmod -R 755一下最省事。3. 数据库与 JDK应用能不能跑起来看这两块3.1 数据库安装的关键取舍Oracle Database 19c 的安装本身是个成熟流程这里只讲跟 P6 相关的取舍点。第一是安装类型选仅安装软件再单独建库比安装并建库更可控。因为建库时的参数需要在 P6 的语境下重新审视分开做方便调整。第二是建库时的字符集必须选 AL32UTF8。这一步在建库向导里叫选择数据库字符集默认可能给你推 ZHS16GBK一定要手动改。原因前面说过P6 的安装器会检查这个值不匹配直接终止。我在第一次装的时候就吃过这个亏图省事用了默认字符集跑到 schema 初始化阶段报错最后整个库删掉重建。第三是数据库初始化参数P6 对连接数和游标数有要求建议在spfile里设成下面这样ALTER SYSTEM SET processes500 SCOPESPFILE; ALTER SYSTEM SET sessions755 SCOPESPFILE; ALTER SYSTEM SET open_cursors1000 SCOPESPFILE; ALTER SYSTEM SET sga_target6G SCOPESPFILE; ALTER SYSTEM SET pga_aggregate_target2G SCOPESPFILE;processes给到 500 是因为 P6 的应用服务器会维持一个连接池加上 BI Publisher 自己的连接池再加上运维用的客户端200 以下容易不够。open_cursors设成 1000 是为了应对复杂项目计划运算时的游标消耗设小了会报 ORA-01000。3.2 表空间与 schema 的预规划P6 安装器在初始化数据库时会自动创建几个 schema 用户分别承担不同职责。我在安装前先把表空间准备好让安装器直接往里写避免它用默认的 USERS 表空间把系统表空间撑大。建表空间的语句大致如下CREATE TABLESPACE P6_DATA DATAFILE /u02/oradata/p6/p6_data01.dbf SIZE 2G AUTOEXTEND ON NEXT 512M MAXSIZE 32G; CREATE TEMPORARY TABLESPACE P6_TEMP TEMPFILE /u02/oradata/p6/p6_temp01.dbf SIZE 1G AUTOEXTEND ON NEXT 256M MAXSIZE 8G;注意 P6 的安装器在创建 schema 时一般会让你指定表空间如果它没问那大概率会用默认表空间这时候你可以事后把用户的默认表空间改过来再迁移数据但不如一开始就规划好。关于 schema 的职责简单说有一个负责管理员身份一个负责业务数据读写一个负责公共数据还有一个后台作业用户。这四个用户是安装器自动建的你只需要在安装向导里给它们设定密码。密码策略记住一点别用带特殊符号的密码安装器执行 SQL 脚本时偶尔会因为转义问题报错字母数字组合最稳妥。3.3 JDK 与 WebLogic 的匹配JDK 的安装很直接解压到/u01/app/oracle/middleware/jdk8这样的目录然后设置环境变量export JAVA_HOME/u01/app/oracle/middleware/jdk8 export PATH$JAVA_HOME/bin:$PATH验证用java -version看输出版本号是否符合兼容矩阵。WebLogic 的安装建议用通用安装包加静默模式比图形化稳。关键参数是ORACLE_HOME指向/u01/app/oracle/middleware/wls。装完之后不需要马上建域因为 P6 的安装器会自己调用配置工具建域你手建反而可能冲突。这里有个经验WebLogic 安装包和 P6 安装器如果是同一批介质版本基本是配套的不用额外操心底层兼容。但如果你从别处拿了新版本的 WebLogic就要回头查 P6 的兼容列表。我有一次图新用了高一个版本的 WebLogic结果 P6 部署应用时抛了个类找不到的错回退版本就好了。4. P6 EPPM 安装器实操一页一页跟着填4.1 图形化还是静默两种方式的选择P6 的安装器支持图形界面和静默响应文件两种模式。第一次装、环境还在摸索阶段建议用图形界面因为能看清每一步在问什么出问题也容易定位。等流程跑顺了需要批量部署或者重装时再改用响应文件。启动图形化安装的前提是机器上有 X11 转发或者本地桌面环境。如果服务器是最小化安装没有桌面你有两个办法一是用 SSH 的 X11 转发本地开个 X Server二是直接改静默模式。我这次是在本地虚拟机里操作直接用了图形界面省得折腾转发。如果走静默响应文件的模板一般在介质目录里文件名类似silent.rsp。需要改的核心项包括安装目录、WebLogic 位置、数据库连接串、各 schema 密码。跑的时候用./installer -silent -responseFile /path/to/silent.rsp -logLevel finest日志级别开到 finest出问题时能看到最详细的执行记录这对排查安装阶段的失败特别有用。4.2 安装向导各页面的填写要点安装器启动后会依次问这些信息我按顺序过一遍把我踩过的点标出来。第一页是安装类型选择。通常有安装 P6 EPPM 应用服务器、安装 P6 Professional、安装 BI Publisher几个选项。如果介质支持合并安装可以直接选带 BI Publisher 的组合省一次流程。如果分开装先装应用服务器再装 BI Publisher顺序别反了因为 BI Publisher 部署时需要指向已存在的 WebLogic 域。第二页是安装目录。这里填的是 P6 自己的目录不是 WebLogic 的。建议单独一个目录别和 WebLogic 混在一起后面升级或者打补丁时好区分。目录路径别带空格。第三页是 JDK 与 WebLogic 位置。安装器会让你指过去它会做个校验如果版本不匹配会直接提示。这一步如果报无效的 JDK 目录先检查JAVA_HOME下的bin/java是否可执行再检查版本号。第四页是 WebLogic 域配置。会让你填域名、管理服务器监听地址、端口、管理员密码。域名我用的是默认建议值端口保持 7001。管理员密码记牢后面进控制台要用。如果这台机器的 7001 被占了安装器会提示提前用netstat -tlnp | grep 7001确认一下。第五页是数据库连接。填主机、端口、服务名然后给一组有 DBA 权限的账号让安装器能创建 schema。这里要注意连接串里的服务名必须是数据库注册的那个别把 SID 和服务名搞混。填完可以点测试连接连不上就别往下走先解决网络和监听问题。第六页是 schema 密码设置。前面说的那几个用户在这里给密码。四个密码可以设成一样的方便记但生产环境建议区分。第七页是应用服务器端口和访问地址。P6 的 HTTP 端口默认是 8006可以改但改了之后所有文档和客户端配置里的地址都要跟着变非必要不动。填完确认安装器开始执行。这个过程比较长创建 schema、部署应用、配置数据源视机器性能大概要四十分钟到一个多小时。中间不要中断中断后重新运行可能会残留半成品状态清理起来麻烦。4.3 安装过程中的数据库初始化安装器跑到数据库初始化阶段时会在后台执行一批 SQL 脚本创建表、索引、初始数据。这个阶段最容易出的问题是权限和字符集。如果报字符集不匹配说明前面建库时没选 AL32UTF8只能重建库。如果报权限不足检查你给的那个 DBA 账号是不是真的有sysdba或者足够的建用户权限。如果报表空间不足那就是 3.2 节里预留的空间不够需要扩表空间再重跑。我遇到过一次脚本执行到一半报对象已存在原因是上一次安装中断留下的残留。处理办法是让 DBA 把之前创建的 schema 用户连同对象一起删掉再重新跑安装器。所以安装失败后别急着原地重试先确认数据库里有没有脏数据。4.4 装完之后的目录结构与服务关系安装成功后会得到几个关键目录理解它们的关系对后面运维很重要目录/文件作用P6 安装目录下的bin启停脚本、配置工具WebLogic 域目录域配置、启动脚本、日志应用的ear包部署位置应用代码日志目录应用日志、诊断日志启动顺序是有讲究的先起数据库监听再起 WebLogic 的 AdminServer然后起受管服务器最后才是应用自身。顺序错了会出现应用启动时连不上数据源的假故障白折腾半天。5. BI Publisher 集成报表这条线怎么打通5.1 部署位置的取舍BI Publisher 可以跟 P6 共用一个 WebLogic 域也可以单独一个域。共用域的好处是管理集中坏处是资源竞争报表跑大批量的时候可能拖慢 P6 的响应。单独域则相反隔离性好但要多维护一套。我这次选了共用域因为用户量不大报表任务也不密集。如果你那边有大量报表导出需求建议单独域并且给 BI Publisher 的受管服务器分配独立的堆内存。安装时如果选了合并安装BI Publisher 会被自动部署到同一个域里如果是分开装需要指定目标域的位置和管理服务器地址安装器会调用部署工具把应用发布上去。5.2 数据源与 JDBC 配置BI Publisher 起来之后第一件事是配数据源因为它要连数据库读 P6 的业务数据。配置入口在 BI Publisher 的管理界面上新建一个 JDBC 数据源驱动选 Oracle 的 thin 驱动连接串指向同一个库用户用报表专用的那个 schema。配完之后一定要点测试测试通过才算数。我见过配完不测试结果用户点报表报连接失败回头查发现是驱动类名填错了。这里有个细节数据源的连接池大小要设合理太小了并发报表会排队太大了占数据库连接。一般给 10 到 20 之间就够了具体看你的报表并发量。5.3 报表服务器的连通性验证BI Publisher 部署完成后用浏览器访问它的端口能出登录页说明服务起来了。然后用管理员账号登进去跑一个内置的示例报表能出结果说明数据源也通了。如果页面打不开先看 WebLogic 里对应的受管服务器状态是不是 RUNNING如果是 RUNNING 但页面 404检查应用部署状态是不是 Active如果部署 Active 但访问超时查防火墙端口。这一步看着简单但它是整个安装流程里最容易被跳过的一环。很多人装完 P6 就直接交付了结果业务方第一次点报表就报错又得回头补。6. 启动、访问与客户端连接把链路走通6.1 WebLogic 域的启动顺序与脚本手动启动的话顺序是固定的。先起 AdminServercd /u01/app/oracle/middleware/user_projects/domains/p6domain/bin nohup ./startWebLogic.sh /u01/app/oracle/logs/admin.out 21 等日志里出现Server started in RUNNING mode再起受管服务器。受管服务器需要用startManagedWebLogic.sh并传入服务器名和管理服务器地址nohup ./startManagedWebLogic.sh p6_server_1 http://127.0.0.1:7001 \ /u01/app/oracle/logs/p6_server.out 21 如果你有多个受管服务器逐个起。别一上来就并发启动内存不够的时候会互相拖累反而更慢。6.2 浏览器端登录验证服务起来后浏览器访问http://服务器IP:8006/p6应该能看到登录页。第一次登录用安装时设置的管理员账号。如果页面能出来但登录报错重点看应用日志里的数据库连接异常。常见原因是数据源配置里的密码和实际 schema 密码不一致或者连接池的最大连接数设成了 0。登录进去之后建议做三件确认一是新建一个测试项目验证写入链路二是给测试用户分配一个角色验证权限链路三是导出一份报表验证 BI Publisher 链路。三条都通了才算真正装完。6.3 P6 Professional 客户端连接 EPPMP6 Professional 是 Windows 客户端装好之后在登录界面选连接到 EPPM 服务器填服务器地址和端口用 EPPM 的账号登录。它也可以选独立数据库模式直连数据库但那种模式不适合多人协作只适合单机分析。客户端连接 EPPM 时最常见的报错是无法连接到服务器排查顺序是先用浏览器确认 EPPM 页面能打开再确认客户端版本和服务器版本一致最后检查客户端机器能不能解析服务器主机名。版本不一致这个问题很隐蔽表现往往是能连上但某些功能报错装之前对一下版本号。6.4 生产化的收尾动作跑通之后别急着交付还有几件事要做。第一是配开机自启。手写 systemd 服务单元把数据库监听、AdminServer、受管服务器分别托管这样机器重启后不用人工干预。写的时候注意Typeforking和Useroracle以及启动前的依赖顺序。第二是日志轮转。WebLogic 的日志长得很快不配轮转会撑爆磁盘。在日志目录下加个 logrotate 配置按天切、保留 30 天。第三是备份策略。数据库用 RMAN 做定期全备加归档日志备份应用侧把域配置目录和 P6 安装目录打包备份。这两块要分开做恢复的时候也分开恢复别指望一套备份解决所有问题。7. 踩坑实录这些故障我一个个撞过7.1 安装阶段的典型卡点卡点一安装器启动闪退。表现是命令行执行后没反应或者弹出窗口瞬间消失。原因多半是没有图形环境。解决办法是确认DISPLAY变量有没有设置或者干脆改静默模式。也有一种情况是临时目录空间不足安装器解压临时文件失败检查/tmp至少留 2G。卡点二数据库连接测试失败。明明用 SQL 客户端能连上安装器就是连不上。这种情况先检查监听是不是只绑了 127.0.0.1再看安装器填的主机名是不是解析不到。还有一种可能是 JDBC 驱动版本和数据库版本不匹配换一个驱动包试试。卡点三schema 创建中途报错。报错信息通常比较含糊只有个 ORA 编号。这时候去看安装器日志里记录的完整 SQL 语句拿去 SQL 客户端手动执行就能看到真正的错误原因。我遇到的是表空间配额不足日志里只写了个通用错误手动执行才看到配额提示。7.2 启动阶段的典型卡点卡点一AdminServer 起不来。日志里报端口被占用或者报域配置损坏。端口问题用netstat查一下就能定位。配置损坏一般是安装过程被中断过解决办法是删掉域目录重装别试图手工修配置成本更高。卡点二受管服务器卡在 STARTING。这个最典型通常是连不上 AdminServer。检查管理服务器地址填的对不对检查 7002 端口有没有放行检查两个服务器的时间是不是差太多——时间差超过一定范围SSL 握手会失败。卡点三应用部署状态是 Failed。看部署日志多半是数据源连不上或者类冲突。数据源问题去控制台测试 JDBC类冲突一般是介质版本混用导致的把介质统一到同一批次就好。7.3 登录与连接阶段的典型卡点卡点一登录页出来了但提交账号密码后白屏。先看应用日志有没有异常堆栈。常见原因是数据库连接池耗尽或者某个后台服务没起来。可以在控制台里看数据源的当前连接数。卡点二P6 Professional 连 EPPM 报证书错误。如果 EPPM 启用了 HTTPS客户端需要信任对应证书。测试环境可以临时绕过生产环境要把证书导进客户端的信任库。卡点三报表导出中文乱码。这个跟数据库字符集和 BI Publisher 的字体配置都有关。先确认数据库是 AL32UTF8再确认报表模板里用的字体在服务器上存在。缺字体的话装上对应的字体包重启服务。下面这张表是我整理的速查清单出问题时按顺序对一遍能覆盖八成情况现象优先排查常用命令或位置安装器起不来图形环境、临时空间echo $DISPLAY、df -h /tmp数据库连接失败监听绑定、主机名解析、驱动版本lsnrctl status、tnspingschema 创建失败表空间配额、字符集安装器日志里的完整 SQLAdminServer 起不来端口占用、域配置完整性netstat -tlnp、域启动日志受管服务器卡住管理地址、SSL 端口、时间同步chronyc sources、控制台状态应用部署失败数据源、类冲突部署日志、控制台 JDBC 测试登录白屏连接池、后台服务应用日志、数据源连接数报表乱码字符集、服务器字体数据库字符集查询、字体目录7.4 几条不写在文档里的经验第一安装前把机器时间同步配好。WebLogic 的节点间通信对时间敏感机器时间漂移会导致认证失败而且报错信息完全看不出是时间问题。第二所有密码记在一个地方包括数据库 schema 密码、WebLogic 管理员密码、BI Publisher 管理员密码。这套系统涉及五六组密码装完之后隔两周再回来大概率记不全。第三安装日志别删。P6 的安装器会在临时目录和安装目录各留一份日志出了问题这是唯一能还原现场的东西。我习惯装完之后把日志打包归档按日期命名。第四先用小规模数据验证。装完之后别急着导生产数据先建几个测试项目跑一跑确认增删改查、计划运算、报表导出都正常再考虑数据迁移。计划运算尤其要测它对数据库的压力比普通操作大得多。8. 一点个人体会这套东西装下来最大的感受是P6 EPPM 的复杂度不在某一步特别难而在于环环相扣前面一步埋的雷往往在后面才炸。字符集选错要到 schema 初始化才报端口没放行要到受管服务器启动才报JDK 版本不对要到应用部署才报。所以我的做法是每完成一个环节就做一次验证数据库装完先连一下WebLogic 装完先起一下别憋着一口气全装完再统一测那样出问题时排查范围太大。另外分享一个小技巧把整个安装过程写成一份带命令的清单每做一步打个勾顺手记下当时的参数值。第二次装的时候直接照着清单走一小时能搞定比翻官方文档快得多。这份清单我后来还加了一列验证方式比如建库后执行select value from nls_database_parameters where parameterNLS_CHARACTERSET确认返回值是 AL32UTF8把验证动作也固化下来能省掉很多回头返工的时间。