
简介本资源是一份面向用友NC65初学者与实施顾问的实操型安装指南专为自我学习、沙箱测试及NCC高版本环境搭建设计有效解决数据库配置、中间件部署与系统初始化等关键实施难点。压缩包为单文件DOC文档933KB内容结构清晰完整覆盖Oracle数据库安装含管理员权限操作、全局数据库名与口令设定、表空间与用户授权SQL脚本、NC65产品安装路径规范、sysconfig.bat数据源配置与EJB部署、admin.jsp后台初始化建库全流程以及License授权提示等核心环节。已有3436人学习下载手册步骤详尽、命令可直接复用附带典型路径示例与参数说明特别适合零基础顾问快速掌握NC65本地部署全链路规避中文路径、密码不一致、权限缺失等高频实操陷阱。1. 用友NC65安装实操为什么Oracle 11g R2是唯一稳妥选择而12c/19c会让你在建库向导卡死三小时去年帮某高校实验室部署NC65测试环境时我信了“高版本兼容性更好”的玄学直接装了Oracle 19c。结果在第三步——建库向导执行SQL脚本阶段界面卡在“正在初始化系统表”不动日志里反复刷ORA-01438: value larger than specified precision allowed for this column。查了六小时才发现NC65内置的建库脚本尤其是nc65_ddl.sql大量使用NUMBER(10)定义主键字段而19c默认启用COMPATIBLE19.0.0后对NUMBER精度校验更严但脚本没适配。最后退回到Oracle 11.2.0.4一气呵成跑通。这绝不是个例——在用友NC65实施顾问的实操场景里数据库版本选错80%的问题会集中爆发在数据源测试通过后、建库向导执行失败这个黑匣子环节。本手册所有步骤均基于真实踩坑验证Oracle 11g R211.2.0.4、Windows Server 2016/Win10 64位、NC65 SP82023年Q3最新补丁包。它不讲理论只解决你此刻正面对的三个问题装什么版本不翻车、哪几步必须手敲不能点下一步、密码和路径写错一个字符就全盘重来。如果你是刚接手模拟项目X的新手顾问或需要快速搭一套可演示的NC65测试环境请把这篇当操作清单逐行执行。2. Oracle数据库安装从管理员权限到sys密码的硬核闭环2.1 以管理员身份运行安装程序为什么右键菜单里“以管理员身份运行”不可跳过Oracle 11g R2安装程序在Windows下会静默调用orapki工具生成SSL证书、修改注册表项如HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1并创建服务OracleServiceORCL。若非管理员权限安装进程会在“配置安全更新”步骤报错PRKO-2002 : Invalid user privilege且不会给出明确提示——界面卡在进度条95%后台日志%ORACLE_HOME%\cfgtoollogs\oui\installActions*.log里才显示Access is denied。正确操作是找到解压后的database\setup.exe右键 → 以管理员身份运行而非双击。若已双击启动任务管理器中结束所有setup.exe、java.exe进程再重新右键运行。# 验证管理员权限是否生效在安装前执行 whoami /groups | findstr S-1-16-12288提示输出含S-1-16-12288High Mandatory Level即为高完整性级别安装可继续若无此字符串说明权限不足必须重启安装。2.2 全局数据库名与管理口令这两个值将贯穿NC65全部配置链安装向导第1.6步要求填写“全局数据库名”Global Database Name和“管理口令”Administrative Password。这里填的不是“随便设个密码”而是NC65后续所有环节的密钥全局数据库名格式为数据库名.域名例如orcl.example.com。NC65的sysconfig.bat中“数据库名称”字段必须与此完全一致包括大小写和域名后缀少一个点或字母都会导致连接失败。生产环境建议用orcl.local测试环境可用orcl.test但严禁用纯数字或下划线开头如123orcl、_orcl。管理口令即SYS和SYSTEM用户的密码。必须满足Oracle 11g复杂度规则至少8位含大小写字母数字特殊字符如Nc652023!。安装完成后该密码会用于第3步SQL*Plus登录sqlplus / as sysdbasysconfig.bat中数据源配置的“用户名/密码”字段建库向导执行脚本时的数据库认证注意安装界面弹出的“设置密码”窗口步骤1.7必须与1.6步口令完全相同。Oracle安装程序不会校验一致性但NC65的JDBC连接池在初始化时若发现SYS密码错误会抛出java.sql.SQLException: ORA-01017: invalid username/password且错误日志不提示具体哪个用户——这是新手最常掉的坑。2.3 安装目录与字符集两个隐藏雷区的避让策略安装路径ORACLE_HOME默认为C:\app\用户名\product\11.2.0\dbhome_1。若用户名含中文如张三路径会变成C:\app\张三\...导致NC65启动时报java.lang.UnsatisfiedLinkError: %ORACLE_HOME%\bin\oci.dll not found。解决方案安装时在“产品安装目录”页手动改为C:\oracle\product\11.2.0\dbhome_1纯英文路径。字符集安装类型选“桌面类”Desktop Class时向导默认字符集为AL32UTF8。但NC65要求数据库字符集必须为ZHS16GBK国标GBK否则建库后中文字段乱码且无法通过ALTER DATABASE CHARACTER SET在线修改。正确操作在“典型安装”页点击右下角“下一步”前先点“选项”→“字符集”→手动选ZHS16GBK。若已装完只能卸载重装——没有后悔药。3. 表空间与用户创建SQL*Plus命令的精确抄作业3.1 连接数据库绕过监听器直连的稳定方案NC65文档说“Cmd → sqlplus → 输入账号密码”但实际中常因监听器未启动或tnsnames.ora配置错误连不上。更可靠的方式是操作系统认证直连以安装Oracle的Windows用户登录如Administrator打开CMD执行# 切换到Oracle安装目录的bin下 cd /d C:\oracle\product\11.2.0\dbhome_1\BIN # 设置环境变量关键否则sqlplus找不到oci.dll set ORACLE_HOMEC:\oracle\product\11.2.0\dbhome_1 set PATH%ORACLE_HOME%\BIN;%PATH% # 使用操作系统认证连接无需密码 sqlplus / as sysdba逻辑说明/ as sysdba利用Windows本地策略将当前用户映射为SYS跳过密码验证和监听器依赖。set ORACLE_HOME确保sqlplus能加载正确的OCI驱动避免SP2-0667: Message file sp1.msb not found错误。3.2 创建表空间路径、大小、扩展参数的工业级配置NC65官方脚本要求数据文件存放在独立磁盘如D盘且初始大小需≥500MB。以下命令经压力测试验证模拟10万单据数据量-- 创建数据表空间NNC_DATA01 CREATE TABLESPACE NNC_DATA01 DATAFILE D:\NCDATA\NNC_DATA01.DBF SIZE 1024M AUTOEXTEND ON NEXT 256M MAXSIZE 8192M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K; -- 创建索引表空间NNC_INDEX01 CREATE TABLESPACE NNC_INDEX01 DATAFILE D:\NCDATA\NNC_INDEX01.DBF SIZE 512M AUTOEXTEND ON NEXT 128M MAXSIZE 4096M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;路径说明D:\NCDATA\需提前手动创建mkdir D:\NCDATAOracle安装程序不会自动创建父目录。若路径不存在执行报ORA-01119: error in creating database file。大小参数SIZE 1024M比手册写的500M更稳妥——NC65建库脚本会一次性写入约700MB系统表500M易触发ORA-01653: unable to extend table。UNIFORM SIZE256K对应数据表空间128K对应索引表空间这是Oracle 11g对OLTP系统的最佳实践避免碎片化。3.3 用户授权dba权限的必要性与最小化原则NC65建库脚本需执行CREATE TYPE、CREATE PROCEDURE等DDL操作仅CONNECT权限不够-- 创建NC专用用户用户名必须全小写NC65内部转换逻辑强制小写 CREATE USER nc65_user IDENTIFIED BY Nc652023! DEFAULT TABLESPACE nnc_data01 TEMPORARY TABLESPACE temp QUOTA UNLIMITED ON nnc_data01; -- 授予必需权限注意GRANT dba包含所有权限生产环境应拆分 GRANT CONNECT, RESOURCE, DBA TO nc65_user;参数说明QUOTA UNLIMITED ON nnc_data01允许用户无限使用该表空间避免建库时因空间配额不足中断RESOURCE角色包含CREATE TABLE等基础权限DBA是建库必需NC65脚本含EXECUTE IMMEDIATE动态SQL。若生产环境需最小权限可替换为GRANT CONNECT, RESOURCE, SELECT_CATALOG_ROLE, EXECUTE_CATALOG_ROLE TO nc65_user;4. NC65安装与数据源配置setup.bat到sysconfig.bat的生死链4.1 运行setup.bat安装目录的中文陷阱与JDK版本强约束NC65安装包中的setup.bat本质是Java启动脚本其JAVA_HOME检测逻辑极脆弱安装路径禁用中文若解压到D:\用友NC65\安装时会报Exception in thread main java.lang.NoClassDefFoundError: Files\YouSoft\NC65\setup空格和中文被截断。必须解压到纯英文路径如D:\nc65\。JDK版本锁定NC65 SP8仅支持JDK 1.7.0_80官方白皮书明确要求。若系统已装JDK 11setup.bat会闪退日志%TEMP%\nc65_install.log显示Unsupported major.minor version 52.0JDK 8字节码。解决方案单独下载JDK 1.7.0_80官网已下架需从可信镜像站获取修改setup.bat首行echo off set JAVA_HOMEC:\Program Files\Java\jdk1.7.0_80 set PATH%JAVA_HOME%\bin;%PATH% java -version java -jar setup.jar4.2 sysconfig.bat配置数据源四个必填字段的血泪校验安装完成后进入D:\nc65\home\bin\sysconfig.bat点击“数据源”→“读取”→“修改”。此处有四个字段必须与Oracle安装严格对应字段名正确值示例错误示例及后果数据库类型Oracle选“Oracle(Thin)”会连接超时数据库名称orcl.test写orcl缺域名→ORA-12154: TNS could not resolve用户名nc65_user写NC65_USER大写→ 登录失败密码Nc652023!复制时多一个空格 →ORA-01017关键操作点击“测试连接”前先确认Oracle服务OracleServiceORCL已启动services.msc中检查。测试成功后必须点“保存”按钮界面右下角否则重启sysconfig.bat配置丢失。4.3 安全日志数据源与EJB部署两个常被忽略的初始化开关安全日志数据源在sysconfig.bat中点击“安全日志数据源”→“初始化”。此步骤创建nc65_security库表若跳过登录/admin.jsp后点击“安全中心”会报Table or view does not exist。EJB部署点击“部署EJB”→勾选全部模块尤其nc-ejb-core、nc-ejb-bill→“部署”。这是NC65业务逻辑容器若漏选nc-ejb-bill建库后所有单据功能不可用。部署日志在D:\nc65\home\logs\ejb_deploy.log成功标志是末尾出现Deploy success: nc-ejb-core.jar。5. 启动与验证从startup.bat到建库向导的终极通关5.1 启动服务与端口确认为什么浏览器打不开http://127.0.0.1:8080/admin.jsp运行D:\nc65\home\startup.bat后观察CMD窗口若出现INFO: Starting ProtocolHandler [http-bio-8080]说明Tomcat已启动端口8080被占用。若卡在INFO: Initializing ProtocolHandler [ajp-bio-8009]后无响应大概率是端口冲突。检查方法# 查看8080端口占用进程 netstat -ano | findstr :8080 # 杀掉PID如1234 taskkill /f /pid 1234常见冲突源Skype默认占8080、其他Java应用。修改NC65端口编辑D:\nc65\home\conf\server.xml将Connector port8080改为Connector port8081然后重启。5.2 管理员登录与初始配置root/super密码为空的真相浏览器访问http://127.0.0.1:8080/admin.jsp输入用户名root或super二者等效密码留空不是null不是是直接不填登录后首屏是“系统基本信息配置”必须完成三项系统编码填NC65_TEST不能含特殊字符长度≤10系统名称填NC65测试环境可含中文数据源下拉选择nc65_user即3.3步创建的用户→ 点“保存”注意若“数据源”下拉为空说明sysconfig.bat中数据源未保存或Oracle服务未启动。此时返回sysconfig.bat重新测试连接。5.3 建库向导执行从“选择产品”到“执行完成”的毫秒级监控点击左侧菜单“系统管理”→“建库向导”按步骤操作“选择安装产品”勾选NC65勿选NCC版本不兼容“执行数据库安装脚本”点击后界面变灰此时立即查看日志日志路径D:\nc65\home\logs\nc65_dbinit.log成功标志末尾出现[INFO] 初始化数据库完成失败信号出现ORA-00942: table or view does not exist表空间未创建或ORA-01438Oracle版本不匹配避坑/常见问题/排查现象1建库向导点击“执行”后无反应日志空白原因D:\nc65\home\conf\datasource.xml中数据库URL错误如写成jdbc:oracle:thin:127.0.0.1:1521:orcl缺域名正确应为jdbc:oracle:thin:127.0.0.1:1521/orcl.test注意斜杠/不是冒号:解决编辑datasource.xml修正URL重启startup.bat。现象2执行到80%报ORA-01652: unable to extend temp segment原因临时表空间temp不足NC65建库需大量排序。解决SQL*Plus中执行ALTER TABLESPACE temp ADD TEMPFILE D:\NCDATA\temp02.dbf SIZE 512M;现象3登录/admin.jsp后提示“License未授权”原因未执行license激活。解决运行D:\nc65\home\bin\sysconfig.bat→ 点“License” → “获取授权” → 输入邮箱测试用可填testtest.com→ 等待邮件通常1分钟内→ 复制邮件中License Key粘贴到框内 → “确定”。6. 验证跑通三步真机检测法与我的强制检查清单装完不是终点而是验证的开始。我给自己定的铁律是每次部署NC65必须完成以下三步检测缺一不可。这不是为了炫技而是因为某次跳过第二步上线后才发现采购模块单据无法保存——问题根源是nc65_user用户缺少UNLIMITED TABLESPACE权限但建库向导居然没报错。6.1 数据库层验证用SQL确认NC65核心表是否存在登录SQL*Plussqlplus nc65_user/Nc652023!orcl.test执行-- 检查建库脚本是否真正写入 SELECT COUNT(*) FROM user_tables WHERE table_name LIKE BD_% OR table_name LIKE PO_%; -- 正常应返回 200BD_为基础资料表PO_为采购表 SELECT tablespace_name FROM user_tables WHERE table_name BD_UNIT; -- 应返回 NNC_DATA01证明表创建在指定表空间如果第一条返回0说明建库脚本根本没执行如果第二条返回USERS说明表空间配置失效需检查CREATE USER语句中的DEFAULT TABLESPACE。6.2 应用层验证通过JDBC URL直连测试连接池NC65的连接池配置藏在D:\nc65\home\conf\datasource.xml但最可靠的验证是绕过应用用Java代码直连// 保存为TestJDBC.java用JDK 1.7编译 import java.sql.*; public class TestJDBC { public static void main(String[] args) throws Exception { Class.forName(oracle.jdbc.driver.OracleDriver); String url jdbc:oracle:thin:127.0.0.1:1521/orcl.test; Connection conn DriverManager.getConnection(url, nc65_user, Nc652023!); System.out.println(Connection OK: conn.getMetaData().getDatabaseProductName()); conn.close(); } } // 编译运行 // javac -cp .;D:\oracle\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar TestJDBC.java // java -cp .;D:\oracle\product\11.2.0\dbhome_1\jdbc\lib\ojdbc6.jar TestJDBC输出Connection OK: Oracle即证明NC65使用的JDBC驱动、URL、凭证全部正确。若报No suitable driver说明ojdbc6.jar路径错误若报IO Error: The Network Adapter could not establish the connection说明Oracle监听器未启动或端口不对。6.3 业务层验证创建第一个采购申请单的端到端走通这是最终极的验证——用NC65界面完成一笔真实业务流浏览器登录http://127.0.0.1:8080/nccloud非admin.jsp账号root密码空 → 进入工作台点击“采购管理”→“采购申请”→“新增”填写申请部门选“测试部”、申请人填“张三”、物料编码填MAT001、数量填10点“保存” → 弹出“单据保存成功” → 点“提交”查看D:\nc65\home\logs\nc65_business.log确认末尾有[INFO] PORequest save success, pk: 10001这一步的意义在于它同时验证了数据库写入单据主键生成、EJB业务逻辑采购流程引擎、前端交互JSF页面渲染三层。任何一层断裂都会卡在“保存”按钮上转圈。从那以后我每次部署NC65都强制走一遍这三步SQL查表、JDBC直连、采购单走通。不是因为信不过自己而是信不过那些没写进手册的隐性依赖——比如Oracle监听器的listener.ora里HOST写成了localhost而非127.0.0.1比如nc65_user的密码过期策略被Windows域策略覆盖。这些坑不会在安装日志里报错但会在你给客户演示时让整个屏幕变成灰色。希望帮到你。本文还有配套的精品资源点击获取