Teamcenter 2007安装:Oracle 10g建库与监听配置指南
简介:一份围绕 Teamcenter 2007 部署起步阶段的安装说明文档,面向初次接触 Siemens PLM 体系的工程师与运维人员,用于解决旧版本环境搭建时数据库准备环节的配置困惑。内容以 Oracle 10g 数据库安装为主线,涵盖高级安装与企业版选择、仅安装数据库软件、通过 Net Manager 创建 LISTENER 监听、以 lsnrctl 启动监听,以及将 Tc2007.1_wnti 下 oracle 目录脚本复制到 dbca 模板目录、借助 Database Configuration Assistant 创建全局库名 tceng 等关键节点,可作为理解 Teamcenter 基础架构与依赖关系的入门参照。压缩包仅含 1 个 doc 文件,约 3MB,体积轻便,内容按步骤编号组织,适合边看边对照操作。目前已有 217 人学习下载,对需要复盘早期 PLM 环境搭建流程、梳理数据库与服务组件依赖的读者有一定参考价值。
1. 从一张安装清单说起:Teamcenter 2007详细安装为什么先卡在 Oracle 10g
第一次做 Teamcenter 2007详细安装 的人,十有八九会把时间耗在数据库上,而不是 Teamcenter 本身。这份资源把安装顺序拆成数据库软件、监听器、模板、DBCA 建库四段,核心是让 tceng 库能被 Teamcenter 服务端认出来。它适合手里有 Teamcenter 2007.1_wnti 介质、需要在隔离虚拟机里复现老环境的从业者,也适合想弄明白 PLM 基础依赖关系的开发。别急着点 Teamcenter 安装程序,先把 Oracle 10g 这一层走通,后面会少很多返工。
2. 先装库再装应用:Oracle 10g 企业版安装与“仅安装软件”选择
Teamcenter 2007 的数据落点是 Oracle 10g,数据库层没立住,后面服务端配置都是空中楼阁。老版本安装介质里数据库和 Teamcenter 是两套安装器,顺序不能反:先装 Oracle 软件,再建监听,再把 Teamcenter 自带的数据库模板塞进 DBCA,最后用模板建出 tceng 库。选择企业版不是追新,是因为 Teamcenter 模板依赖企业版里的组件和 DBCA 模板读取路径;选择“仅安装数据库软件”是把建库动作留给后面的 tceng 模板,避免默认库抢占监听和口令。这一章按安装器实际会遇到的界面顺序拆,参数能对上就照填,对不上就停下来看日志,别硬点下一步。
2.1 安装前检查:磁盘、主机名、账户和路径
老版本 Oracle 安装器对环境的容忍度不高,尤其是路径空格、主机名解析和权限这三件事。安装前先把主机名固定下来,因为后面监听器要绑主机名,DBCA 建库也会把主机名写进连接配置;装到一半改主机名,监听和客户端配置很容易对不上。账户用管理员权限跑安装器,路径尽量短,不要放在“Program Files”这类带空格的目录下。磁盘空间按介质和模板实际大小预留,别贴着系统盘剩余空间跑,DBCA 建库时还会写数据文件、控制文件和日志。
| 检查项 | 建议值 | 原因 |
|---|---|---|
| 主机名 | 安装前固定,装完前不再改 | 监听器和连接串会引用主机名 |
| 安装账户 | 本机管理员 | 安装器要写服务、注册表和 Oracle Home |
| 安装路径 | 短路径,无空格 | 老工具对空格路径兼容差 |
| 磁盘空间 | 系统盘外单独预留 | 数据文件、日志、模板都要落盘 |
| 安全软件 | 临时关闭实时拦截 | 防止安装器写文件被拦 |
| 主机解析 | hosts 中有本机主机名记录 | 监听绑定和本地连接更稳 |
hostname ipconfig /all echo %USERNAME%hostname的输出就是后面 Net Manager 里要填的主机名,不要凭感觉写 localhost。ipconfig /all用来看网卡和 IP,多网卡机器要确认监听绑哪一块网卡。echo %USERNAME%确认当前是不是管理员账户。这个检查花不了一分钟,但能省掉后面“监听启动了却连不上”的排查时间。
提示:装 Oracle 和建库期间不要改主机名,也不要随意切换网络配置。老版本监听器对主机名变化很敏感。
2.2 高级安装与企业版:每一步在选什么
进入 Oracle 10g 安装界面后,点“高级安装”,不要走典型安装。高级安装不是炫技,是让你看到安装类型、安装目录和配置选项,后面“仅安装数据库软件”这个关键选项就在配置选项里。安装类型选“企业版”,这是针对大型部署的完整组件集合,Teamcenter 的数据库模板依赖其中部分组件和 DBCA 模板读取路径。指定安装目录时用短路径,例如D:\oracle\product\10g\db_1,这个目录后面会作为ORACLE_HOME,DBCA 的模板目录也在这个 Home 下面。
配置选项里选“仅安装数据库软件”,不要选“创建数据库”。这一步是整个安装顺序的分水岭:现在建库会生成一个默认库,后面再用 Teamcenter 模板建 tceng 时,两个库会抢监听注册,口令体系也会混。安装器跑完后点“退出”,不要急着打开 DBCA,先做安装后自检。
| 安装界面项 | 选择 | 说明 |
|---|---|---|
| 安装方式 | 高级安装 | 暴露安装类型和配置选项 |
| 安装类型 | 企业版 | 覆盖 Teamcenter 模板依赖组件 |
| 安装目录 | 短路径、无空格 | 作为 ORACLE_HOME 使用 |
| 配置选项 | 仅安装数据库软件 | 不自动建库,留给 tceng 模板 |
| 安装结束 | 退出 | 先自检再进 DBCA |
安装过程中如果弹出先决条件检查警告,不要一律忽略。磁盘空间、物理内存、操作系统补丁这类警告要逐条看;有些老环境在虚拟机上跑,内存低于安装器建议值,可以继续,但后面 DBCA 建库时要把内存参数调小,否则建库阶段容易卡住。
2.3 为什么“仅安装数据库软件”不能省
如果安装时顺手建了默认库,最常见的结果是:DBCA 再建 tceng 时,监听器里同时注册了两个实例,客户端连接串指向不明确;默认库的口令和 Teamcenter 统一口令 tceng 不一致,后面配置服务端时到处找口令;更麻烦的是,有人以为默认库就是 tceng,直接把 Teamcenter 指过去,结果模板里的表空间和初始化参数对不上。老环境安装最怕“看起来装完了”,实际库名、实例名、监听服务名三套东西混在一起。
安装完成后先看环境变量和服务。ORACLE_HOME应该指向刚才选的安装目录,ORACLE_SID在没建库前可能为空,这是正常的;如果它已经有值,记下来并清理掉,避免 DBCA 串库。sqlplus能找到说明 PATH 已经写入,但此时还没有可用数据库,别拿sqlplus / as sysdba连不上就判断安装失败。
echo %ORACLE_HOME% echo %ORACLE_SID% where sqlplusecho %ORACLE_HOME%用来确认 Home 路径没有指到旧安装;echo %ORACLE_SID%用来确认没有残留实例名;where sqlplus用来确认命令行能找到 Oracle 客户端工具。三个输出对不上,就先改环境变量或清理旧 Home,再往下走。
注意:如果机器上原来装过 Oracle,先确认旧 Home、旧服务、旧监听是否清理干净。老版本共存时,PATH 顺序会让
lsnrctl和sqlplus跑到另一个 Home 去。
2.4 安装后的自检命令与日志位置
安装器退出后,先查服务列表和日志目录。服务列表里应该能看到 Oracle 相关服务,但不应有已经建好的业务库服务在跑;日志目录用来在 DBCA 失败时定位是模板问题还是权限问题。老版本安装日志不像新版本那么集中,cfgtoollogs和install目录都要看。
sc query state= all | findstr /I "Oracle" dir "%ORACLE_HOME%\cfgtoollogs" dir "%ORACLE_HOME%\install"sc query用来列出 Oracle 相关服务,确认没有多余实例服务;dir两个日志目录用来确认安装器确实写完了配置。日志里出现路径权限、端口占用、服务启动失败这类关键字,先解决再进 DBCA。安装程序点“退出”不等于装好,先跑一遍自检,后面监听和建库才有稳定底座。
3. 监听器不是附属品:Net Manager 建 LISTENER 与 lsnrctl 启动
Oracle 软件装完只是有了可执行文件,监听器没起来,Teamcenter 服务端和客户端都连不进来。监听器在连接链里的位置很明确:客户端或 Teamcenter 服务先连监听端口,监听器再把请求转给已注册的数据库实例。老版本常见做法是手动建一个名为 LISTENER 的监听程序,绑定 TCP/IP 和 1521 端口,然后用lsnrctl start启动。监听的名称、主机名、端口三项写错一个,后面就会看到 TNS-12541 这类连接错误。
3.1 监听器在 Teamcenter 连接链里的位置
Teamcenter 的数据库连接最终落到 tceng 库,连接串里通常包含主机名、端口和服务名。监听器负责在主机名和端口上等连接,数据库实例启动后向监听注册服务。监听没启动时,本机用sqlplus / as sysdba可能还能通过操作系统认证进入,但走网络连接的客户端一定连不上,这就是为什么有人“本机能进库,Teamcenter 连不上”。LISTENER 这个名字不是随便起的,老模板和默认配置都认这个名字,改成别的名字要同步改连接配置,没必要给自己加活。
监听器还分动态注册和静态注册。老环境里常见做法是先把监听建好,再让实例启动时注册;如果实例没起来,lsnrctl status里看不到服务是正常的,但监听端点应该存在。排查时先看监听端点,再看服务摘要,顺序不要反。
3.2 用 Net Manager 创建 LISTENER 的逐项配置
从“开始”菜单进入Oracle - OraDb10g_home1,打开 Net Manager。点击“编辑”->“创建”->“监听程序”,监听程序名称输入LISTENER。然后添加地址,协议选 TCP/IP,主机名填hostname命令的输出,端口填 1521。保存后退出 Net Manager,再从命令行启动监听。主机名不要随手填 localhost,除非这台机器只做本机测试;Teamcenter 客户端从别的机器连过来时,localhost 会让连接串指向客户端自己。
| 配置项 | 值 | 说明 |
|---|---|---|
| 监听程序名称 | LISTENER | 老模板和默认连接串认这个名称 |
| 协议 | TCP/IP | 常规数据库连接方式 |
| 主机名 | hostname输出 | 不要随意写 localhost |
| 端口 | 1521 | Oracle 默认监听端口 |
| 保存方式 | 保存后退出 | 再用 lsnrctl 启动 |
hostname这条命令的输出直接填到 Net Manager 的主机名栏。如果机器有多个网卡,确认客户端能路由到这张网卡对应的地址;绑定错网卡时,本机lsnrctl status可能正常,远端客户端却连不上。
提示:Net Manager 保存后不会自动启动监听,必须回到命令行执行
lsnrctl start,并确认状态里出现监听端点。
3.3 lsnrctl 启动、状态检查与常见报错
启动监听用lsnrctl start,查看状态用lsnrctl status,查看服务注册用lsnrctl services。状态输出里重点看监听端点、服务摘要和实例状态。监听端点应该是主机名加 1521 端口;服务摘要里在实例启动后应能看到 tceng 相关服务。如果只有监听端点没有服务,说明实例还没注册,先确认数据库实例是否启动。
lsnrctl start lsnrctl status lsnrctl serviceslsnrctl start启动当前ORACLE_HOME下的监听器;lsnrctl status看监听是否在跑、绑定到哪个地址;lsnrctl services看实例有没有注册上来。三个命令按顺序跑,先确认监听活着,再确认服务注册,不要一上来就改连接串。
| 报错关键字 | 常见原因 | 处理方向 |
|---|---|---|
| TNS-12541 | 监听没启动或端口不对 | 先lsnrctl status看端点 |
| TNS-12560 | 协议适配器错误 | 检查ORACLE_HOME和监听配置 |
| TNS-00511 | 没有监听器 | 启动监听或修正监听名称 |
| ORA-12514 | 监听在但服务没注册 | 检查实例是否启动、服务名是否对 |
3.4 监听端口与主机名解析的边界
端口占用和多网卡是老环境里最容易翻车的点。1521 被旧监听或其他程序占用时,lsnrctl start会报错,先用netstat看端口。主机名解析不通时,ping主机名可能失败,但 IP 能通,这时要补 hosts 记录,而不是改监听配置。防火墙入站规则也要放行 1521,尤其是 Teamcenter 客户端从另一台机器连过来的场景。
netstat -ano | findstr :1521 ping %COMPUTERNAME%netstat看 1521 是否已被占用,ping %COMPUTERNAME%看主机名能否解析到本机地址。端口被占用就换端口或停掉占用程序;主机名解析失败就补 hosts。监听配置改完后记得重启监听,并用lsnrctl status复核端点。
注意:监听器稳定之前不要改主机名,也不要在多网卡机器上随意切换绑定地址。老环境里这类改动会留下很难查的连接缓存问题。
4. 把模板放进 DBCA:tceng 库的创建流程与参数含义
Teamcenter 2007 不自带一个“点一下就建好”的数据库,它把数据库模板放在安装介质的Tc2007.1_wnti\tc\db_scripts\oracle目录下,需要手动拷到 Oracle Home 的 DBCA 模板目录。DBCA 启动后会读这个目录,模板列表里才会出现 Teamcenter Oracle 10g。建库时全局数据库名填tceng,口令选“所有帐户使用同一口令”,输入tceng。这一章的每一步都对应一个参数落点,填错后面服务端就连不上。
4.1 模板文件从 tc\db_scripts\oracle 到 dbca\templates 的拷贝
先确认介质解压后的目录层级。Teamcenter 安装介质里常见路径是Tc2007.1_wnti\tc\db_scripts\oracle,这个目录下的文件要拷到%ORACLE_HOME%\assistants\dbca\templates。不要拷到 Oracle Base 或其他 assistants 目录,DBCA 只认当前 Home 下的模板路径。拷贝前先dir看源目录文件,确认不是空目录;拷贝后用dir看目标目录,确认文件数量和大小对得上。
dir "D:\Tc2007.1_wnti\tc\db_scripts\oracle" xcopy "D:\Tc2007.1_wnti\tc\db_scripts\oracle\*" "%ORACLE_HOME%\assistants\dbca\templates\" /E /I /Y dir "%ORACLE_HOME%\assistants\dbca\templates"xcopy的/E复制子目录,/I目标不存在时按目录处理,/Y覆盖时不追问。源路径按实际解压位置替换,目标路径用%ORACLE_HOME%变量,避免手写路径指到旧 Home。拷贝完成后 DBCA 才能读到 Teamcenter 模板;如果模板列表还是空的,先回到这一步查路径和权限。
| 源路径 | 目标路径 | 作用 |
|---|---|---|
Tc2007.1_wnti\tc\db_scripts\oracle | %ORACLE_HOME%\assistants\dbca\templates | 让 DBCA 识别 Teamcenter 模板 |
| 介质解压目录 | 当前 Oracle Home | 不要拷到旧 Home |
| 模板文件 | DBCA 模板目录 | 建库时选择 Teamcenter Oracle 10g |
4.2 DBCA 选择 Teamcenter Oracle 10g 模板的判定依据
从“开始”菜单进入Oracle - OraDb10g_home1->“配置和移植工具”->“Database Configuration Assistant”。选择“创建数据库”,点“下一步”,模板列表里应出现Teamcenter Oracle 10g。如果只看到“一般用途”或“事务处理”,说明模板没被读进来,先查 4.1 的拷贝路径。选中 Teamcenter 模板后,DBCA 会按模板预置表空间、初始化参数和组件,这些预置项不要随意改,除非你明确知道 Teamcenter 服务端依赖哪个参数。
| DBCA 界面项 | 选择 | 说明 |
|---|---|---|
| 操作 | 创建数据库 | 不是配置现有库 |
| 模板 | Teamcenter Oracle 10g | 来自拷贝进 templates 的文件 |
| 全局数据库名 | tceng | 与模板和服务端配置对应 |
| 管理选项 | 按模板默认 | 老环境不额外配 EM |
| 口令 | 所有帐户使用同一口令 | 输入 tceng |
4.3 全局库名 tceng 与统一口令的取舍
全局数据库名输入tceng,SID 在老环境里通常也保持一致,避免连接串和服务名对不上。口令选择“所有帐户使用同一口令”,输入tceng,确认口令tceng。统一口令是为了老环境脚本和服务配置简单,不是生产建议;如果 DBCA 提示口令复杂度不够,先确认当前 Oracle Home 是否启用了密码策略。老版本默认策略通常不拦,但机器上如果装过其他组件,策略可能被改过。
| 参数 | 值 | 注意点 |
|---|---|---|
| 全局数据库名 | tceng | 后面连接串会用到 |
| SID | tceng | 与全局库名保持一致更省事 |
| 口令 | tceng | 老环境简化用,生产不要照搬 |
| 确认口令 | tceng | 大小写保持一致 |
| 字符集 | 按模板默认 | 中文数据多时确认与模板一致 |
提示:统一口令只适合隔离的复现环境。建库完成后把口令记录在安装清单里,后面配置 Teamcenter 服务端还要用。
4.4 建库过程中的内存、字符集与文件位置
DBCA 后续几步可以直接点“下一步”,但有三处要停下来看:内存分配、字符集、数据文件位置。老机器内存小,模板默认的 SGA/PGA 可能偏大,建库阶段会卡在内存检查;字符集按模板默认走,中文数据多时确认是ZHS16GBK或与模板一致,不要建完库再改字符集;数据文件位置放到数据盘,不要全塞系统盘。DBCA 完成后再用 sqlplus 查实例名和字符集。
select name from v$database; select value from nls_database_parameters where parameter='NLS_CHARACTERSET';第一条查数据库名是否为tceng,第二条查字符集是否与模板预期一致。两条都对上,再去看服务列表里是否出现OracleServiceTCENG和监听服务。建库完成后不要急着装 Teamcenter,先用 sqlplus 本地连一次,确认库本身是活的。
5. 避坑与排查:安装现场最容易翻车的五件事
老版本安装的坑大多不是“不会点下一步”,而是环境残留、路径错位和监听注册这三类问题叠在一起。下面五条是现场最容易翻车的记录,每条按现象、原因、解决拆开写。遇到问题时先按顺序排除,不要一上来重装;重装前不做清理,第二次装还会卡在同一个地方。
5.1 监听已启动但客户端连不上
现象:lsnrctl status显示监听正在运行,但客户端连接报 TNS-12541 或 ORA-12541,Teamcenter 服务端也连不上数据库。原因通常是监听绑定的主机名和客户端连接串里的主机名不一致,或者防火墙没有放行 1521 端口,也可能是多网卡机器绑错了网卡。解决时先看lsnrctl status的监听端点,确认主机名和端口;再用tnsping从客户端测连接串;最后查服务端防火墙入站规则和 hosts 解析。不要只看“监听已启动”就判断网络通,监听端点和客户端目标地址必须对得上。
lsnrctl status tnsping tceng ping <监听主机名>lsnrctl status看监听绑定的端点,tnsping看客户端能否解析并到达监听,ping看主机名解析。三步里哪一步失败就处理哪一步,不要同时改监听和连接串。
5.2 DBCA 里找不到 Teamcenter 模板
现象:DBCA 进入模板选择界面,列表里只有“一般用途”“事务处理”等默认模板,没有Teamcenter Oracle 10g。原因最常见的是模板拷错目录,比如拷到了 Oracle Base 下的 templates,而不是当前ORACLE_HOME%\assistants\dbca\templates;其次是文件权限不对,DBCA 进程读不到;还有一种是 DBCA 已经启动后才拷文件,界面没有刷新。解决时先echo %ORACLE_HOME%确认当前 Home,再dir目标目录看文件是否存在,关掉 DBCA 重新打开。如果还看不到,检查模板文件是否完整,别只拷了一个空目录。
echo %ORACLE_HOME% dir "%ORACLE_HOME%\assistants\dbca\templates"第一条确认当前 Home,第二条确认模板文件确实在这个 Home 下。路径对、文件在、DBCA 重启后仍看不到,再考虑文件权限和介质完整性。
5.3 统一口令的隐藏问题
现象:DBCA 建库时输入tceng作为统一口令,界面报口令不符合复杂度或 ORA-28003。原因是当前 Oracle Home 启用了密码策略,或者之前装过其他组件把默认策略带进来了。解决时先确认这台机器是不是只做隔离复现;如果是,可以按 DBCA 提示换一个满足策略的口令,并把口令记录到安装清单,后面 Teamcenter 服务端配置时同步改。不要为了图省事去改系统级密码策略,老环境里改完容易影响其他组件。统一口令tceng只适合默认策略不拦的场景,遇到策略拦截就按实际策略走。
5.4 安装到一半回滚不干净
现象:第一次安装失败后直接删了安装目录,第二次安装提示 Oracle Home 已存在、服务已存在或端口被占用。原因是 Oracle 安装不只是文件,还有服务、注册表项、环境变量和监听配置。解决时先用 Oracle Universal Installer 自带的卸载入口卸,再手工检查残留服务、ORACLE_HOME环境变量和监听配置;注册表项不确定就不要乱删,先备份再动。卸载后重启机器,再重新装。老环境里“删目录重装”是最容易留下黑匣子的操作,血泪经验是宁可按卸载流程走一遍,也不要直接删文件夹。
sc query state= all | findstr /I "Oracle" echo %ORACLE_HOME%第一条看残留服务,第二条看环境变量是否还指向旧 Home。清理完再重装,能少踩一半重复坑。
5.5 32/64 位与路径空格导致的环境变量错乱
现象:lsnrctl提示找不到命令,sqlplus报错,或者 DBCA 启动后闪退;有时同一台机器上有多个 Oracle Home,命令跑到了旧版本上。原因是 PATH 里混入了 32 位客户端或旧 Home,安装路径带空格导致部分老工具解析失败,ORACLE_HOME指向不一致。解决时把安装路径改成短路径,检查echo %ORACLE_HOME%和where sqlplus,把当前 Home 的 bin 放到 PATH 前面;32 位客户端和 64 位服务端不要混用在同一套连接配置里。改完环境变量后重开命令行窗口,老窗口不会自动刷新。
echo %ORACLE_HOME% where sqlplus where lsnrctl两个where用来确认命令实际走的是哪个 Home。输出路径和ORACLE_HOME不一致,就调整 PATH 顺序,别在旧窗口里反复试。
6. 装完只是开始:用 sqlplus 和监听日志做一次闭环验证
DBCA 显示建库完成后,我一般不做“看一眼服务就收工”的判断,而是用三条线做闭环:监听端点、实例注册、库内参数。先跑lsnrctl status,确认 LISTENER 在 1521 上活着,并且服务摘要里能看到 tceng;再跑lsnrctl services,确认实例已经注册;最后用 sqlplus 本地登录,查数据库名和字符集。三步都过,才把 Teamcenter 安装程序拉起来。这个习惯能挡住大部分“库看起来建好了,服务端却连不上”的问题。
lsnrctl status lsnrctl servicesselect name, open_mode from v$database; select value from nls_database_parameters where parameter='NLS_CHARACTERSET';lsnrctl status看监听端点和端口,lsnrctl services看 tceng 是否注册到监听;sqlplus 里第一条查库名和打开模式,第二条查字符集。库名应是tceng,状态应是READ WRITE,字符集要和模板预期一致。对不上就回到第 3 章和第 4 章查监听与模板,不要带着疑问往下装 Teamcenter。
| 验证项 | 通过标准 | 失败先看 |
|---|---|---|
| 监听端点 | 主机名:1521 存在 | Net Manager 配置 |
| 服务注册 | 服务摘要出现 tceng | 实例是否启动 |
| 库名 | tceng | DBCA 全局数据库名 |
| 打开模式 | READ WRITE | 实例状态和告警日志 |
| 字符集 | 与模板一致 | DBCA 建库选项 |
需要对照的文件路径和检查清单,我放在同一份资源包里,按上面的顺序逐项打勾即可。从那以后我每次装完都先跑一遍sqlplus / as sysdba和lsnrctl status,确认 tceng 真的能被监听注册,再动 Teamcenter 安装程序。希望帮到你。
本文还有配套的精品资源,点击获取