
简介面向PLM初学者和需要复核Teamcenter早期部署流程的工程人员这份文档聚焦Teamcenter 2007安装中的数据库准备环节帮助读者理解该版本对Oracle 10g的依赖关系、安装选项选择以及后续建库所需的基础配置。包内共1个doc文档约3MB内容以步骤说明和配置界面记录为主便于按章节查阅关键参数。已有217人学习适合作为旧版本环境搭建与知识梳理的参考。文档围绕Oracle 10g数据库软件安装、监听程序创建、Teamcenter数据库模板复制和使用DBCA创建tceng数据库等内容展开并说明高级安装、企业版、仅安装数据库软件等选项读者可借此把握部署初期的组件关系、模板位置与常见配置项为后续服务器和客户端安装建立基础认识。1. 装 Teamcenter 2007 之前先把 Oracle 10g 这层基础配好Teamcenter 2007 安装最容易卡住的地方往往不是 TC 自己的安装程序而是它前面的 Oracle 10g。我见过不止一次安装包解压得好好的TC 服务装到一半弹出一个连不上数据库的框回头翻日志查了半天问题要么是监听没起要么是实例没建要么是模板根本没拷进 dbca 目录。这套环境的依赖关系相对固定2007 这一代配的就是 Oracle 10g位数错一位后面每一步都得临时补。这篇笔记按我自己装机的顺序走一遍——先清点介质、再装库、再配监听、最后用 DBCA 把 tceng 建出来中间把踩过的坑标出来。适合第一次上手这套老环境的人也适合隔了几年又被叫回去重装一次的人。2. 环境清点Oracle 10g 与 Teamcenter 2007 的依赖对齐装机前花二十分钟把依赖列清楚能省掉后面两小时的返工。这套环境里真正要固定的只有四层操作系统位宽、数据库软件、实例名、监听名。四者任一错位症状都不会直接指向根因只会给你一个 TNS 或 ORA 开头的错误号。2.1 四层依赖的对应关系先把这张表看一遍。Teamcenter 2007 时代的东西都是 32 位生态Oracle 10g 又分 32 位和 64 位两个安装包混装的后果是 TC 的数据库连接组件加载不了 oci.dll报的错还跟权限不足长得一模一样。层次组件本环境取值说明系统层Windows Server 系列与安装介质位宽一致32 位介质配 32 位系统别指望兼容模式数据库软件Oracle 10g 企业版仅安装软件不建实例安装后 ORACLE_HOME 名为 OraDb10g_home1实例层全局数据库名 / SIDtceng建库时一次定死后面改名代价很大网络层监听程序LISTENER默认 1521由 Net Manager 创建lsnrctl 启停应用层Teamcenter2007.1介质目录 Tc2007.1_wnti建库模板从该目录提取提示全局数据库名和 SID 在 Oracle 10g 的 DBCA 里默认是联动的。输入 tceng 之后SID 那一栏会自动填上 tceng不要手动改成一个更长的名字后面 TC 侧的连接串会跟它对不上。安装路径的命名也有讲究。我一般把 ORACLE_HOME 放在D:\oracle\product\10.2.0\db_1这种短路径下中间不出现空格和中文。Oracle 10g 的部分脚本对带空格的路径处理得并不干净装的时候没报错跑 DBCA 到一半才提示找不到模板文件这是典型的弯路。2.2 介质清点与目录规划原始介质解压后Teamcenter 的建库脚本在Tc2007.1_wnti\tc\db_scripts\oracle下面。这个目录不需要单独安装它只是几个模板文件作用是把 Teamcenter 需要的表空间配置、初始化参数预先写好让 DBCA 在建库时直接套用。装 Oracle 之前就应该把它翻出来确认一遍别等到 DBCA 界面里找不到「Teamcenter Oracle 10g」这个模板才回头找。rem 确认 TC 建库模板是否存在正常应该有 .dfb 或 .dbc 结尾的文件 dir D:\Tc2007.1_wnti\tc\db_scripts\oracle rem 确认 Oracle 安装后的 dbca 模板目录路径里的 db_1 要和实际 ORACLE_HOME 对应 dir D:\oracle\product\10.2.0\db_1\assistants\dbca\templates第一条dir是确认介质完整解压中断的包经常只出来半个目录。第二条是确认目标目录存在——Oracle 装完之后这个目录一定会有里面本来就有若干通用模板文件一会儿 TC 的模板要拷进去和它们并排放在一起。两条命令的输出都正常才说明介质侧和软件侧都对上了。目录规划上我习惯这样分Oracle 软件单独一个盘符或目录数据文件放另一个分区。不是因为 10g 对 IO 有什么要求而是这套库以后要扩容、要备份、要挪机器文件和数据放在一起会让迁移变成整盘拷贝。磁盘空间上软件本身占两三个 GB加上一个最小化的 tceng 库和临时表空间留 20GB 以上比较稳。2.3 账户权限与系统前置用本地管理员账户执行整个安装流程这一点没什么可商量的。Oracle 10g 的安装程序要写注册表、注册系统服务、改 PATH普通账户走到一半会卡在「无法创建服务」这类提示上而提示里不会告诉你是权限问题。安装前把这几件事做掉关掉系统的用户账户控制装完再打开。10g 的安装器对权限提升的处理很粗糙。确认机器名不含下划线并且能被自己解析到。监听配置里要填主机名解析不了就会退化成回环地址。防火墙先放行 1521 端口或者干脆在安装阶段临时关掉装完再按需放开。不要在同一台机器上装第二个 Oracle 10g 的 HOME两个 ORACLE_HOME 共存时环境变量只会指向其中一个lsnrctl 用错 HOME 起监听是高频事故。做完这些系统层面就算干净了。接下来才是真正把 Oracle 10g 装上去。3. Oracle 10g 安装高级安装与企业版的选择Oracle 10g 的安装向导本身不难难在几个选项卡上做的决定会在几天后才显出后果。这一步里最关键的其实只有一个——配置选项那页选「仅安装数据库软件」。选错这一项后面 DBCA 建库时会发现已经有一个默认实例占着 SID要么删库重来要么改端口绕开。3.1 走一遍安装向导把安装介质挂上运行 setup按下面的顺序走进入安装界面不要选基本安装点「高级安装」。基本安装会把实例、监听、示例库一次性全建出来跟 Teamcenter 要的模板库完全不是一回事。安装类型选「企业版」。TC 这套数据字典里表数量不小企业版在分区和并行上的支持更完整标准版省下的那几个授权在实际使用中并不划算。指定安装目录路径按上一章规划好的短路径填。产品清单目录inventory保持默认它记录本机装过哪些 Oracle 组件以后打补丁要靠它。安装程序做前提条件检查。内存和交换区的告警可以忽略但如果有「操作系统版本未验证」的提示确认位宽一致后可以继续。走到配置选项那页选「仅安装数据库软件」这是全文最重要的一次点击。点「下一步」确认摘要信息开始复制文件。中途会弹窗要求以 root 身份跑两个脚本。这一步在 Windows 上一般不会出现出现了说明装的是跨平台版本按提示走完即可。安装结束点「退出」。此时数据库软件已经在机器上但还没有任何可用实例。整个过程十几分钟比后面的建库快得多。退出之后先别急着开 Net Manager花几分钟把环境变量和服务状态确认一遍。3.2 「仅安装数据库软件」为什么不能图省事如果在这一页选了「创建数据库」Oracle 会用自带的通用模板建一个 ORCL 之类的实例同时把监听也配好。听起来省事实际会带来两个问题。第一是模板不对。TC 的库需要特定的表空间布局和初始化参数用通用模板建出来的库后面还是要删掉重建等于白跑一遍。第二是 SID 冲突。DBCA 建 tceng 时要注册新的实例和新的服务名机器上已经有一个占着 1521 的实例要么改端口要么停服务两种处理都会让后面的连接串对不上。从原理上说Oracle 10g 把「软件安装」和「实例创建」拆成了两个独立阶段就是为了支持这种一机多库的场景。选「仅安装数据库软件」等于只完成第一阶段把第二阶段完全交给 DBCA 和 TC 模板来控制。这也是后面所有配置步骤能对得上的前提。提示如果已经手快选了创建数据库不必重装。用 DBCA 把多出来的实例删掉再用同一个 DBCA 建 tceng 即可删库前确认那个实例里没有你需要的数据。3.3 装完先别建库环境变量与服务检查安装程序退出后先从命令行确认两件事服务有没有注册上环境变量有没有指对。这两项错了后面 lsnrctl 和 sqlplus 都会以「找不到命令」的方式报错很容易被误判成路径问题。rem 查看安装程序注册了哪些 Oracle 相关服务正常情况下能看到监听服务和若干后台服务 sc query state all | findstr /i Oracle rem 确认 ORACLE_HOME 和 ORACLE_SID注意这里还没建库SID 先设上不影响什么 echo %ORACLE_HOME% echo %ORACLE_SID% rem 若为空则手动写入系统变量路径换成你自己的 ORACLE_HOME setx ORACLE_HOME D:\oracle\product\10.2.0\db_1 /M setx ORACLE_SID tceng /M setx PATH %PATH%;%ORACLE_HOME%\bin /Msc query那条的输出里OracleOraDb10g_home1TNSListener是要重点看的它对应监听服务虽然此刻监听还没配置服务项一般已经注册。setx /M表示写系统级变量而不是当前用户变量写完之后要新开一个命令行窗口才生效这是很多人改完变量发现echo还是空的原因。PATH 那一行把%ORACLE_HOME%\bin追加进去lsnrctl、tnsping、sqlplus 这些工具才不用写全路径。我一般会把这个 bin 目录放在 PATH 靠前的位置避免机器上其他软件的旧版客户端把同名工具抢了先。环境变量对了软件这一层就算落地了。4. 监听与建库Net Manager 配 LISTENERDBCA 建 tceng这一章是整篇里操作最密集的部分顺序不能反先拷模板再建监听最后用 DBCA 建库。顺序反了会出现「建库时找不到监听」或者「模板列表里没有 TC 选项」这两种经典卡点。4.1 把 TC 的建库模板放进 dbca 目录DBCA 的模板下拉框只认assistants\dbca\templates这个目录里的文件所以第一步是把介质里的模板拷过去。拷贝之前先备份原目录虽然只是几个通用模板但装坏了想恢复原状会麻烦。rem 备份原模板目录出问题可以还原 xcopy D:\oracle\product\10.2.0\db_1\assistants\dbca\templates D:\backup\dbca_templates_bak\ /E /I /Y rem 把 TC 的建库模板拷进 dbca 模板目录 xcopy D:\Tc2007.1_wnti\tc\db_scripts\oracle\*.* D:\oracle\product\10.2.0\db_1\assistants\dbca\templates\ /E /Y/E表示连空目录一起复制/I表示目标不存在时按目录处理/Y是覆盖时不询问。这几条参数在批处理里跑很关键缺了/Y会停在交互提示上自动化脚本就断在那里了。拷完再dir一次目标目录确认 TC 的模板文件和原有的通用模板并排躺着。文件名不用改DBCA 是根据模板内部记录的元信息来显示名称的改文件名反而可能让它认不出来。提示如果机器上装过多个 ORACLE_HOME模板一定要拷到启动 DBCA 的那个 HOME 下面。拷到另一个 HOME 里界面上永远看不到 Teamcenter Oracle 10g 这一项。4.2 Net Manager 建 LISTENER 与 listener.ora监听用图形界面配是最省事的。从「开始」菜单进Oracle - OraDb10g_home1→Net Manager然后按这个路径点编辑 → 创建 → 监听程序名称填LISTENER添加一个地址协议选 TCP/IP主机名填本机名端口 1521保存。保存之后网络配置会写回listener.ora内容大致如下# listener.ora 网络配置文件位于 ORACLE_HOME\network\admin 下 LISTENER (DESCRIPTION_LIST (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST tc-db01)(PORT 1521)) ) ) # 10g 默认不开启动态注册之外的静态配置SID_LIST 可以留空 SID_LIST_LISTENER (SID_LIST (SID_DESC (SID_NAME tceng) (ORACLE_HOME D:\oracle\product\10.2.0\db_1) ) )HOST填的是主机名不是 IP。用主机名便于以后换网段代价是必须保证这个名字能被解析——hosts 文件里加一条是最稳的做法。PORT用默认的 1521除非机器上确实有冲突否则不要改TC 侧的连接串默认也是按这个端口生成的。SID_LIST_LISTENER这一段是为静态注册准备的。库还没建的时候加进去没有坏处反而能让监听在实例起来之前就认得 tceng 这个名字。如果暂时不想加删掉这一段也行等库建好之后实例会自动动态注册上来。4.3 lsnrctl 起监听看懂 status 输出配置保存完监听并不会自己起来需要手动启动一次。rem 启动监听输出里出现启动成功的提示才算成功 lsnrctl start rem 查看监听状态重点看服务是否 READY、实例是否已注册 lsnrctl status rem 停监听用 stop改完配置文件后建议 stop 再 start 而不是 reload lsnrctl stoplsnrctl start的输出里会列出监听地址和启动时间。lsnrctl status的信息量更大上面一段是监听本身的地址和状态下面一段是「服务摘要」每个服务名后面跟一个状态。数据库还没建的时候这里可能只显示监听在跑、没有任何服务注册这是正常的不用当成故障。真正需要警惕的是status直接报TNS-12541: TNS:no listener或者TNS-12560。前者说明监听根本没起来后者多半是 ORACLE_HOME 指错了lsnrctl 读的是另一个 HOME 下的配置文件。提示改完 listener.ora 之后用 stop 再 start不要用 reload。10g 的 reload 在部分场景下不会重新读取地址列表改完端口还是按老端口监听。4.4 DBCA 建 tceng 库监听跑起来之后再动 DBCA。从「开始」菜单进Oracle - OraDb10g_home1→配置和移植工具→Database Configuration Assistant按下面的顺序走欢迎页直接下一步选「创建数据库」。模板列表里选「Teamcenter Oracle 10g」。这一项能出现说明上一节的模板拷贝做对了出不来就回去查拷贝路径。全局数据库名填tcengSID 会自动跟着变成tceng不要手动改。选「所有帐户使用同一口令」口令填tceng确认口令也填tceng。存储选项保持文件系统数据文件位置用默认或者指到规划好的数据分区。恢复配置选不启用归档这套环境前期不做在线备份归档会白占空间。数据库内容页不安装示例方案示例 schema 对 TC 一点用没有只会拖慢建库。初始化参数页确认字符集。我一般选 AL32UTF8避免后面中文数据进库出乱码内存参数按机器实际情况给不要照抄。安全设置保持默认最后到摘要页点「完成」等建库跑完。建库的时间取决于机器性能十几分钟到半小时都算正常。跑完之后 DBCA 会给出一个包含管理 URL 和口令信息的摘要把这个页面截图存下来后面配 TC 服务端的时候要照着填。到这一步数据库软件、监听、实例三样东西齐了Teamcenter 侧才有东西可以连。5. 避坑与排查Oracle 10g 配 Teamcenter 2007 的五处高频翻车下面这五条是我自己或同行实际遇到过的按现象、原因、解决三段写。它们共同的特征是报错信息指向的位置和真实原因隔了一层不按顺序排查会绕很多弯路。5.1 监听与网络类现象lsnrctl start回车后立刻返回TNS-12560: TNS:protocol adapter error或者提示找不到监听程序。原因命令行的 ORACLE_HOME 指向了另一个 Oracle 安装或者当前用户 PATH 里的 lsnrctl 来自别的客户端软件。也有一种情况是监听服务注册了但配置文件路径不对服务起来后读到一个空的 listener.ora。解决先echo %ORACLE_HOME%确认路径再用全路径执行%ORACLE_HOME%\bin\lsnrctl start绕开 PATH 干扰。确认%ORACLE_HOME%\network\admin\listener.ora存在且有内容。都不行就重新跑一遍 Net Manager 保存一次让它重写配置文件。现象监听起来了tnsping tceng一直超时。原因tnsnames.ora 里没有 tceng 这一条或者条目里的 HOST 写的是一个解析不了的名字。解决在%ORACLE_HOME%\network\admin\tnsnames.ora里补一条HOST 用主机名或直接写 IP 都行写 IP 更省事。补完保存tnsping不用重启监听就能生效。5.2 模板与建库类现象DBCA 的模板列表里翻遍了也找不到「Teamcenter Oracle 10g」。原因模板文件拷到了另一个 ORACLE_HOME 的 templates 目录或者拷贝时用了通配符但源目录本身是空的。还有一种隐蔽情况拷贝过去了但当前启动 DBCA 的用户对该目录没有读权限。解决dir确认目标目录里有 TC 的模板文件再用echo %ORACLE_HOME%核对启动的 DBCA 是不是同一个 HOME。确认无误后关掉 DBCA 重新打开模板列表是启动时扫描的不重启看不到新文件。现象建库进度条走到创建数据字典那一步报ORA-12514: TNS:listener does not currently know of service。原因监听没有运行或者监听的 SID_LIST 里写的 SID 和 DBCA 要建的库名不一致。也有可能是建库前把监听停了。解决另开一个窗口lsnrctl status看服务摘要确认监听在跑。SID 对不上的话改 listener.ora 里的 SID_NAME然后 stop/start 监听再重跑 DBCA。建库过程中不要动监听。5.3 口令与环境类现象DBCA 在口令那一步提示口令不符合复杂度要求明明就是 tceng。原因安装时如果启用了口令校验函数纯小写字母的口令会被判为过于简单。这条限制在建库阶段才生效安装软件时看不出来。解决最省事的做法是先按提示改成一个符合规则的复杂口令把库建出来如果必须用 tceng就在建库前临时取消口令校验或者建完之后再用 ALTER USER 改回来。改完记得同步 TC 侧的连接配置。现象所有步骤都走完了TC 安装程序连库时提示连接超时sqlplus 本地却能连上。原因sqlplus 走的是本地 IPC不经过监听TC 走的是网络连接中间任何一个环节hosts、防火墙、tnsnames 条目不通都会超时。解决先用sqlplus system/tcengtceng走一遍网络方式登录能进说明数据库侧没问题问题在 TC 侧的连接串进不去就回头查 tnsnames.ora 和 1521 端口。用主机名的地方全部改成 IP 试一次能通就是名字解析的锅。6. 装完怎么验证从 lsnrctl 到 TC 连库的闭环建库跑完不等于这套环境能用还得走一遍从监听、实例到应用连接的完整链路。我的习惯是四条命令依次过每条都过了才动 TC 的安装程序。6.1 四条命令的验证顺序rem 第一条监听在跑且服务摘要里能看到 tceng lsnrctl status rem 第二条网络服务名能解析输出里应显示连接描述和 OK tnsping tceng rem 第三条以网络方式登录必须带 tceng不能用本地方式糊弄过去 sqlplus system/tcengtceng前两条在命令行里跑第三条进去之后接着执行下面的查询确认实例状态和字符集-- 实例必须是 OPEN 状态MOUNTED 或 STARTED 都不算跑通 select instance_name, status from v$instance; -- 字符集要和规划一致不一致的话后面中文数据会出问题 select parameter, value from nls_database_parameters where parameter NLS_CHARACTERSET; -- 确认 TC 需要的表空间已经由模板建出来了 select tablespace_name, status from dba_tablespaces;v$instance里状态是 OPEN 才算真正可用。字符集那条如果返回的不是你选的那个后面就不要往里灌数据了改字符集要重建库。表空间那条能看到模板预置的几个表空间说明 Teamcenter Oracle 10g 模板确实生效了而不是走了通用模板。6.2 交给 TC 安装程序做最后一道预检上面三条都过了最后一步是把 TC 的安装程序打开走到要求填数据库连接信息的那一页把主机名、端口 1521、SIDtceng、口令填进去点测试连接。这一步不是形式它调用的连接组件和后面跑业务时是同一套能在这里通过说明位数、客户端库、网络三条都对上了。几点补充判断用一张表收一下检查点正常表现异常时的第一嫌疑lsnrctl status服务摘要出现 tceng状态 READYlistener.ora 的 HOST 或 SID_LISTtnsping tceng返回 OK耗时若干毫秒tnsnames.ora 条目或名字解析sqlplus 网络登录正常进入 SQL 提示符监听未起或口令不符TC 测试连接提示连接成功客户端位数或 oci.dll 加载有一次我在一台机器上前三项全绿TC 死活连不上最后发现是系统里同时装了一个 64 位的数据库客户端PATH 排序把它排在了 10g 的 bin 前面TC 加载了错误的 oci.dll。从那以后我每次装完这套环境都强制走一遍上面四条命令并且把echo %PATH%的结果也看一眼确认 Oracle 的 bin 目录排在前面。老环境的坑大多不在大步骤上都藏在这种顺序里。希望这套流程能帮你少返工一次。本文还有配套的精品资源点击获取