NC65安装避坑指南:Oracle表空间与数据源配置全流程解析
简介一份面向用友NC65新手顾问与测试人员的安装操作手册内容覆盖从Oracle数据库安装、表空间创建、用户授权到数据源配置、EJB部署及系统初始化与激活授权提示的完整流程对NCC等高版本产品同样具备参考价值。资源包内为单个doc文档压缩包大小约933KB文档以步骤化方式编排包含SQL建表语句、sysconfig.bat配置要点、管理员登录入口及license获取指引方便读者边看边操作。目前已有3429人学习下载适合需要独立搭建NC65测试环境、进行功能验证或为项目上线做准备的实施顾问。手册特别强调了安装过程中的关键注意点如全局数据库名和管理口令的记录、安装目录避免中文字符、数据源测试通过后再继续等能有效帮助初学者少走弯路快速获得一个可运行的用友NC65系统。1. NC65安装手册到底该信谁一遍装通之前先读这四步某公司测试机上某顾问照着网上的NC65安装教程从Oracle开始装装了三次都没进到登录页。问题出在说明书只写了“下一步”没写“下一步时到底在干什么”更没写哪一步错了该看哪里。这份NC65安装操作手册我拆过几遍属于典型的“自己编制”的实操复盘版从Oracle数据库选型、表空间创建到sysconfig.bat数据源配置、EJB部署全程按实施顾问搭测试环境的思路来写新手能照着走熟手能跳过废话直接卡参数。适合人群很明确要自己搭NC65测试环境的新手顾问以及想搞清楚数据源配置和建库向导到底怎么联动的实施人员。2. 数据库准备用Oracle选型理由、安装参数与安装后自查2.1 选型为什么这套安装路线锁死OracleNC65的正式建库脚本是按Oracle数据库的结构写的。虽然有人用其他数据库做过二次改写但手册默认路径就是Oracle原因有三。第一数据字典和存储过程差异。NC65建库向导执行的是整套数据库脚本里面直接调用Oracle的包、视图和分区语法换数据库意味着整个脚本链要裁剪这不是测试环境该干的事。第二连接数与事务能力。ERP场景下单库会同时挂着EJB中间件、报表服务、审批流Oracle在并发和回滚上的表现更稳。第三后期NCC高版本也是同一套路现在按Oracle入门之后换NCC版本时数据源配置、表空间命名习惯都还在一个体系内。所以别一上来问“能不能用精简版或嵌入式数据库”测试环境要复现生产行为数据库选型越靠近生产越少踩坑。手册里用的安装方式也是“创建和配置数据库”不是“仅安装数据库软件”这步选错了后面等于没有实例可用sysconfig那边测试数据源就永远不会通。2.2 Oracle安装的三个关键参数管理员运行、全局数据库名、SYS密码Oracle安装器的操作顺序手册里已经给了我按实际点击路径拆一遍右键安装程序选择“以管理员身份运行”。在配置界面取消勾选“接收安全更新”之类的附加项直接下一步。出现安全更新确认提示时选“是”继续。选择“创建和配置数据库”下一步。安装类型选“桌面类”适用于测试机。安装目录保持默认或改到非中文路径重点看“全局数据库名”和“管理口令”这两个值后面配NC65数据源时要用。安装完成后会单独弹窗要求设置SYS和SYSTEM用户的密码手册建议把这组密码设成与第6步的管理口令一致。这里我把要记的参数整理成一张表装的时候直接抄参数推荐填法用途全局数据库名如orcl或ncdbsysconfig数据源里的“数据库名称”管理口令统一密码如Nc2024安装器要求至少8位含字母数字SYS密码与管理口令一致sqlplus / as sysdba 登录SYSTEM密码与管理口令一致管理后台连接用安装时间取决于机器性能一般要十几分钟。环境没有异常就等它走完。走完后别急着装NC65先做一轮自查用命令行确认监听和实例确实起来了。# 确认监听服务状态能显示服务名和端口就算正常 lsnrctl status # 用本机管理账号登录实例看到 SQL 提示符说明实例可用 sqlplus / as sysdba如果lsnrctl status显示“No listener”或者sqlplus直接弹ORA-12560说明服务没起来去系统服务里找OracleService开头的服务把它启动再重新执行上面两条命令。注意cmd窗口要用管理员打开否则有些系统会提示权限不足。安装这一步我见过最典型的翻车是全局数据库名顺手填了个带横线的字符串后面NC65数据源测试时Oracle报ORA-12514怎么改都连不上最后重建实例才解决。全局数据库名只能用小写字母、数字和下划线首字符必须是字母这一点装之前就要确认。2.3 安装后自查三件事做全再往下走Oracle装完不等于是“能用的数据库”我一般会强制走三个检查第一服务列表里有没有OracleService、OracleOraDB19Home1TNSListener这类服务。第二cmd里执行上面两条命令能正常返回。第三用sqlplus连自己新建的普通用户确认网络连接也能通sqlplus 用户名/密码127.0.0.1:1521/全局数据库名能进SQL再往下走进不去先解决连接问题。常见的失败是ORA-28000账号被锁那是刚才用SYSTEM建用户的时候连续输错几次密码导致的。如果连自己的账号能进sysconfig那边数据源测试基本就稳了。3. 表空间与用户创建SQL*Plus三条语句讲透3.1 为什么NNC_DATA01和NNC_INDEX01要分开建Oracle里表空间是存放数据文件的地方NC65这套产品把数据表和索引分在两个表空间里存NNC_DATA01放业务数据NNC_INDEX01放索引。这样做的好处是后续可以把两个数据文件放到不同物理磁盘分散I/O压力。测试环境只有一个盘也没关系逻辑上分开后面做备份、扩容、迁移时文件边界清晰。手册里给的表空间规格很典型-- 数据表空间初始500M自动扩展每次50M CREATE TABLESPACE NNC_DATA01 DATAFILE D:\NCDATA\NNC_DATA01.DBF SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K; -- 索引表空间初始500M自动扩展每次50M区大小128K CREATE TABLESPACE NNC_INDEX01 DATAFILE D:\NCDATA\NNC_INDEX01.DBF SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;逐项说下参数。DATAFILE后面的路径是数据文件要落盘的绝对路径。注意Oracle在Windows下不会自动创建目录D:\NCDATA这个目录必须存在否则执行时报ORA-01119。SIZE决定初始大小NC65建库脚本会在同一表空间里建几百张表500M是起步值小库够用。AUTOEXTEND ON NEXT 50M表示文件满了之后自动扩容50M一次避免业务运行到一半写不进去。EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K是本地管理表空间加上统一区大小256K是数据表的常用区尺寸索引表空间用128K单区更小适合索引这种小段随机读写。这两条语句必须在DBA权限下执行执行顺序是数据表空间在前、索引表空间在后因为下一步建用户时需要指定默认表空间。如果省略UNIFORM SIZEOracle会用默认的1M区大小建出来的表空间也能用但在大量小表并发创建时会产生更多的递归空间分配慢一些所以手册特意把区大小写进语句里别删。3.2 建用户与授权DEFAULT、TEMPORARY那两个选项别选错有了表空间下一步就是建用户。NC65连接Oracle时就是用这个用户名和密码去访问表空间这个用户会在sysconfig数据源配置里再次用到-- 用户名建议用大写Oracle默认大小写敏感 CREATE USER 用户名 IDENTIFIED BY 密码 DEFAULT TABLESPACE nnc_data01 TEMPORARY TABLESPACE temp; -- 测试环境建议直接给connect和dba正式环境按最小权限来 GRANT connect,dba TO 用户名;这里有个细节DEFAULT TABLESPACE指定的是nnc_data01不是nnc_index01。用户建出来的表默认落在数据表空间里索引由建库脚本手动指定到索引表空间。如果你把默认表空间设成索引表空间建表会报ORA-00959表空间不存在或权限不足。TEMPORARY TABLESPACE用系统自带的temp别改成数据表空间否则排序和临时段全写在业务文件里会产生一堆残留段。GRANT那条手册给的是connect,dba测试环境省事。但你要知道dba是个超大权限连数据字典、回滚段都能碰。自己练手无所谓给同事搭测试环境也没问题如果这套环境要对外开放访问建议把dba换成resource再加建表权限。授权之后可以验证一下-- 查看用户默认表空间和临时表空间 SELECT DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS WHERE USERNAME 用户名;如果出来的默认表空间不是NNC_DATA01说明CREATE USER语句里写错了要重建用户顺便把授权撤销。sqlplus里如果重复建同名用户会报ORA-01920这时先DROP USER 用户名 CASCADE再重建。另外Oracle 19c开始默认PASSWORD版本做了调整密码里别用纯数字含字母和特殊符号的密码能避免后续版本兼容上的隐性坑。3.3 SQL*Plus登录实操与常见报错进入SQLPlus的完整路径是cmd命令行输入sqlplus回车后输入账号再输入密码。要注意密码在SQLPlus里不回显这不是键盘坏了是Oracle故意藏起来的。建议直接写成完整命令sqlplus sys/密码127.0.0.1:1521/orcl as sysdba这样可以少输两次也不怕回显问题。如果用的普通用户权限前缀去掉直接sqlplus 用户名/密码orcl。常见的报错就三种报错原因解决ORA-01017用户名或口令无效大小写或密码本身不对确认密码注意Oracle密码区分大小写ORA-12514服务名不存在全局数据库名填错查INSTANCE_NAME和服务名后重试ORA-28000账号被锁用sysdba执行ALTER USER 用户名 ACCOUNT UNLOCK4. NC65安装与数据源配置从setup.bat到EJB部署的完整链路4.1 setup.bat安装Home目录的硬性规则Oracle就绪进入NC65安装环节。第一步在安装包目录下双击setup.bat这是NC65自己的安装器不是命令行工具。安装器会先让你选安装的产品模块测试环境建议只选核心平台和要测试的业务模块全选会拖慢安装速度。安装路径是这里最大的坑。手册明确写了“Home目录不能含中文”意思是NC65最终安装到的运行目录不能出现汉字和空格。比如D:\nchome是安全的D:\新建文件夹\nchome就会出现问题。原因是NC65启动脚本和Java环境对空格兼容性很差sysconfig.bat解析路径时会把带空格的目录拆成两段数据源配置和EJB部署都会出错且很难定位。提示Home目录一旦带中文或空格重装比改配置快。安装完成后NC65的运行结构大概是这样的目录作用home/bin放sysconfig.bat、startup.bat等管理脚本home/appsNC65中间件相关模块home/ierp企业级运行框架目录home/logs运行日志排查问题主要看这里这一步做完别急着双击startup.bat先配置数据源否则服务起来也登录不了。4.2 sysconfig.bat数据源配置的读取、修改、测试三步进入home/bin双击sysconfig.bat打开的是图形化配置工具。左侧菜单是“数据源”点开后先点“读取”工具会把当前配置读出来然后再点“修改”把三个值填进去配置项填的值数据库类型Oracle数据库名称第2章里记下的全局数据库名如orcl用户名第3章CREATE USER里建的用户名密码对应的用户密码重点在“测试”按钮。填完参数后点测试工具会直接连Oracle判断能不能通。测试成功会弹提示失败会给出错误码。这一步是最容易卡住的环节九成原因是数据库名称填错。有人填了实例名有人填了服务名还有人填了IP正确值是你在Oracle安装时设的全局数据库名也就是sqlplus连接串里的那个名字。测试通过之后还没完接着做“安全日志数据源”。手册里有一句“初始化数据源”它的作用是创建NC65自己的安全日志表。这个步骤要做如果不做后面登录系统时日志模块会报错而且业务操作里一涉及日志写入就卡住。4.3 EJB部署全选之后要等多久sysconfig配置工具里还有一个“部署EJB”的按钮进入后模块列表默认是全选的直接点“部署EJB”。EJB部署本质上是把NC65的中间层组件编译并装载到应用服务器的过程期间控制台会滚动输出大量信息时间根据机器性能大致在五分钟到二十分钟之间。这步常见的问题有这么几个部署过程中杀毒软件拦截导致部分EJB没部署成功启动时会报“找不到EJB”还有机器内存不足部署到一半进程假死。我一般会关掉杀毒软件的实时监控再执行部署过程中不碰鼠标键盘等它完整跑完。完成后工具里会显示部署状态再往下才轮到启动服务。启动服务前再做最后一遍确认sysconfig数据源测试通过、安全日志数据源已初始化、EJB已部署。三件事全做完双击home/startup.bat启动NC65。5. NC65安装避坑五个必踩的坑与排查顺序5.1 Home目录带中文或空格sysconfig.bat打不开现象双击sysconfig.bat窗口一闪而过或者提示“找不到类”配置工具根本起不来。原因NC65的Java启动器解析HOME路径时所有配置都写在home/bin下的脚本里路径带中文和空格会直接截断。这是Windows中文用户名和默认下载目录最常见的坑尤其桌面路径“C:\Users\中文名\Desktop”几乎必挂。解决安装Home目录必须满足两个条件全路径不含中文、不含空格。推荐放到D盘根目录下的纯英文目录如D:\nchome。如果已经装错了不要试图改配置文件补丁直接卸载重装一片干净。5.2 数据源测试一直失败报ORA-12514现象sysconfig数据源测试失败弹的是ORA-12514TNS:listener does not currently know of service。原因数据库名称填的不是Oracle注册的服务名。ORA-12514是服务名解析失败最常见是把全局数据库名忘了或者填了SID、IP、实例名。解决回到sqlplus里执行SELECT value FROM v$parameter WHERE nameservice_names;查一下当前服务名把结果原样填进sysconfig的“数据库名称”再测试。如果还报错查监听状态lsnrctl services看监听里实际注册的服务名和端口确认1521端口没被占用。5.3 授权只有connect没有dba建库向导脚本跑一半报权限不足现象admin.jsp建库向导执行脚本时创建到某张表突然报ORA-01031权限不足终止整个建库过程。原因CREATE USER之后GRANT只给了connect建库向导需要创建表、索引、序列、触发器缺dba就会在中途翻车。测试环境允许给dba别省。解决sqlplus以sysdba登录执行GRANT dba TO 用户名;后重跑建库向导。另外建库向导失败后数据库里会残留半套表重跑之前建议先DROP USER 用户名 CASCADE把半个库清干净再重新执行脚本不然第二次建库会撞表名冲突。5.4 startup.bat启动后浏览器访问localhost:端口没反应现象双击startup.bat黑窗口卡住浏览器访问http://127.0.0.1:8080/admin.jsp没有响应。原因端口被占用是最常见的其次是startup.bat启动过程中EJB还没完全起来网页打不开。解决先在cmd里执行netstat -ano | findstr 8080看端口有没有被其他进程占占了就换端口如果端口空闲等到startup.bat窗口里出现“started”字样再试。NC65默认端口不是写死的手册里的“端口号”就是startup窗口里打印的实际端口。日志在home/logs下报错看日志比猜配置靠谱。5.5 安全日志数据源没初始化登录后业务操作报错现象能登录系统、能进入建库向导但一执行业务操作或查日志就报数据源异常。原因只配置了业务数据源没点“安全日志数据源”初始化日志模块没有独立的数据源可用。解决进sysconfig.bat点“安全日志数据源”执行初始化再重启startup.bat。以后每次改数据源配置安全日志数据源都要同步处理一遍这是NC65配置里最容易漏的一环。6. 启动验证不能省admin.jsp登录、建库向导与license激活服务启动成功后访问http://127.0.0.1:端口号/admin.jsp浏览器会进到管理登录页。管理员账号固定是root密码是super初始密码为空直接回车登录。登录进去第一件事不是玩界面是配置系统编码和系统名称再保存数据源信息。这些配置项保存在系统表里后续建库脚本要读它们。保存配置后进入“建库向导”选择上一章装的安装产品点执行数据库安装脚本。这一步才是真正把NC65业务表建进Oracle的过程时间长短取决于机器和选的模块数。执行过程中页面会刷出进度和日志重点看有没有红色ERROR。脚本执行完系统初始化才算完成。验证装没装成我有个习惯动作退出登录重新访问admin.jsp看系统名称是否正常显示然后跑一遍登录随便打开一个基础档案页面不报错就是真的通了。如果页面空白或报错别瞎猜去home/logs看最新的日志文件尾部九成问题都有明确提示。license激活这块手册特意放在最后也是容易被人忽略的地方安装和建库都是功能性的没有授权文件的话系统运行会受许可限制。激活入口在sysconfig.bat里点license按界面加载授权文件获取授权后才能长期正常使用。这个步骤不做系统跑一阵就会提示许可异常到时候再补激活还是要重启服务不如装完顺手就做。从那以后我每次搭NC65测试环境都强制走一遍三查监听服务、数据源测试、EJB部署状态。三查做完再启动服务成功率基本是百分之百省下来的全是熬夜排错的时间。希望帮到你。本文还有配套的精品资源点击获取