
简介《Teamcenter 2007详细安装》是一份面向 PLM 初学者、实施人员与运维学习者的操作文档围绕 Siemens Teamcenter 2007 早期版本的部署准备重点解决其与 Oracle 10.0 数据库配合安装时的环境搭建与关键配置理解问题。文档共 1 个 doc 文件压缩包约 3MB内容集中于安装流程记录适合作为了解 Teamcenter 基础架构、依赖关系及数据库层配置的参考材料。资料围绕 Oracle 10.0 安装、监听器创建、Teamcenter 数据库模板准备与 DBCA 建库等环节展开并记录高级安装、企业版选择、仅安装数据库软件、全局数据库名与统一口令等关键选项便于读者对照梳理安装路径和配置要点。目前已有 217 人学习适合需要入门 Teamcenter 部署、补充早期版本安装认知或排查数据库配置思路的读者查阅。1. 装 Teamcenter 2007真正卡人的是 Oracle 10g 这层底座上周有人抱着一台老工作站来问Teamcenter 2007 的介质解压完了双击 setup 之前到底该先干什么。我的回答很直接先别碰 TC把 Oracle 10g 那一套装明白。这套组合的年份摆在那儿Teamcenter 2007.1 的安装介质里专门带了一份tc\db_scripts\oracle目录里面是给 DBCA 用的库模板——意思是连建库这件最费神的活都替你想好了前提是你得先有一个能跑 DBCA 的 Oracle 10g 企业版在机器上。多数人第一次上这套东西翻车的点不在 PLM 的业务逻辑而在数据库底座高级安装选哪一项、监听器怎么建、模板往哪个目录拷、tceng这个库用什么口令。这篇把这条链子从头到尾走一遍手里有 2007 安装介质、要给老系统做迁移、或者做教学环境复现的人可以照着抄。2. Oracle 10g 企业版安装高级安装里那四屏决定后面能不能省事2.1 为什么是企业版 仅安装数据库软件先说选型不然后面三步都容易走偏。安装类型这一屏有企业版、标准版、个人版、定制四个选项。Teamcenter 的库特点是表多、索引碎、后期数据量涨得快归档、分区、AWR 这些在运维阶段会用到的东西都在企业版里个人版虽然装得快但它等你关机就停库跑了几天 TC 服务端会莫名其妙连不上这是老机器上最常见的误判。所以企业版不是更高级所以选它而是这个场景下有实际依赖。真正需要解释的是选择配置选项这一屏。向导会给你三个选择创建数据库、配置自动存储管理、仅安装数据库软件。这里必须挑第三个。原因很实在——你要建的不是一个通用库而是一个由 Teamcenter 模板驱动的库模板决定了数据文件布局、初始化参数、字符集和一堆内置对象。如果在这一屏顺手建了个通用库后面 DBCA 再建tceng机器上就多出一个用不上的实例删起来比建起来麻烦得多服务、注册表、环境变量都要清。老手装这套东西的习惯是Oracle 安装程序只负责把软件落盘一个实例都不建实例的事全部交给 DBCA。另外有个顺序上的约束常被忽略Teamcenter 的服务端安装程序在某些步骤上会去探测数据库连通性如果先装 TC 再补数据库中间会卡在一个很尴尬的状态。正确顺序是 Oracle 软件 → 监听 → 建库 → TC 服务端 → TC 客户端。2.2 逐屏参数与目录规划先规划目录再动手。Oracle 10g 的安装路径有个硬性要求不能带空格、不能带中文、不要放在桌面或我的文档这类会被同步的路径下。用途建议路径说明ORACLE_BASED:\oracle\product\10.2.0所有 Oracle 产品的根别带空格ORACLE_HOMED:\oracle\product\10.2.0\db_1软件主目录10g 的db_1是默认命名数据文件目录D:\oracle\oradata与软件分离做冷备时可以单独拷归档/闪回区E:\oracle\fast_recovery_area独立磁盘避免把系统盘写满TC 安装介质D:\install\Tc2007.1_wnti解压后不要放在深层中文目录目录分盘的原则是软件、数据、归档三者分开。老机器上经常只有一块盘那就至少保证数据目录和系统盘分开方便出问题时只回滚数据。安装向导的操作序列解压介质右键setup.exe以管理员身份运行。选择安装方法这一屏点高级安装。基础安装会替你把实例也建了跟上面说的思路冲突。选择安装类型选企业版。指定主目录详细信息主目录名称保持OraDb10g_home1路径填上面规划的ORACLE_HOME。这个名称后面会出现在开始菜单里Oracle - OraDb10g_home1和 Windows 服务名里OracleOraDb10g_home1TNSListener改了名之后照着任何一份教程找菜单都会对不上所以能不改就不改。产品特定的先决条件检查网络配置类的警告可以忽略具体见第 5 章。选择配置选项选仅安装数据库软件。概要页过一眼路径和字符集然后点安装。安装结束会跑配置助手最后一屏点退出。装完之后不要急着开 Net Manager先在一个管理员权限的 cmd 窗口里把路径变量固定下来后面所有命令都依赖它:: 以管理员身份运行 cmd只在当前窗口生效 set ORACLE_BASED:\oracle\product\10.2.0 set ORACLE_HOMED:\oracle\product\10.2.0\db_1 set ORACLE_SIDtceng set PATH%ORACLE_HOME%\bin;%PATH% echo %ORACLE_HOME%这段用set而不是写进系统环境变量是有意为之。ORACLE_HOME一旦在系统级写死机器上以后再装第二个 Oracle 主目录、或者打补丁的时候工具会认错 home报出来的错还特别隐晦。我一般只在这个 cmd 窗口里设窗口一关就干净了。ORACLE_SID提前设成tceng也方便后面 lsnrctl 和 sqlplus 直接连。2.3 装完先做三个落盘校验别信安装成功向导最后一屏写安装成功的时候只代表安装程序没崩不代表文件都在。三个检查做完再往下走:: 三个可执行文件必须在位 dir %ORACLE_HOME%\bin\sqlplus.exe dir %ORACLE_HOME%\bin\lsnrctl.exe dir %ORACLE_HOME%\bin\dbca.bat :: 此时模板目录里应该只有 Oracle 自带的少量 .dbc dir %ORACLE_HOME%\assistants\dbca\templates\*.dbc第一条校验软件层是否完整。sqlplus用来后面验证连接lsnrctl用来管监听dbca.bat是建库入口——这三个缺任何一个说明安装被中断过别抱侥幸心理卸了重装。第二条校验目录状态。%ORACLE_HOME%\assistants\dbca\templates是 DBCA 启动时扫模板的地方此刻它应该只有 Oracle 原生模板。记住这个目录当前的样子第 4 章往里拷 TC 模板之后要对比。另外顺手看一眼 Windows 服务列表里有没有OracleOraDb10g_home1TNSListener。这个服务是安装程序顺带创建的默认是手动启动状态为已停止属于正常第 3 章再把它拉起来。3. 监听器 LISTENERNet Manager 里那几个字段决定后面连不连得上3.1 监听器在 10g 里到底替谁干活监听器是一个独立于数据库实例的进程它读listener.ora在指定端口上 accept 连接请求然后把这个连接转交给对应的实例。这里有个机制必须搞清楚否则后面一定误判。Oracle 10g 默认走的是动态服务注册实例启动后PMON 进程会按local_listener参数指向的地址主动向监听器登记自己的服务名。这意味着两件事——实例没起来的时候lsnrctl services里看不到tceng这不是监听坏了反过来监听没起的时候实例照样能启动只是外部连不进来。很多人第一次装完看到lsnrctl status输出里没有服务就以为出事了其实只是库还没建。listener.ora里真正决定能不能连的有三样东西监听程序名这里是LISTENER、协议地址TCP 主机名 端口、以及可选的静态注册段SID_LIST_LISTENER。TC 这套环境用动态注册就够了不需要手写 SID_LIST多写反而容易出现静态注册的 SID 和实际实例名不一致的诡异问题。3.2 Net Manager 建 LISTENER 的字段填法从开始菜单进Oracle - OraDb10g_home1→Net Manager展开本地选中监听程序点编辑 → 创建然后按下面填字段填写值说明监听程序名称LISTENER必须和后面local_listener的默认假设一致协议TCP/IP这套环境不用 IPC 或 Named Pipes主机名计算机名或固定 IP填错是报错最多的一项端口号1521改成别的端口就要同步改local_listener主机名这一栏最容易出问题。填法有两种填计算机名要求这台机器自己能把名字解析成 IPping 计算机名能通或者直接填 IP 地址。前一种更常见但在没配 hosts、又靠 DHCP 拿地址的机器上会解析失败监听起不来或者起来了外部连不上。老机器的血泪经验是给这台机器配固定 IP然后在C:\Windows\System32\drivers\etc\hosts里补一行IP 计算机名两个问题一起解决。保存之后文件会写到%ORACLE_HOME%\network\admin\listener.ora内容大致是这样LISTENER (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST tc-db01)(PORT 1521)) ) )如果这台机器上的监听端口不是 1521或者你想给监听起别的名字那就必须在建库之后额外设一个local_listener参数指向实际地址否则实例注册会跑到默认的 1521 去表现为监听起来了但服务列表永远是空的。3.3 lsnrctl 启停与状态判读图形界面只负责写配置文件真正启动监听靠命令行:: 启动名为 LISTENER 的监听程序 lsnrctl start LISTENER :: 查看状态监听是否在跑、绑定了哪个地址和端口 lsnrctl status LISTENER :: 查看服务列表tceng 有没有注册上来、状态是不是 READY lsnrctl services LISTENERlsnrctl start后面不写名字时默认操作LISTENER写上更明确。启动成功的输出会明确告诉你监听已经在哪个地址的 1521 端口上待命。status是排查问题的第一现场重点看三段监听参数段版本、启动时间、监听端点、服务摘要段有哪些实例注册上来、命令执行结果。库还没建的时候服务摘要段是空的这是正常的。services更细它会列出每个注册上来的服务名、状态和已经建立的连接数。tceng那行的状态应该是READY如果是BLOCKED或者压根没有这一行先去看实例是不是真起来了看v$instance而不是先怀疑监听。这个顺序反了会在监听配置上白折腾半天。服务端启动之后如果希望开机自动拉起监听把 Windows 服务OracleOraDb10g_home1TNSListener的启动类型从手动改成自动。注意只改监听这一个数据库实例服务OracleServiceTCENG的启动类型要看实际需求测试环境自动启动方便生产环境通常手动控制启动顺序。4. 把 TC 模板塞进 DBCAtceng 库的建库参数与三个默认项4.1 模板机制DBCA 里为什么会多出 Teamcenter Oracle 10gDBCADatabase Configuration Assistant启动时会扫描%ORACLE_HOME%\assistants\dbca\templates目录下的*.dbc文件每个文件就是一份数据库模板。模板不是普通的 SQL 脚本它里面封装了数据文件布局、初始化参数、字符集设定以及可选的建库后脚本所以用它建库比手工写CREATE DATABASE省事得多也比用通用模板建完再改参数可靠。Teamcenter 2007.1 的介质里带了一份针对 10g 调过的模板位置在Tc2007.1_wnti\tc\db_scripts\oracle。这个目录的存在本身就说明厂商清楚自己的库对参数有要求——比如字符集、块大小、以及某些和 PLM 元数据表相关的初始化设定。把它拷进 DBCA 的扫描目录模板列表里就会多出一项Teamcenter Oracle 10g选中它建库等于让厂商把这些参数替你填好了。这也解释了为什么不建议直接用事务处理或通用模板用通用模板建完再去手工比对参数工作量大不说漏掉一两个参数通常要等到 TC 服务端连上来、跑建表脚本时才会暴露那时候排查成本高得多。4.2 拷贝路径与目录结构校验拷贝这一步看着简单实际上是整个流程里翻车率最高的动作之一因为它有两个隐含要求文件必须落在 templates 的根层且 Oracle 的运行账户要能读到。:: 先在同一个管理员 cmd 窗口里设好两个路径 set TC_MEDIAD:\install\Tc2007.1_wnti set ORACLE_HOMED:\oracle\product\10.2.0\db_1 :: 把 TC 的 oracle 脚本目录整个拷进 DBCA 的模板目录 xcopy %TC_MEDIA%\tc\db_scripts\oracle\*.* %ORACLE_HOME%\assistants\dbca\templates\ /E /Y :: 校验.dbc 必须直接出现在 templates 根下 dir %ORACLE_HOME%\assistants\dbca\templates\*.dbcxcopy的两个参数含义/E表示连空子目录一起拷/Y表示遇到同名文件直接覆盖不问。用/E是因为源目录里可能带子目录但这里有个陷阱——如果模板文件本身就在子目录里拷完它依然在子目录里DBCA 扫不到。所以dir这条校验不能省。期望的结果是.dbc文件直接列在 templates 目录下路径形如...\assistants\dbca\templates\xxxx.dbc而不是...\templates\oracle\xxxx.dbc。后者说明多套了一层目录把文件往上挪一层再重新扫。我一般会把这一步的结果截图留着后面 DBCA 列表里没出现模板时直接对比就知道是拷贝的问题还是别的问题。还有一点拷完之后如果 cmd 窗口一直开着不影响但 DBCA 如果在拷贝之前就启动过需要关掉重开它只在启动时扫一次目录。4.3 DBCA 建库逐屏全局库名 tceng 与统一口令从开始菜单进Oracle - OraDb10g_home1→配置和移植工具→Database Configuration Assistant。逐屏参数如下屏幕选择说明操作创建数据库不是配置或删除数据库模板Teamcenter Oracle 10g拷进去的模板才会出现数据库标识全局数据库名tcengSIDtcengSID 从全局名默认带出保持一致管理选项取消配置 Enterprise Manager省内存也避免 dbconsole 抢端口数据库凭证所有帐户使用同一口令tceng测试环境图省事生产要分开存储选项文件系统除非确实配了 ASM恢复配置按需启用归档测试环境可关省磁盘数据库内容不勾示例方案示例方案对 TC 无用初始化参数模板自带内存与字符集不要手改字符集改错后患无穷创建选项创建数据库可勾选生成建库脚本生成脚本留着便于复现几个决策点解释一下。全局数据库名和 SID 都设成tceng是为了让服务名、实例名、以及后面 TC 连接配置里的名字全部统一。如果这里给全局名带了域名后缀比如tceng.localSID 会自动变成tceng两者不一致后面写连接串容易写错。所有帐户使用同一口令这一屏勾上之后SYS、SYSTEM、SYSMAN、DBSNMP全部是tceng。这在测试或教学环境是可以接受的做法因为要记的口令少出错概率低但在任何长期运行的环境里都该分开设尤其DBSNMP是监控账户用同一个口令等于把高权限口令散布到了监控配置里。取消配置 Enterprise Manager也不是必需的但 10g 的 dbconsole 会额外占一个端口、多一个 Java 进程在本来就不宽裕的老机器上是负担。真需要图形化监控装完之后随时可以用emca重新配。最后的创建选项里有一个生成数据库创建脚本的勾选框建议勾上。它会把 DBCA 实际执行的建库脚本落成文件以后要在第二台机器上复现直接改脚本里的路径跑一遍就行不用再走一遍向导。这个文件是排错时最有用的东西比看日志直观。建库过程跑完向导会显示数据库创建完成并给出ENTERPRISE MANAGER和iSQL*Plus的访问地址。这些地址在没配 EM 的情况下没有意义忽略即可重点是把退出前那份摘要里的全局数据库名和 SID 记下来。5. 避坑现场五个高频翻车点与排查顺序5.1 DBCA 模板列表里没有 Teamcenter Oracle 10g现象DBCA 启动后进到数据库模板这一屏列表里只有通用、事务处理、数据仓库这几个怎么找都没有 Teamcenter 那一项。原因通常有三个层次。最常见的是模板文件落在了 templates 的子目录里DBCA 只扫根层扫不到就静默跳过一句提示都没有。其次是 Oracle 的 Windows 运行账户对拷进去的文件没有读取权限尤其是从别的机器或 U 盘拷过来的文件可能带着只读属性或者权限继承不完整。第三种是 DBCA 在拷贝之前就已经启动过扫描早就完成了。解决顺序先用dir %ORACLE_HOME%\assistants\dbca\templates\*.dbc确认文件在根层然后对文件右键看属性把只读去掉再检查目录的安全选项卡里Authenticated Users或Everyone是否有读取权限全部确认之后彻底关掉 DBCA 进程再重开。三步做完还不出就把文件直接拷到%ORACLE_HOME%\assistants\dbca\templates下再试一次排除源目录路径过长的问题。5.2 监听起不来报 TNS-12560 或 TNS-00530现象lsnrctl start执行后报TNS-12560: TNS: 协议适配器错误或者伴随TNS-00530: 协议适配器错误。原因集中在三处。一是主机名解析不到listener.ora里写的是计算机名但本机 hosts 文件没有对应记录、DNS 也查不到监听在绑定时就失败。二是端口被占机器上装过第二个 Oracle 主目录那边的监听已经在 1521 上待着了。三是 Windows 上服务账户权限不对监听服务以 LocalSystem 之外的账户运行但缺少登录为服务的权限。排查先看端口netstat -ano | findstr :1521能查到占用进程的 PID再去任务管理器对一下是哪个进程。端口没被占就试ping 计算机名通不了就补 hosts。前两项都没问题再去看 Windows 服务里OracleOraDb10g_home1TNSListener的登录账户设置改成默认的本地系统账户再启动。5.3 建库跑到一半失败报 ORA-12547 或口令相关错误现象DBCA 进度条走到创建并启动 Oracle 实例或创建数据库阶段失败日志里出现ORA-12547: TNS: 丢失的接触或者提示口令不符合要求。原因ORA-12547在 Windows 上多半是ORACLE_HOME的权限问题——安装目录不是由 Oracle 安装程序创建的或者被安全软件改过 ACL导致oracle.exe无法正常运行。口令相关错误则是因为模板里带了口令校验规则而tceng这个六位纯字母口令在复杂度检查下不合格。解决权限问题最快的验证方法是在同一个 cmd 窗口里直接跑sqlplus / as sysdba如果能进说明可执行文件没问题问题出在 DBCA 调用链上去%ORACLE_BASE%\cfgtoollogs\dbca下翻最新的日志。口令问题按提示换一个带数字的但换完要记住——后面 TC 服务端配置里的数据库口令必须同步改不然装完连不上又是一轮排查。5.4 安装向导在先决条件检查处卡住或提示 DHCP 警告现象检查列表里出现网络配置 - DHCP相关的警告或者操作系统内核参数提示不满足向导停在那里不动。原因Oracle 10g 的检查器要求数据库服务器使用静态 IP检测到网卡通过 DHCP 获取地址就报警。另外主机名里带下划线、带中文、或者超过一定长度也会触发检查失败。这些警告在测试环境里绝大多数可以忽略但忽略之前要清楚后果DHCP 环境下机器重启后 IP 变了客户端配好的连接串就失效。处理办法给机器配固定 IP主机名改成纯字母数字比如tc-db01补一行 hosts然后重新跑检查。环境确实做不到固定 IP 的可以在检查结果页勾选全部忽略继续装但要在交付文档里写清楚这个前提避免后面接手的人拿固定 IP 的假设去排查。5.5 装完 Oracle整机变慢TC 服务启动超时现象数据库装好之后机器明显变卡内存占用长期在高位Teamcenter 服务端启动时报连接超时。原因10g 的默认内存参数是按物理内存的百分比自动算的在内存本就不大的机器上会把 SGA 开得很大再加上 dbconsole 的 Java 进程常驻两下叠加就把可用内存吃光了。TC 服务端启动时要连库、建连接池内存不足时握手变慢表现出来就是超时。解决先算清楚这台机器上除了 Oracle 还要跑什么把sga_target和pga_aggregate_target设成固定值而不是自动确认不需要图形化监控就把 dbconsole 停掉并禁用再检查归档是否开着、闪回区是不是把盘写满了。参数改完要重启实例才生效改之前用之前生成的建库脚本对照一下避免改错参数名。6. 库建完先别装 TC三项连通性验证和一份后悔药建库跑完最后一步向导说成功这时候最容易犯的错是直接开始装 Teamcenter 服务端。我的习惯是停在这里做三项验证十分钟的事能省掉后面几小时的扯皮。第一项实例层面。开一个 cmd 窗口把ORACLE_SID设成tceng用sqlplus / as sysdba进去然后跑三条查询-- 实例是否真的起来了 SELECT instance_name, status, database_status FROM v$instance; -- 库的打开模式 SELECT name, open_mode FROM v$database; -- 字符集这一项跟 TC 的元数据强相关 SELECT parameter, value FROM nls_database_parameters WHERE parameter IN (NLS_CHARACTERSET,NLS_LANGUAGE,NLS_TERRITORY);status应该是OPENopen_mode是READ WRITE。字符集这一项要特别看——如果装出来是ZHS16GBK而交付要求是AL32UTF8后面导入任何带多语言的数据都会出乱码而且字符集不是改个参数就能变的只能重建库。所以在装 TC 之前确认这一项是最便宜的时机。第二项监听层面。lsnrctl services LISTENER确认tceng那一行的状态是READY。如果实例是开着的但这里看不到问题在注册去看local_listener参数和listener.ora里的地址是否一致而不是去改监听。第三项客户端层面。在建库机器上用sqlplus system/tcengtceng试一次走的是网络连接而不是本地 OS 认证能通才说明监听、服务名、口令三样都对。这一步过了TC 服务端那边的数据库连接配置基本不会出问题。最后说一个我每次都会做的动作用 DBCA 的管理模板功能把刚建好的tceng反向导出成一份自定义.dbc。入口在 DBCA 首页的操作列表里选管理模板 → 从现有数据库创建模板指向tceng即可。这份模板里带着实际调过的参数和当前的库结构比介质里那份通用模板更贴合现场。它的价值在于——以后要在第二台机器上复现这套环境把这份.dbc放进 templates 目录建库时直接选它连参数微调都省了。这就是我给老环境准备的后悔药。从那以后我每次装这套东西都在建库完成、装 TC 之前强制走一遍这三项验证多花十分钟避开的是字符集和注册这两类最难回头的问题。希望帮到你。本文还有配套的精品资源点击获取