我要提问
ARTICLE DETAIL

资讯详情

前沿编程新知与开发实战干货的深度解读。

Teamcenter 2007 PLM环境搭建:Oracle 10g安装与DBCA模板建库详解

Teamcenter 2007 PLM环境搭建:Oracle 10g安装与DBCA模板建库详解 简介这份文档面向需要了解Teamcenter基础架构与部署依赖的PLM初学者和运维人员聚焦Siemens PLM Software旗下Teamcenter 2007版本的安装流程重点解决Oracle 10g数据库环境的搭建与配置问题。资源包内仅含1个doc文档整体约3MB以图文步骤形式记录安装要点便于对照操作。目前已有216人学习下载适合作为早期版本部署的入门参考。文档内容覆盖Oracle 10.0数据库软件安装、监听程序创建与启动、Teamcenter数据库模板文件复制以及通过Database Configuration Assistant创建全局数据库名为tceng的完整过程并涉及企业版安装类型、仅安装数据库软件等关键配置选项的选择。读者可借此理解Teamcenter对数据库层的依赖关系掌握监听器配置与模板准备的基本思路为后续服务器与客户端组件部署打下基础。1. 老版本 PLM 环境搭建为什么今天还要装 Teamcenter 2007手里有一份 Teamcenter 2007 的安装资料很多人第一反应是“这版本太老了还有必要看吗”。但如果你正在维护一套历史遗留的 PLM 环境或者需要把旧库里的数据迁出来做分析这套流程就是绕不开的。Teamcenter 2007 是较早的 PLM 发行版本它的部署链路非常典型Oracle 数据库打底监听器对外服务再用 DBCA 模板建库最后才是应用层。把这一段吃透后面装服务器和客户端组件时遇到连接串、实例名、口令不一致的问题你至少知道该往哪一层查。这份资料适合两类人一是要复现老环境做兼容性验证的工程师二是想理解 PLM 基础架构依赖关系的从业者。下面按数据库安装、监听配置、模板建库三段拆开讲每一步都落到可执行的命令和参数上。2. Oracle 10g 安装与监听器配置先把数据底座立住Teamcenter 的所有工程数据、文档元信息、工作流状态最终都落在 Oracle 里所以数据库这一层没装对后面应用装得再顺也是白搭。这一章把 Oracle 10.0 的安装、监听器创建和启动串起来重点讲清楚“仅安装数据库软件”这个选项为什么不能选错以及监听器名称和端口在后续建库时怎么对应。2.1 安装类型与“仅安装软件”的选型理由进入安装界面后点“高级安装”这一步别图省事选基本安装。高级安装才会让你指定安装目录、选择企业版、控制配置选项。安装类型选“企业版”原因是 Teamcenter 的库表数量多、并发连接和内存参数需要细调企业版在后续 DBCA 建库时能拿到更完整的初始化参数模板。最关键的是配置选项那一步必须选“仅安装数据库软件”不要让它顺手把示例库也建了。原因很直接Teamcenter 2007 需要的是一个用专用模板创建的库实例名、字符集、块大小都有约定。如果安装器先建了一个默认库后面 DBCA 再建tceng时容易出现服务名冲突、监听器注册混乱。我一般会在安装前把磁盘规划好软件目录和数据目录分开软件目录留 68 GB数据目录按实际数据量给老环境里 20 GB 起步比较稳妥。安装路径里不要带空格和中文这是血泪经验Oracle 10g 的某些脚本对路径空格处理得并不好。安装完成后点“退出”此时数据库软件已就位但还没有任何可用实例这是正常状态。接下来要解决的是“数据库怎么被网络访问到”也就是监听器。2.2 用 Net Manager 创建 LISTENER 并命令行启动监听器是客户端连接数据库的第一跳Teamcenter 服务器配置连接串时填的就是“主机:端口/服务名”。创建方式走图形化最稳开始菜单找到Oracle - OraDb10g_home1打开 Net Manager依次点“编辑”→“创建”→“监听程序”名称填LISTENER。名称建议就用默认的 LISTENER因为后续lsnrctl命令和注册表里的服务名默认都认这个改名字反而要多配一处。创建时确认监听协议是 TCP/IP端口用 1521。如果你的机器上已经有别的 Oracle 实例占着 1521这里要换端口并且记下来建库和配连接串时都要同步改。保存后退出 Net Manager然后从命令行启动监听# 启动监听器LISTENER 为 Net Manager 中创建的名称 lsnrctl start LISTENER # 查看监听状态确认服务已注册、端口在监听 lsnrctl status LISTENERlsnrctl start后面跟监听器名称不写则默认操作 LISTENER。执行后看输出里有没有“The command completed successfully”再看status里“Listening Endpoints Summary”是否列出了(PORT1521)。如果启动报 TNS-12560 或 TNS-00511多半是监听器配置文件listener.ora里的主机名解析有问题常见做法是把主机名换成实际 IP 或者在本机 hosts 里补一条解析。这一步过了数据库软件层就算立住了但还没有库下一章用模板建。3. 用 DBCA 模板建 tceng 库模板拷贝与建库参数直接让 DBCA 建一个通用库Teamcenter 后面跑初始化脚本时大概率会报表空间或字符集不匹配。正确做法是把 Teamcenter 自带的 Oracle 模板先塞进 DBCA 的模板目录让建库向导里能直接选到“Teamcenter Oracle 10g”这个选项。这一章讲模板从哪拷、拷到哪、建库时全局库名和口令怎么定。3.1 模板文件的两处路径与拷贝动作资料里给的模板位置是安装介质解压后的Tc2007.1_wnti\tc\db_scripts\oracle目录目标目录是 Oracle 安装目录下的assistants\dbca\templates。这个 templates 目录是 DBCA 启动时扫描模板的地方只有放进去向导的模板列表里才会出现 Teamcenter 选项。拷贝前先确认目标目录存在Oracle 10g 装完后这个目录一般已经在%ORACLE_HOME%\assistants\dbca\templates下。用命令行拷贝更不容易漏文件# 假设安装介质解压在 D:\media\Tc2007.1_wnti # ORACLE_HOME 以实际安装路径为准 xcopy D:\media\Tc2007.1_wnti\tc\db_scripts\oracle\*.* %ORACLE_HOME%\assistants\dbca\templates\ /E /Y/E保证子目录一起拷/Y覆盖时不询问。拷完进目标目录看一眼模板文件通常是.dfb或.dbc后缀数量对得上再往下走。这里有个容易翻车的点如果拷贝时 Oracle 的 DBCA 已经开着模板列表不会刷新必须关掉重开。另外模板文件对版本敏感别拿别的版本目录里的模板混用字符集和表空间定义会对不上。3.2 DBCA 建库全局库名 tceng 与统一口令从开始菜单进Oracle - OraDb10g_home1→ “配置和移植工具” → “Database Configuration Assistant”。向导第一步选“创建数据库”模板列表里选“Teamcenter Oracle 10g”。全局数据库名填tceng这个名称会写进连接串Teamcenter 服务器配置里填的 SID 或服务名要和它一致后面改起来很麻烦所以一次定好。口令策略选“所有帐户使用同一口令”口令填tceng确认口令同样填tceng。老环境里这么设是为了部署脚本能统一取口令生产环境当然要换强口令但复现环境按资料来最省事。之后的几步——数据文件位置、闪回恢复区、内存分配、字符集——直接点“下一步”用模板默认值即可模板里已经按 Teamcenter 的要求定好了块大小和字符集。建库过程会跑十几分钟期间别去动服务。建完后用命令行验证一下库是否真的起来了# 用 sys 以 sysdba 身份本地登录验证实例状态 sqlplus / as sysdba # 登录后执行确认实例名和状态 SELECT instance_name, status FROM v$instance;status显示OPEN才算建库成功。如果报 ORA-01034说明实例没启动先startup再看。到这一步数据库层、监听层、实例层都齐了Teamcenter 服务器组件才有地方落。4. 避坑排查安装链路上最容易翻车的四个点这套流程看着线性实际动手时问题大多出在“层与层之间的衔接”上。下面四条是我在复现老环境时反复遇到的按现象、原因、解决写清楚照着对能省不少时间。4.1 监听启动成功但客户端连不上现象是lsnrctl status显示监听正常但用tnsping tceng或客户端连接时报 ORA-12541 无监听程序。原因通常是监听器只监听了本机回环地址或者listener.ora里的 HOST 写成了机器名而该机器名无法解析。解决办法是打开%ORACLE_HOME%\network\admin\listener.ora把 HOST 改成实际 IP 或0.0.0.0保存后lsnrctl stop再start。改完务必用status确认 Listening Endpoints 里出现的是你期望的地址。4.2 DBCA 模板列表里找不到 Teamcenter 选项现象是进了 DBCA 创建数据库模板列表只有通用模板没有“Teamcenter Oracle 10g”。原因有两个模板文件没拷进assistants\dbca\templates或者拷进去了但 DBCA 进程是拷贝之前启动的。先确认目标目录里文件在再彻底关掉 DBCA 重新打开。还有一种情况是模板文件权限不对Oracle 服务账户读不到检查文件属性里是否对当前用户可读。4.3 建库中途报字符集或表空间错误现象是 DBCA 跑到一半失败日志里提示字符集不支持或表空间不足。原因是模板要求的字符集和安装时选的默认字符集不一致或者数据文件所在磁盘剩余空间不够模板定义的初始大小。解决方式是删掉半成品库重新建建库前在向导里确认字符集与模板一致并保证数据目录至少有模板要求的两倍空间。老环境里数据目录单独挂盘别和系统盘混用。4.4 口令统一设置后 sqlplus 登录被拒现象是建库时选了统一口令tceng但sqlplus sys/tceng as sysdba报 ORA-01017。原因是 Oracle 10g 的sqlnet.ora里SQLNET.AUTHENTICATION_SERVICES配置影响了认证方式或者口令里有被 shell 转义的字符。先试本地sqlplus / as sysdba能否进能进说明实例没问题再用ALTER USER sys IDENTIFIED BY tceng;重设一次。命令行里带口令时注意引号避免特殊字符被解释。5. 建库后的连接验证与参数固化习惯库建完不等于能用Teamcenter 服务器组件配置连接时依赖的是服务名解析和监听注册状态所以建库后我固定会做一轮连接验证把结果记下来后面装应用层时直接对照。验证分三步先确认监听器里注册的服务名再确认tnsnames.ora里的连接描述符最后用实际连接跑一次查询。先看监听注册# 查看监听器已注册的服务确认 tceng 出现在服务列表 lsnrctl services LISTENER输出里应该能看到tceng对应的服务状态为 READY。如果没有说明库启动后没向监听器注册常见做法是在库内执行ALTER SYSTEM REGISTER;强制注册或者检查local_listener参数是否指向了正确的监听地址。接着配tnsnames.ora位置在%ORACLE_HOME%\network\admin加一段连接描述TCENG (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 127.0.0.1)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME tceng) ) )HOST按实际部署改本机验证用回环地址即可SERVICE_NAME必须和建库时的全局库名一致。配完用tnsping TCENG测解析再用sqlplus system/tcengTCENG测实际连接。两步都通说明数据库对应用层已经可用。最后一步是参数固化。老环境最怕的是“这次装好了下次重装忘了改了什么”。我一般会把几个关键参数查出来存成一份文本实例名、服务名、监听端口、字符集、数据文件路径。查询语句如下-- 一次性取出关键环境参数便于记录和比对 SELECT instance_name FROM v$instance; SELECT value FROM nls_database_parameters WHERE parameter NLS_CHARACTERSET; SELECT name FROM v$datafile;把输出贴进部署记录里下次遇到连接串对不上先翻这份记录比现场猜要快得多。这套习惯是从一次重装后忘了字符集、导致应用初始化脚本报错开始的——从那以后我每次建完库都强制走一遍“监听服务名、tnsnames、实际连接、参数快照”这四步少一步后面都可能返工。希望帮到你。本文还有配套的精品资源点击获取
返回列表