☰
Opics资金交易系统安装配置全攻略:从环境规划到批量验证
2026/11/2 9:51:07 网站建设 项目流程

简介:这份文档面向 Opics 系统项目的实施与运维人员,提供从部署到日常维护的完整操作指引,适合需要独立完成系统搭建、配置与排障的初中级技术人员参考。压缩包内为 1 个 doc 文件,约 7.15MB,内容按章节组织,涵盖系统总体架构与软硬件清单、安装步骤与目录权限定义、创建 Opics 数据库及 ODBC 配置、OSYS 批量处理、Rate Feed 路透终端与风险模块配置,并延伸至 ALM 安装、报表系统接口和系统运行维护等模块,目录层级清晰,便于按实施阶段逐章查阅。目前已有 494 人学习,可作为项目交付时的现场对照手册,也可用于梳理各组件之间的依赖关系与配置要点,帮助读者减少试错、快速定位安装与维护中的关键环节。

1. 从一台 Dell 2850 说起:Opics 这套环境为什么总在“装完才出事”

上周帮一个做资金交易系统的朋友看环境,一台 Dell 2850 上 Windows Server 2003 英文版刚装完,Citrix 也起来了,结果业务同事一登录 Opics 客户端就报错,查了半天发现是opx.ini里OPXCOMMON路径还指着上一台机器的用户目录。这种“装完能启动、一用就翻车”的情况,在 Opics 这类老牌资金交易系统上太常见了。它不像现在一个 Docker 镜像就能跑起来的东西,Opics 的安装是一整套硬件、操作系统、数据库、中间件、客户端层层咬合的工程:Oracle 9.2.0.7 跑在 AIX 5.3 上,文件服务器和 Citrix 跑 Windows 2003,Risk 服务器单独一台刀片,批量机又是另一台 PC。哪一层的版本、字符集、目录权限没对齐,后面就是连锁反应。这篇笔记按我实际装过的一套环境来写,从版本选型、目录规划、ODBC 配置到 Rate Feed 和 OSYS 批量,最后落到怎么验证跑通,新手能照着走,熟手能对照看版本和参数取舍。

2. 装前把环境列清:Opics 的硬件、系统与版本对照

Opics 这套系统对环境的挑剔程度,放在今天看几乎是“考古级”的。它不是一个单体应用,而是由数据库服务器、文件/Citrix 服务器、Risk 服务器、批量机、利率导入机等多台机器组成的分布式部署。装之前如果不把每台机器的角色、操作系统版本、依赖软件列清楚,后面装到一半发现某台机器缺 Oracle Sql Net 客户端或者字符集不对,返工成本极高。我一般会先画一张对照表,把每台机器的职责和软件清单钉死,再动手。

2.1 五类机器的角色划分与软件清单

按手册里的架构,这套环境至少涉及五类机器,每类的软件栈不一样,装的时候顺序也有讲究。下面这张表是我整理的环境对照,装之前建议先照着核对一遍,缺什么补什么。

机器角色硬件操作系统关键应用软件
Oracle 数据库服务器IBM pSeries ×2AIX 5.3Oracle 9.2.0.7 for AIX64
文件服务器 / Citrix 服务器Dell 2850 ×2Windows 2003 英文版(装中文字符集)Citrix Server(20 用户)、Terminal Server、Office 2003 英文版、Oracle Sql Net 客户端、Opics 客户端、Opics Risk 客户端
Opics Risk 服务器Dell 1855 刀片Windows 2003Oracle Sql Net 客户端、MQ、Office 2003 英文版
批量机Dell PCWindows 2003Oracle Sql Net 客户端、Opics 客户端、Citrix 客户端
利率导入及风险客户端Dell PCWindows 2003Oracle Sql Net 客户端、Office 2003 英文版、Opics 客户端、Citrix 客户端

这张表里最容易被人忽略的是“英文版系统 + 中文字符集”这个组合。Windows 2003 英文版本身不带中文支持,但 Opics 的报表、文本证实模板里会有中文内容,所以装完系统第一件事就是补中文字符集和微软中文输入法,否则后面 Office 打开模板就是乱码。另一个坑是 Oracle 客户端版本,数据库是 9.2.0.7,客户端侧的 Sql Net 最好跟服务端大版本对齐,别拿一个高版本客户端去连 9i,ODBC 驱动匹配不上是常事。

2.2 版本选择的取舍:为什么是 Oracle 9.2.0.7 和 AIX 5.3

这套环境是 2007 年前后的配置,放到今天当然有更新的选择,但如果是要复现或维护一套既有系统,版本就不能随便动。Oracle 9.2.0.7 是 9iR2 的一个补丁集版本,选它而不是 9.2.0.1,主要是稳定性补丁已经打全,Opics 的数据库脚本在这个版本上验证过。AIX 5.3 配 pSeries 也是当年 IBM 小型机的主流组合,64 位 Oracle 在这上面跑得稳。

我一般会提醒一句:如果是在新环境里重建,数据库版本尽量跟原生产保持一致,别自作主张升到 10g 或 11g。Opics 的建库脚本、ODBC 配置、甚至某些 SQL 写法都是针对 9i 调的,升版本带来的隐式类型转换、字符集默认值变化,足够让你排查一整天。字符集这块,建库时选对 NLS_CHARACTERSET 很关键,中文环境常见做法是 ZHS16GBK,建完库用SELECT * FROM nls_database_parameters WHERE parameter LIKE '%CHARACTERSET%';确认一遍,别等数据进去了才发现字符集不对。

2.3 装前检查清单:字符集、客户端、共享目录

动手前我会过一遍这几项,都是后面步骤的前置条件:

  • 数据库服务器 Oracle 已按独立文档装好,监听正常,能用 sqlplus 连上。
  • 文件服务器 Windows 2003 英文版已补中文字符集和微软中文输入法。
  • 每台需要连库的机器都装了对应版本的 Oracle Sql Net 客户端,并能用 tnsping 通。
  • 文件服务器上规划好 D 盘目录:opics、opicsdata、opxacc,后面所有安装都围绕这三个目录展开。
  • Citrix 用户账号在 Windows 里先建好,权限给到读写。

提示:字符集和 Sql Net 这两项如果装完系统不先确认,后面装 Opics 客户端时 ODBC 建数据源会直接失败,报错信息还很含糊,容易误判成驱动问题。

3. 文件服务器与 Citrix 安装:目录、权限和 opx.ini 三件事

文件服务器是整个 Opics 环境的中枢,客户端程序、公共配置、用户数据都从这里分发。Citrix 则负责把 Opics 客户端和 Risk 客户端发布给业务终端,业务同事本地只装一个 Citrix 客户端就能用。这一章的安装步骤看着琐碎,但每一步都对应后面会踩的坑,尤其是目录权限和opx.ini的路径改写,装错一个字符就是登录报错。

3.1 系统层安装顺序与目录创建

文件服务器 / Citrix 服务器的软件安装有固定顺序,乱序装容易出现组件依赖问题。我按手册的顺序走,并在每步后做了验证:

# 1. 安装 Windows 2003 Server 英文版,装完后补中文字符集 # 控制面板 -> 区域和语言选项 -> 安装东亚语言支持 # 2. 安装微软中文输入法 # 3. 安装 Citrix Server(20 用户授权) # 4. 安装 Terminal Server # 5. 安装 Office 2003 英文版,至少选 Access 和 Excel # 6. 安装 Oracle Sql Net 客户端,配置 tnsnames.ora 指向数据库

这段顺序里,Citrix 要在 Terminal Server 之前或按厂商文档顺序装,Office 放在后面是因为它依赖系统组件。装完这些,再在 D 盘建三个目录:

# 在 D 盘根目录创建 Opics 运行所需目录 mkdir D:\opics mkdir D:\opicsdata mkdir D:\opxacc

opics放应用程序和系统文件,opicsdata是每日备份目录,opxacc放各 Citrix 用户的个人配置和访问文件。这三个目录的用途在后面权限表和备份策略里都会用到,名字别改,Opics 的程序里很多路径是写死相对这三个目录的。

3.2 解包 Opics 软件包与目录权限定义

把 Opics 系统软件包拷到服务器后,解到D:\opics下,解包后会出现一批子目录,包括DOCS、OPXACCESS、OPXARC、opxdb、opxexe、opxjob、opxlog、opxpwd、opxrpt、opxsec、opxsys、opxupr、scripts、source、Zdata61等。这些目录的权限不是一刀切给 Everyone 读写就完事,手册里给了一张很细的权限矩阵,一般用户、系统管理员、批量三类角色对每个目录的读、写、删除、执行权限都不一样。

我一般会按这张矩阵用 icacls 批量设,核心原则是:opxexe应用程序目录普通用户只读可执行,opxlog日志目录普通用户可写,opxpwd、opxsec这类权限配置文件只有管理员能写,opxjob批量步骤列表批量账号要能读写。下面是一个设置示例,实际按矩阵逐目录调整:

# 示例:opxexe 目录,普通用户只读+执行,管理员完全控制 icacls D:\opics\opxexe /grant "Users:(OI)(CI)(RX)" /grant "Administrators:(OI)(CI)(F)" # 示例:opxlog 目录,普通用户可写(日志要落盘) icacls D:\opics\opxlog /grant "Users:(OI)(CI)(M)" /grant "Administrators:(OI)(CI)(F)" # 示例:opxpwd 权限配置目录,仅管理员可写 icacls D:\opics\opxpwd /grant "Users:(OI)(CI)(R)" /grant "Administrators:(OI)(CI)(F)"

(OI)(CI)表示对象继承和容器继承,RX是读加执行,M是修改,F是完全控制。权限设错最典型的后果是:普通用户跑 OSYS 批量时写不了opxlog,进程静默失败;或者反过来,普通用户能改opxpwd,权限配置被误改导致登录异常。设完权限后,共享D:\opics,给相应读写权限,再把D:\opics映射为 M 盘,很多客户端配置里引用的是 M 盘路径。

3.3 Citrix 用户目录与 opx.ini 改写

Citrix 用户是这套环境里最容易出问题的地方。每个 Citrix 用户登录后,Opics 需要知道他的公共目录和个人访问文件目录在哪,这个信息就写在用户 Windows 目录下的opx.ini里。手册的做法是:在 Windows 里建好一批 citrix 用户(如 citrix5011、citrix3053 等),在D:\opxacc下为每个用户建同名目录,目录里再建opxacc和opxcom两个子目录,然后把C:\windows\opx.ini拷到每个用户的 Windows 目录下并改写路径。

[SETTINGS] PCID=OPX001 OPXCOMMON=D:\OPXACC\citrix3053\OPXCOM OPXACCFILES=D:\OPXACC\citrix3078\OPXACC LASTID=GZT

这段配置里,OPXCOMMON和OPXACCFILES两个路径必须改成对应用户自己的目录,PCID是终端标识,LASTID是上次登录标识。我见过最常见的翻车就是批量拷贝opx.ini时忘了改路径,所有用户都指向同一个目录,结果 A 用户的操作覆盖了 B 用户的配置,登录时报“配置文件被占用”或者数据串号。稳妥做法是写个脚本按用户名替换:

# 为每个 citrix 用户生成独立的 opx.ini,路径按用户名替换 for /f %%u in (citrix_users.txt) do ( copy C:\windows\opx.ini C:\Users\%%u\opx.ini powershell -Command "(Get-Content C:\Users\%%u\opx.ini) -replace 'citrix3053','%%u' -replace 'citrix3078','%%u' | Set-Content C:\Users\%%u\opx.ini" )

citrix_users.txt里一行一个用户名。替换完建议抽查两三个用户的opx.ini,确认OPXCOMMON和OPXACCFILES都指向自己的目录。最后在 Citrix 里发布 Opics、Opics Risk、Convert 三个应用,业务终端装 Citrix 客户端就能访问。

4. 数据库、ODBC 与 Risk 安装:连接层最容易翻车的地方

Opics 的文件服务器装完,接下来是让它连上数据库。这一层涉及建库、建 Opics 用户、配 ODBC 数据源、装 Risk 客户端,每一步都是“连接”性质的工作,任何一处参数不对,表现都是客户端连不上库或者连上了查不到数据。这一章把连接层的安装和配置拆开讲,重点放在 ODBC 和 Risk 的配置细节上。

4.1 创建 Opics 数据库与用户

数据库服务器上的 Oracle 按独立文档装好后,需要为 Opics 建库和建用户。建库的字符集前面提过,中文环境用 ZHS16GBK。建 Opics 用户时给足表空间和权限:

-- 创建 Opics 用户并授权(在数据库服务器上以 sysdba 执行) CREATE USER opics IDENTIFIED BY "opics_pwd" DEFAULT TABLESPACE OPICS_DATA TEMPORARY TABLESPACE TEMP QUOTA UNLIMITED ON OPICS_DATA; GRANT CONNECT, RESOURCE, CREATE VIEW, CREATE SYNONYM TO opics; GRANT CREATE PROCEDURE, CREATE SEQUENCE, CREATE TABLE TO opics;

DEFAULT TABLESPACE指向专门给 Opics 建的表空间,别用 SYSTEM。QUOTA UNLIMITED是给足配额,Opics 的脚本会建大量表和索引。授权里CREATE VIEW、CREATE SYNONYM、CREATE PROCEDURE都是 Opics 建库脚本需要的,少一个后面跑脚本就报权限不足。建完用户,用 Opics 提供的建库脚本(在scripts目录下)以 opics 用户登录执行,建表和初始数据。

4.2 ODBC 数据源配置与验证

ODBC 是 Opics 客户端和 Oracle 之间的桥。在文件服务器和每台需要直连库的机器上,都要配一个系统 DSN。步骤是:控制面板 → 管理工具 → 数据源 ODBC → 系统 DSN → 添加 → 选 Oracle 驱动 → 填数据源名、TNS 服务名、用户名密码。

# 典型 ODBC 配置项(以 Oracle 9i 驱动为例) Data Source Name: OPICS TNS Service Name: OPICSDB # 对应 tnsnames.ora 里的服务名 User ID: opics

配完别急着点确定,先点“Test Connection”,输入密码测试。测试通过只说明网络和监听通,还要用 Opics 客户端实际登录一次才算数。常见失败原因有三个:tnsnames.ora里服务名和 ODBC 里填的不一致;客户端是 64 位但 ODBC 配在了 32 位面板里(或反过来);Oracle 客户端版本和服务端 9.2.0.7 差太多导致驱动握手失败。我一般会在配完后用tnsping OPICSDB先确认 TNS 解析正常,再测 ODBC。

4.3 Opics Risk 安装与 MQ 依赖

Risk 服务器是独立一台 Dell 1855 刀片,装 Windows 2003,软件栈是 Oracle Sql Net 客户端、MQ、Office 2003 英文版。Risk 的安装按独立安装文档走,但有两个点要特别注意:一是 MQ 要先装好并配置队列管理器,Risk 和主系统之间的消息传递依赖它;二是 Risk 连库用的 ODBC 数据源要和主系统指向同一个库,但数据源名可以不同,装完后在 Risk 配置里指定。

# Risk 服务器上确认 MQ 队列管理器运行 dspmq # 输出应为 QMNAME(OPICS_RISK) STATUS(Running) 类似内容

dspmq是 MQ 的命令行工具,确认队列管理器处于 Running 状态。如果 Risk 装完启动报连接错误,先查 MQ 是否起来,再查 ODBC 是否能通,最后才怀疑 Risk 自身配置。这个排查顺序能省不少时间,因为 MQ 没起时的报错信息往往指向数据库,容易误导。

5. Rate Feed 与 OSYS 批量:数据进来的两条通道

系统能登录只是第一步,Opics 要真正跑起来,得有数据进来。数据入口主要有两条:一条是 Rate Feed,把路透终端的汇率、利率文件导进系统;另一条是 OSYS 批量,定时跑各种导入和处理进程。这两条通道配不好,系统就是个空壳,报表和风险计算都出不来。这一章讲 Rate Feed 的三段式配置和 OSYS 批量的进程安排。

5.1 Rate Feed 三段配置:路透终端、Risk 客户端、系统映射

Rate Feed 的配置分三段,缺一不可。第一段在路透终端上,把汇率利率文件共享出来:

共享目录:C:\reuters 目录文件:CNY INREST RATE.XLS DLSP.XLS FX RATE.XLS INTETEST RATE.XLS

打开这几个 Excel 文件,在 Tools 里选 Share Workbook,勾选 Allow changes by,再在 Tools 里设 AutoSave 每五分钟保存一次。这一步是让路透终端持续把最新报价写进文件。

第二段在 Opics Risk 客户端上,把C:\reuters映射成 Z 盘,然后在 Risk 的 Data → 获取外部数据里,把这四个文件设成数据源,刷新频率设每两分钟一次。映射盘符别用已经占用的,Z 盘是手册里的约定,改了要在 Risk 配置里同步改。

第三段在 Opics 系统里配映射关系:

汇率映射:REVP 期限定义 REVX 表映射 REVI 汇率检查 利率映射:RATE 表映射 RHIS 利率检查

然后在 OSYS 里挂导入批处理:D22RATE0001、RTXTOSYS(利率导入)、XTFXOSYS(汇率导入)、ISYSOSYS(BR22 导入)、ISYSOSY1(BR00 导入)。这几条批处理是数据从文件进系统的实际执行者,配完要手动跑一次确认数据落库。

5.2 OSYS 批量进程与二期新增接口

OSYS 是 Opics 的批量调度核心,一期的批量步骤列表在opxjob目录下。二期的批量增加了衍生产品部分,操作流程和一期一致,但多了两个接口进程:北方之星接口的D22SMCL进程,定时读取人民币债券收盘价导入系统做市值重估;Dealing 3000 接口则通过 Rs-232 串口连路透交易系统服务器,定时跑 OSYS 进程读取外汇和拆借交易。

# 手动触发一次 OSYS 批量(示例,实际按 opxjob 里的步骤名) osys /BATCH:D22RATE0001 osys /BATCH:D22SMCL

/BATCH:后面跟的是opxjob里定义的批量步骤名。二期升级时,程序更新有严格顺序,按Phase II→case 152042 152412→case 152562→case 154293 154294→case 154681依次更新,每个文件夹下的 readme.doc 都要看。更新前先把d:\opics下opxdb、opxexe、opxjob、opxpwd、opxsec、opxsys、opxupr、scripts、source等目录备份到d:\backup\before change,这是升级翻车时的后悔药。

6. 避坑与排查:五个装 Opics 时真踩过的坑

这套环境装下来,报错信息往往不直接指向根因,下面五条是我实际踩过或者帮人排查过的,按“现象 → 原因 → 解决”记下来,装的时候对照着看能少走弯路。

6.1 客户端登录报配置文件错误

现象:Citrix 用户登录 Opics 客户端,提示配置文件无法访问或路径无效。原因:opx.ini里的OPXCOMMON、OPXACCFILES路径没改成该用户自己的目录,或者D:\opxacc下没建对应的opxacc、opxcom子目录。解决:逐用户核对opx.ini路径,确认D:\opxacc\<用户名>\opxacc和opxcom存在,权限给到该用户读写。

6.2 ODBC 测试通过但客户端连不上

现象:ODBC 里 Test Connection 成功,但 Opics 客户端登录时报数据库连接失败。原因:ODBC 配在了 32 位数据源面板,而 Opics 客户端是 64 位(或反之),两者看到的 DSN 不是同一个。解决:确认客户端位数,在对应位数的 ODBC 管理器里配系统 DSN,配完重启客户端再试。

6.3 OSYS 批量静默失败无日志

现象:手动跑 OSYS 批量,命令返回了但数据没进来,opxlog下也没有对应日志。原因:批量账号对opxlog或opxjob目录没有写权限,进程写日志失败后静默退出。解决:按权限矩阵检查批量账号对opxlog(可写)、opxjob(读写)的权限,用 icacls 补上修改权限。

6.4 Rate Feed 数据不刷新

现象:路透终端文件在更新,但 Opics 里汇率利率一直是旧值。原因:Risk 客户端里映射的 Z 盘断了,或者外部数据刷新频率没设成两分钟,或者 OSYS 导入批处理没挂上。解决:先在 Risk 里确认 Z 盘能打开文件,再查刷新频率设置,最后在 OSYS 里手动跑一次RTXTOSYS、XTFXOSYS确认导入链路通。

6.5 二期升级后程序报版本不匹配

现象:按升级包更新后,客户端启动报程序版本与数据库不匹配。原因:升级包没按顺序打,或者漏了某个 case 目录,导致opxexe和opxdb里的脚本版本不一致。解决:从d:\backup\before change回滚,严格按Phase II→ 各 case 的顺序重打,每个 readme.doc 逐条对照执行,打完确认opxdb里的版本脚本已执行。

注意:升级前备份d:\opics下核心目录这一步不能省,回滚全靠它。备份目录建议带日期,别覆盖上一次的备份。

7. 装完怎么验证:从登录到批量跑通的一条验证链

装完不等于跑通,Opics 这种多层系统,得有一条从客户端到数据库、从数据入口到批量的完整验证链,逐段确认才算数。我一般按下面这条链走一遍,每段都有明确的通过标准,任何一段不过就停下来查,别往下走。

第一步,客户端登录验证。用一个 Citrix 业务账号登录发布的 Opics 客户端,能进主界面、能打开一个查询窗口,说明 Citrix 发布、opx.ini、ODBC、数据库连接这条链是通的。这一步过了,连接层基本没问题。

第二步,数据入口验证。在路透终端确认四个 Excel 文件在更新,在 Risk 里确认 Z 盘能读到文件,然后在 OSYS 里手动跑一次RTXTOSYS和XTFXOSYS,跑完在 Opics 里查汇率利率表,看有没有当天的新数据。有数据说明 Rate Feed 三段配置都生效了。

第三步,批量验证。手动触发一次日终批量,观察opxlog下是否生成对应用户日志,opxarc下是否生成按日期命名的归档目录,opicsdata下是否生成当天的备份目录。这三个目录都有产出,说明批量链路和备份机制都在工作。

第四步,接口验证(二期环境)。确认北方之星接口的D22SMCL进程能读到债券收盘价并导入,Dealing 3000 接口能通过串口读到交易数据。这两个接口的验证要看具体数据是否落库,不能只看进程有没有启动。

下面这张表是我常用的验证对照,装完照着打勾:

验证项操作通过标准
客户端登录Citrix 账号登录 Opics进主界面,能查询
汇率利率导入手动跑 RTXTOSYS、XTFXOSYS表里有当天新数据
日终批量触发日终批量opxlog、opxarc、opicsdata 均有产出
备份检查 opicsdata 当天目录目录存在且有数据文件
二期接口跑 D22SMCL、Dealing 3000 进程交易/债券数据落库

这套验证链走完,环境才算真正交付。从那以后我每次装完 Opics,不管多赶时间,都会把这条链从头到尾走一遍,尤其是opx.ini路径和opxlog权限这两处,宁可多花十分钟核对,也不想再经历一次业务登录报错、回头翻半天配置的折腾。希望帮到你。

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询