ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

用友NC65安装全流程:Oracle表空间与数据源配置实战

用友NC65安装全流程:Oracle表空间与数据源配置实战

简介:这是一份面向用友NC65及NCC高版本实施顾问的完整安装操作手册,专为自学搭建测试环境的新手设计,能解决官网资料零散、上手门槛高的问题。资源为单个doc文档,压缩包仅933KB,便于携带和查阅,内容覆盖从Oracle数据库安装、创建表空间、授权用户,到运行setup.bat安装产品、配置数据源、初始化安全日志数据源、部署EJB,再到启动系统、访问admin.jsp并在建库向导中执行数据库脚本的完整闭环。目前已有3429人学习下载,适合对照实操。文档对每一步的界面选项、全局数据库名与口令记录、安装目录避免中文等细节均给出明确提示,还附有NNC_DATA01与NNC_INDEX01表空间SQL示例、用户授权语句以及license激活说明,能帮助读者快速搭建一套可测试的NC环境,规避常见坑点,尤其适合需要从零入门或迁移高版本NCC的顾问。整份文档以实操为导向,步骤清晰,穿插典型示例,可显著降低环境准备时间。

1. 用友NC65安装:数据库、表空间、数据源,一环扣一环

用友NC65的安装对新手实施顾问来说,第一道坎往往不是NC本身,而是它底下的Oracle数据库。很多人装完Oracle就松口气,结果卡在表空间、用户口令这些小问题上,到后面sysconfig.bat里测数据源一遍遍报错,明明照着教程点,就是连不上。这篇安装手册是我按实际走通的流程重新整理过的,从Oracle数据库装起,一路到NC65的admin.jsp登录和建库向导,适合想在自己电脑上搭一套测试环境的新手顾问,也适合负责实施交付、需要快速复现客户环境的工程师。按这份步骤走,你能少踩一半的坑。

2. 安装Oracle数据库:全局数据库名和管理口令决定后续成败

2.1 安装前先想清楚三件事

动手点安装程序之前,我一般会先把三件事想清楚:用哪个版本的Oracle、装哪种安装类型、口令怎么规划。版本方面,本地测试不挑太新的,手边有哪个完整安装包就用哪个,关键是安装包要能正常出建库向导。NC65这种企业软件对数据库版本的兼容性要求很明确,新版本界面选项会有差异,但主干流程是一致的。安装类型上,NC65要的是“创建和配置数据库”,不是“仅安装数据库软件”——后者只装了数据库引擎,没有实例,后面NC65根本连不上,这也是新手最容易选错的一步。

口令规划是这里最容易翻车的地方。安装过程中会先让你设一个“管理口令”,装完后又弹出窗口要求设置sys和system的密码。手册里明确建议这两处设成一样的,我实际装下来也是这样做的:后续配NC65数据源时,数据库名、用户、口令三个值要一起填,口令不一致,测试按钮永远给你红色报错。别问我怎么知道的,光这个我就反复改过三回。建议把口令统一记在一个临时笔记里,后面创建NC用户、配置数据源都要用它,翻安装记录远不如翻笔记快。

2.2 向导每一步做什么:从右键管理员到点完成

Oracle安装包拿到手,不要直接双击,右键“以管理员身份运行”。这一步不是玄学:安装程序要往系统写注册表、创建Windows服务,权限不够会在中途弹出各种奇怪的失败窗口,最后装出来的实例状态也不正常。

安装向导里依次是:

  1. 取消勾选“我希望通过My Oracle Support接收安全更新”,点下一步——本地测试环境不需要连Oracle的更新服务,勾着反而会在检测阶段多花时间。
  2. 弹窗问是否确实要创建数据库,点是。
  3. 选择“创建和配置数据库”,下一步。
  4. 选择“桌面类”,下一步——服务器类要处理ASM磁盘组、裸设备这些,本地测试完全用不上,选桌面类省掉一堆前置检查。
  5. 安装目录没有特殊需求就默认,但全局数据库名和管理口令一定要记下来。

全局数据库名默认通常是orcl,可以改成你自己想要的标识,只要后面配置数据源时保持一致就行。管理口令就是sys用户的初始口令,建议用大小写字母加数字的组合,别用过于简单的,否则Oracle的密码策略会卡你。

点“完成”后,数据库开始正式安装。这一步会比较久,取决于机器性能,一般十到三十分钟。安装过程中如果环境异常,比如预检阶段报某个系统组件缺失,先解决预检项再重试,不要跳过警告硬装。另外,如果机器上以前装过别的Oracle实例,可能会遇到监听端口冲突,这时候要把新实例的监听端口换掉,或者把旧实例清理干净再继续。

环境没有异常的话,等待安装完成后,最后会弹出一个窗口要求设置sys和system的密码,建议和之前设的管理口令保持一致——这就是我在上一节说的那个关键点。sys和system是两个不同的超级账户:sys是数据字典的拥有者,system是普通的DBA管理账户。NC65建库脚本运行时主要用你新建的普通账户,但安装阶段把这两个密码统一,后面排查问题能少一个变量。

提示:密码设置窗口在安装最后才出现,很多人装完以为关了窗口就结束了,等密码窗口弹出来时没注意就关了,导致后续要用sysdba登录时怎么也登不上。这一步耐心点,等它弹完。

2.3 装完先自检一遍再往下走

数据库“安装完成”不代表实例一定已经正常起来。我一般会先开一个命令行,执行:

sqlplus / as sysdba

然后执行:

SELECT STATUS FROM V$INSTANCE;

能看到返回OPEN状态,说明实例已经正常启动。如果连不进去,先确认Oracle服务是否在Windows服务里启动,常见的有OracleServiceORCL、OracleOraDbConsole等。这一步自检很重要,因为接下来所有操作——建表空间、建用户——都依赖实例是OPEN状态。

如果不想走sysdba,也可以直接测试刚设的密码能不能登录:

sqlplus system/你的密码@orcl

能进入SQL*Plus命令行回到SQL>提示符,就说明账号口令这块已经通了。

除了登录测试,我还会顺手检查两样东西:Windows服务列表里有没有OracleServiceORCL这样的服务,以及服务是否处于启动状态;再打开Oracle的监听配置,确认监听端口是正常监听的。服务在跑、实例OPEN、监听正常,这三样齐了,才算真正把数据库备好,可以进入下一步的表空间操作。

3. 创建表空间和数据库用户:三条SQL打通NC65的存储地基

3.1 先建目录再建表空间

第2章把Oracle装好之后,下一步是给NC65准备独立的存储空间。NC65的表结构、索引、存储过程加起来是很大的一批对象,如果全塞进Oracle默认的USERS表空间,后面看数据文件、做扩容都不方便。所以手册里的标准做法是单独建两个表空间:一个装数据,一个装索引。

在动手执行SQL之前,有个小细节要先处理掉:表空间的数据文件要落在一个真实存在的目录里。手册例子用的是D:\NCDATA,那你就先去Windows资源管理器里把D:\NCDATA建好。很多人直接复制SQL执行,报错说文件路径无效还一头雾水,其实就只是目录没建。这个目录位置可以按你的磁盘习惯调整,但记住后面所有SQL里的路径都要和它保持一致。

注意:数据文件路径不要带中文目录名,Oracle在中文路径下有时能建成功,但后续备份恢复很容易出幺蛾子。就算系统支持,也别赌。

3.2 数据表空间与索引表空间分开建

登录SQL*Plus后,依次执行下面的语句。先建数据表空间:

CREATE TABLESPACE NNC_DATA01 DATAFILE 'D:\NCDATA\NNC_DATA01.DBF' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 256K;

再建索引表空间:

CREATE TABLESPACE NNC_INDEX01 DATAFILE 'D:\NCDATA\NNC_INDEX01.DBF' SIZE 500M AUTOEXTEND ON NEXT 50M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;

两条语句结构一样,参数含义拆开看:

  • DATAFILE:指定数据文件存放路径和文件名,必须是上一节建好的目录,路径用单引号括起来,Windows下反斜杠直接写。
  • SIZE 500M:初始大小。测试环境500M起步够用,生产环境建议按业务量预估,一般2G起步更稳。
  • AUTOEXTEND ON NEXT 50M:文件用满后每次自动扩展50M。这个参数能救命,建库脚本跑一半如果空间满了会直接中断,有自动扩展就不会出现这种问题。
  • EXTENT MANAGEMENT LOCAL UNIFORM SIZE:本地管理表空间,统一区大小。数据表空间用256K的区,索引表空间用128K的区,这是Oracle管理上的常规搭配——索引块通常比数据块小,区大小也相应小一些。

两条都执行成功会提示“表空间已创建”。我习惯接着查一下确认:

SELECT TABLESPACE_NAME, STATUS FROM DBA_TABLESPACES;

能看到NNC_DATA01和NNC_INDEX01都在且状态为ONLINE,再继续往下走。为什么数据文件和索引文件分开?原因不只是习惯问题:NC65运行时会频繁读写业务表数据,索引文件独立存放后,备份时可以分别处理,扩容时也可以只扩某一个表空间,排查IO问题时能把数据盘和索引盘分开看。生产场景这两个文件建议放在不同的物理磁盘上,测试环境放在同一块磁盘上问题也不大。

3.3 建用户并授权:connect和dba缺一不可

表空间就绪后,创建NC65要用的数据库用户。手册里的SQL模板是这样:

CREATE USER nc65 IDENTIFIED BY nc65_password DEFAULT TABLESPACE nnc_data01 TEMPORARY TABLESPACE temp;

用户名和密码按你自己的规划填,我示例里的nc65/nc65_password要替换成实际值。DEFAULT TABLESPACE指定默认表空间为nnc_data01,这样NC65创建的表默认都会落在数据表空间里;TEMPORARY TABLESPACE temp用Oracle默认的临时表空间就行。

然后授权:

GRANT connect, dba TO nc65;

这里有个新手容易纠结的点:为什么要给dba这么大的权限?原因在于NC65的建库向导会在用户schema下批量创建几千张表、索引、序列和存储过程,还要执行大量DDL语句。如果只给connect和resource,跑脚本时会频繁报权限不足,一个对象失败就可能中断整个建库流程。单机测试环境图省事直接给dba是最常见的做法,生产环境则建议在最小化权限和脚本成功率之间做取舍。

如果之前已经建过同名用户、想重建,先执行:

DROP USER nc65 CASCADE;

CASCADE会连带把该用户schema下的所有对象一起删掉,避免残留对象干扰后续建库。重建后再走一遍创建和授权的流程。

授权完成后,可以用刚建的用户试一次登录:

sqlplus nc65/nc65_password@orcl

能登录就说明用户、默认表空间、权限这一套都通了。到这里,Oracle侧的准备工作就齐了,接下来进入NC65本体的安装和配置。

4. 安装NC65与配置数据源:从setup.bat到admin.jsp的完整链路

4.1 运行setup.bat之前:目录规划要提前做

NC65安装包解压后,根目录下有setup.bat。这个文件不要直接双击,最稳的方式是在已解压目录里打开一个管理员身份的cmd窗口,然后执行:

setup.bat

用管理员身份跑的原因和安装Oracle一样:安装过程会写环境变量、注册Windows服务,权限不足时程序可能不报错,但装完后启动脚本会异常。

安装向导里会让你选择安装的产品和home目录。home目录就是NC65的安装根目录,这个路径不能含中文。常见案例是把home放在C:\NC65\home,或者按手册习惯放在D:\NC65\home。我之前见过有人图省事装在C:\用户\xxx\NC65home,结果sysconfig.bat读取配置时路径解析出错,最后只能重装。另外,home目录所在磁盘要留够空间,部署EJB和建库阶段都会产生不少临时文件,磁盘满了比任何报错都难排查。

提示:home目录不光是程序文件,还承载配置文件、日志、部署的EJB包。选一个空间充裕、路径纯英文的位置,比装完后搬家省事得多。

4.2 配置数据源:读取、修改、测试三步走

安装完成后,进入home/bin目录,双击sysconfig.bat打开系统配置工具。先点“数据源”,再点“读取”。

“读取”动作是让工具去读取home目录下已有的配置文件,把历史配置项加载出来。如果是全新安装,这里一般是空的。接下来点“修改”,在弹出的窗口里选择数据库类型为Oracle,数据库名称填第2章记下来的全局数据库名(比如orcl),再填入第3章创建的用户名和口令。

配置完这一串,最关键的一步是点“测试”。测试按钮实际会做一次JDBC连接,如果连不通,它会直接给出错误信息。最常见的失败原因就三种:全局数据库名写错、用户名或口令不对、Oracle实例没启动。对照第2章的验证结果逐一排查就行。测试通过后保存配置,这时候sysconfig会把配置写回home目录下的配置文件里,后续startup.bat启动时读的就是这份配置。

这里我多说一句:读取、修改、测试三个按钮是有顺序的。读取是从配置文件加载,修改是编辑当前配置,测试是验证当前配置。如果改了配置但没点保存就关闭窗口,等于白改;如果没点读取直接修改,可能把旧配置覆盖掉。每一步操作后看一眼工具底部的提示信息,确认动作执行成功再进入下一步。

4.3 安全日志数据源与EJB部署

数据源配置通过后,回到sysconfig主界面,还有一个“安全日志数据源”的入口。先点进去把安全日志数据源初始化。这一步很多人会跳过,觉得“数据源都配好了还配什么”——但安全日志模块的数据源是独立的一套配置,不初始化的话,后续登录NC65后日志功能会报错或者干脆写不进日志。

安全日志数据源初始化完成后,进入“部署EJB”页面。这里把所有可选的EJB模块全选,点“部署EJB”。这一步会把NC65的远程业务组件编译并部署到home目录下的部署目录中,耗时取决于机器性能,一般几分钟到十几分钟不等。部署期间不要关闭工具窗口,也不要去做其他耗内存的操作,部署日志会实时滚动,看到“部署成功”或类似提示再关窗口。

部署EJB结束后,sysconfig.bat这边的配置工作就算完成了。后面如果还要激活软件,也是回到这个工具,点“license”获取授权——授权文件不装的话,系统登录后会有许可提示,功能也会受限。授权是合法使用软件的重要步骤,别漏了这一步。

4.4 启动系统:startup.bat与admin.jsp

配置完成,到home目录双击startup.bat启动NC65服务。第一次启动会比较慢,控制台刷日志刷得很长,这是正常的。等日志里出现类似“server start”或监听端口就绪的信息,就说明服务起来了。如果日志在某个位置反复重试、报错,别急着关窗口,把出错那几行截图或复制下来,对照第5章的排查思路处理。

然后打开浏览器访问:

http://127.0.0.1:端口号/admin.jsp

端口号就是startup.bat启动时日志里显示的端口,默认常见的是8080,具体以你的安装配置为准。页面打开后,用管理员账号登录:账号root,密码初始为空;部分环境也接受super作为管理员账号。登录后第一件事是配置系统编码和系统名称,再把数据源信息确认一遍、保存。

保存后进入“建库向导”窗口,勾选安装的产品,执行数据库安装脚本。这一步会把NC65的业务表、字典、流程定义等全部写入第3章建好的表空间。执行时间同样较长,看到执行成功或完成提示,整个安装流程才算真正跑通。

5. 常见问题排查:数据源不通、脚本报错、启动失败的现场补救

5.1 数据源测试报错:ORA-01017,用户名或口令无效

现象:sysconfig.bat里点“测试”,提示ORA-01017 invalid username/password,怎么检查都觉得账号没问题。

原因:三类情况最常见。一是安装Oracle时设的管理口令和建库用户口令确实不一致;二是全局数据库名写错,导致连到了错误的实例;三是第3章建的那个用户口令里带特殊字符,在配置界面里被转义了。

解决:先在SQL*Plus里用sqlplus nc65/实际密码@orcl手工登录一遍,确认密码无误。如果手工能进、工具里报错,检查配置界面里有没有把密码前后的空格带上;如果是特殊字符问题,最干脆的办法是把NC数据库用户的密码改成纯字母数字组合,再回到sysconfig里重新测试。改密码用这条:

ALTER USER nc65 IDENTIFIED BY 新密码;

改完记得同步更新sysconfig里的配置。

5.2 建库向导执行报错:权限不足或对象已存在

现象:建库向导执行数据库脚本,跑到一半中断,日志里出现ORA-01031 insufficient privileges,或者提示表、序列已经存在。

原因:权限不足通常是创建NC用户时只授了connect,没授dba;对象已存在则是上一次建库跑到一半失败了,残留对象没清理。

解决:用sysdba登录,补上授权:

GRANT connect, dba TO nc65;

如果对象残留,就重建用户:

DROP USER nc65 CASCADE;

然后按第3章的流程重新创建用户并授权,最后重跑建库向导。

5.3 startup.bat启动后页面打不开

现象:startup.bat跑完,控制台没有明显报错,但浏览器访问admin.jsp就是连不上。

原因:端口被占用,或服务还处于启动中。NC65默认端口如果被本机其他应用占用了,服务实际监听的端口会变成别的值。

解决:先看控制台日志里最终监听的是哪个端口,用日志里的端口访问而不是教程里的默认端口。如果日志里明确报端口冲突,去home目录下的配置文件中把端口改掉,重启startup.bat。另外确认Windows防火墙是否放行了该端口,本地测试可以临时关掉防火墙验证一下,能访问再把防火墙规则加回来。

5.4 数据文件创建报错:目录不存在或路径无效

现象:执行CREATE TABLESPACE时报错,提示无法打开数据文件,或者目录路径无效。

原因:SQL里的路径对应目录没有在Windows文件系统里真实创建。Windows下Oracle不会自动帮你创建目录,路径少一个层级都会直接失败。

解决:按SQL里写的路径完整建好目录再重新执行。目录层级要核对清楚,比如D:\NCDATA就建到D盘根下的NCDATA目录。SQL里写哪里就建哪里,不要自作聪明建到D:\NCDATA\data之类的地方。

5.5 home目录含中文导致部署EJB失败

现象:部署EJB时提示路径相关错误,或在启动时加载组件失败,日志里路径显示的是乱码或转义后的中文。

原因:NC65基于Java体系,对中文路径的处理在Windows上一直是老大难。安装时图省事把home放在中文目录里,前期配置不报错,到部署EJB和启动阶段就露馅。

解决:没有太好的补救办法,最干净的做法是卸载重装,home目录换成纯英文路径。如果已经部署了一半,先确认当前部署状态,把home目录下的部署临时文件清掉,重新部署。但说实话,这个坑最好的处理方式就是不要在第一步让它发生。装之前多花两分钟确认路径纯英文,后面能省一小时。

6. 验证跑通:从admin.jsp登录到建库向导完成的完整检查

建库向导执行完成后,别急着关浏览器,按下面几条走一遍,确认整条链路是通的。

第一,再次登录admin.jsp,用管理员账号root(或super)登录,密码为空。能正常进入管理界面,说明系统服务和登录认证链路没问题。这一步如果登录都进不去,前面所有配置可能都没保存成功,回到sysconfig重新检查一遍。

第二,进数据源管理页面,重新对配置的数据源做一次连接测试。这次测试通过,说明NC65应用层到Oracle的连接是通的,跟第4章用sysconfig测的是同一个链路,但层次更高。测试失败的话,按第5章的ORA-01017场景排查。

第三,查看建库向导的执行日志,确认没有任何ERROR级别记录。有些情况下执行结果提示成功,但日志里藏着一两个对象失败,这些失败如果涉及的模块不常用,当时不会暴露,等用到对应功能时才会炸出来。日志文件路径一般在home目录的日志文件夹下,按执行时间排序找最新的那个看。

第四,用普通操作员账号尝试登录NC65前台页面,或者至少在admin配置里把系统编码、名称、数据源这些配置再核对一遍,确认保存成功。建库向导执行完成,不等于所有配置都正确写入,多看一眼不亏。

从那以后我每次装NC65,都强制自己先花两分钟核对三件事:Oracle密码是否全局一致、home目录是否纯英文、数据文件目录是否真实存在。这三样对了,整个安装流程基本能一次走通,剩下的都是等待时间。数据源测试、建库向导这一类验证动作,我也习惯每次都做完配置立即执行一次,而不是攒到最后一起查,每走一步确认一步,翻车的概率会小很多。

这份手册适合留作自己的安装记录,下次换一台机器,或者给同事搭一套测试环境,照着走就能少走弯路。等哪天你也被别人求教怎么装NC65,把这篇丢过去,比手把手截图省心多了。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进