叱咤风云tuxedo企业级运维实战如何用好全局事务

合集下载

运维处理方案

运维处理方案

运维处理方案运维处理方案是指在信息系统运行维护过程中,针对可能出现的各种问题和故障,制定的一系列应对措施和解决方案。

这些方案旨在确保系统的稳定运行,提高系统可用性,减少故障对业务的影响。

以下是一些常见的运维处理方案:1. 预防性维护:定期对系统进行检查和维护,以预防潜在的问题和故障。

这包括对硬件、软件、网络设备等进行例行检查,确保它们处于良好状态。

2. 监控系统:部署实时监控系统,对关键指标进行监控,以便及时发现异常情况。

监控系统可以包括性能监控、资源监控、日志监控等。

3. 故障应急响应:制定故障应急响应计划,明确故障发生时的响应流程和责任人。

在故障发生时,按照预定的流程进行快速响应和处理,以缩短故障恢复时间。

4. 备份与恢复:定期对系统数据和配置进行备份,以便在发生数据丢失或损坏时能够快速恢复。

备份策略应包括全量备份、增量备份和差异备份等。

5. 容量规划:根据业务需求和系统负载情况,进行容量规划,确保系统具备足够的资源来支持业务发展。

这包括对CPU、内存、存储、网络带宽等资源的规划。

6. 安全策略:制定并执行严格的安全策略,以防止未经授权的访问和攻击。

这包括对系统进行定期安全检查,及时更新安全补丁,加强账号管理等。

7. 性能优化:通过对系统进行性能分析和调优,提高系统的运行效率。

这包括对数据库、应用程序、网络等进行优化,以提高响应速度和吞吐量。

8. 文档管理:建立完善的运维文档体系,记录系统的架构、配置、操作手册等信息。

这有助于提高运维团队的工作效率,同时也便于新成员快速熟悉系统。

9. 培训与知识共享:定期对运维团队进行培训,提高团队成员的技能水平。

同时,鼓励团队成员进行知识共享,以便更好地解决问题和提高工作效率。

10. 持续改进:通过对运维工作的持续改进,提高运维质量。

这包括对运维流程、工具、方法等进行优化,以适应不断变化的业务需求和技术环境。

软件系统运维技术使用方法应用案例

软件系统运维技术使用方法应用案例

软件系统运维技术使用方法应用案例随着信息技术的快速发展,软件系统已经成为现代企业和组织运作的重要支持工具。

然而,软件系统的正常运行和稳定性往往要依靠专业的运维技术来保证。

本文将通过介绍一个实际的案例,讨论软件系统运维技术的使用方法和应用。

案例背景:某公司是一家电商企业,利用一套自主开发的电商平台进行线上交易和订单管理。

由于该平台需要处理大量的交易数据和用户信息,系统的可靠性和性能要求非常高。

然而,近期公司的客户反馈系统响应速度下降、订单处理出现延误等问题,严重影响了用户体验和企业形象。

问题分析:针对上述问题,我们可以从以下几个方面进行分析。

1. 监控和性能优化:首先,我们可以通过引入监控系统来实时监测系统的运行状况。

监控系统可以监测关键性能指标,如CPU利用率、内存占用、磁盘空间等,并提供可视化的报表和警报功能。

通过及时发现和解决系统瓶颈,可以有效提升系统的性能。

同时,我们还可以通过性能优化来减少系统的响应时间。

例如,使用缓存技术来存储常用数据,减少对数据库的访问频率。

此外,对数据库的索引进行优化,以提高数据检索的效率。

2. 容量规划和扩展:由于公司业务的快速增长,原有的服务器资源已经无法满足系统的需求。

因此,需要进行容量规划,并及时进行资源的扩展。

通过分析历史数据和预测未来的用户访问量,可以合理规划系统的硬件资源,并根据需求增加服务器的数量或升级服务器的配置。

此外,在进行扩展时,还需要考虑到系统的高可用性。

可以使用负载均衡技术来实现多台服务器之间的请求转发,以提升系统的稳定性和可靠性。

3. 自动化运维:为了更好地管理和维护软件系统,建议引入自动化运维工具和技术。

例如,使用配置管理工具来管理服务器的配置,包括软件版本控制、系统设置等。

这样可以在系统出现问题时,快速恢复到之前的工作状态。

另外,自动化运维还可以实现巡检和巡查的自动化。

通过定期的自动化脚本运行,可以检查系统的健康状况、日志文件的完整性等。

软件系统运维技术使用教程

软件系统运维技术使用教程

软件系统运维技术使用教程随着信息技术的不断发展,软件系统在现代企业的运营中起到至关重要的作用。

为了确保软件系统的稳定运行和高效管理,运维人员需要掌握一系列关键的技术。

本文将为大家提供一份软件系统运维技术使用教程,帮助运维人员更好地完成任务。

第一步:系统监控与故障处理在软件系统的运维中,系统监控是至关重要的一环。

通过对系统的实时监控,运维人员可以及时发现潜在的问题,并采取相应的措施以防止系统的故障发生。

常见的系统监控工具有Zabbix、Nagios和Prometheus等,运维人员可以根据实际需求选择合适的工具。

故障处理是软件系统运维工作中的关键环节。

当系统出现故障时,运维人员需要迅速诊断问题并采取恢复措施,以最小化系统的停机时间。

为了高效地处理故障,运维人员需要熟悉常见的故障排除方法和工具,比如日志分析、网络故障排查等。

第二步:性能优化与容量规划随着业务的发展,软件系统的性能优化和容量规划变得越发重要。

性能优化可以保证系统的高响应速度和稳定性,提供更好的用户体验。

容量规划则是根据业务需求和系统资源状况,合理分配和管理系统的硬件和软件资源,以满足用户的需求。

在性能优化方面,运维人员可以通过对系统进行定期的性能测试和监测,识别潜在的性能瓶颈并进行优化。

常见的性能优化手段包括:数据库索引优化、代码优化、缓存优化等。

容量规划是基于对系统的需求和资源的评估,确定系统的硬件和软件资源配置,以充分满足用户的需求并避免资源浪费。

运维人员需要根据业务发展的需求和系统的负载情况制定容量规划,并在需要时进行资源扩容或削减的操作。

第三步:自动化运维与工具开发软件系统的运维工作常常是繁琐且重复的,为了提高工作效率和降低人工错误的发生,自动化运维成为了当今企业的趋势。

运维人员可以通过开发脚本、使用自动化工具和配置管理平台等方式,实现运维任务的自动化执行。

自动化运维不仅可以提高运维效率,同时还可以提供更好的工作质量和可追溯性。

全流程运维系统应用案例

全流程运维系统应用案例

全流程运维系统应用案例全流程运维系统是一种将软件开发、测试、部署和运维等环节进行整合和自动化管理的系统。

它通过集成各个环节的工具和流程,实现了从代码提交到最终上线的全流程自动化,提高了开发运维效率,降低了系统故障和人为错误的风险。

下面将列举10个全流程运维系统应用案例。

1. 代码版本管理:全流程运维系统可以集成代码版本管理工具,如Git,实现代码提交、分支管理和代码合并等功能。

开发人员可以通过全流程运维系统进行代码的版本控制,确保代码的安全性和一致性。

2. 持续集成与测试:全流程运维系统可以集成持续集成和自动化测试工具,如Jenkins和Selenium,实现代码的自动构建、单元测试和集成测试。

开发人员可以通过全流程运维系统自动化地进行代码的构建和测试,提高软件质量和稳定性。

3. 自动化部署:全流程运维系统可以集成自动化部署工具,如Ansible和Docker,实现软件的自动化部署和环境配置。

运维人员可以通过全流程运维系统快速、可靠地将软件部署到不同的环境中,减少了人工操作的错误和风险。

4. 资源监控与告警:全流程运维系统可以集成监控和告警工具,如Zabbix和Nagios,实现对系统资源的实时监控和异常告警。

运维人员可以通过全流程运维系统及时发现和处理系统故障,提高系统的可用性和稳定性。

5. 日志管理与分析:全流程运维系统可以集成日志管理和分析工具,如ELK(Elasticsearch、Logstash和Kibana),实现对系统日志的集中管理和分析。

运维人员可以通过全流程运维系统快速定位和解决系统问题,提高故障排查的效率。

6. 安全审计与漏洞管理:全流程运维系统可以集成安全审计和漏洞管理工具,如Wazuh和Nessus,实现对系统安全漏洞的检测和修复。

运维人员可以通过全流程运维系统及时发现和处理系统安全问题,保护系统的安全性和稳定性。

7. 自动化运维与故障恢复:全流程运维系统可以集成自动化运维和故障恢复工具,如SaltStack和Puppet,实现对系统的自动化运维和故障恢复。

企业级应用集成实战案例分享(十)

企业级应用集成实战案例分享(十)

企业级应用集成实战案例分享随着企业的发展,信息系统的复杂性也在不断增加。

为了提高工作效率和优化资源利用,许多企业开始将各个部门的信息系统整合起来,形成一个统一的应用平台。

这就需要进行企业级应用集成,将不同的应用系统无缝衔接起来,实现数据的共享和互通。

在这篇文章中,我将与大家分享几个企业级应用集成的实战案例,以及背后的技术和挑战。

案例一:ERP系统的整合企业资源计划(Enterprise Resource Planning,简称ERP)系统是集成管理企业各个部门和功能的关键系统。

然而,由于不同部门可能采用不同的ERP系统,导致数据难以共享和整合。

为了解决这一问题,一家制造业企业决定进行ERP系统之间的整合。

首先,他们分析了各个ERP系统的数据结构和业务流程,确定了共同的数据标准和接口。

然后,通过使用消息队列、数据转换器和服务总线等技术手段,实现了ERP系统之间的数据交换和互通。

最终,他们成功地将不同部门的ERP系统整合到一个统一的平台上,实现了跨部门的数据流动和协同工作。

案例二:CRM系统与外部应用的集成客户关系管理(Customer Relationship Management,简称CRM)系统是管理企业与客户关系的关键系统。

为了更好地服务客户,一家零售企业决定将CRM系统与外部应用(如电子商务平台和社交媒体)进行集成。

首先,他们整合了CRM系统和电子商务平台,实现了订单和客户数据的自动同步。

这样,当客户在网上下订单时,CRM系统能够自动更新客户资料和订单信息,提供更加个性化和高效的服务。

其次,他们还集成了CRM系统和社交媒体,实时监测和分析客户在社交媒体上的反馈和评论。

通过将社交媒体数据与CRM系统的客户数据进行关联,企业可以更好地了解客户需求和偏好,从而改进产品和服务的质量。

案例三:供应链管理系统的集成供应链管理(Supply Chain Management,简称SCM)系统是管理企业供应链流程的关键系统。

软件系统运维技术的使用指南和最佳实践

软件系统运维技术的使用指南和最佳实践

软件系统运维技术的使用指南和最佳实践作为软件系统运维工程师,掌握并运用适当的技术指南和最佳实践是确保软件系统安全、稳定运行的关键。

本文将介绍一些常用的软件系统运维技术的使用指南和最佳实践,旨在帮助运维工程师们提高工作效率。

一、自动化运维工具的使用指南随着软件系统规模的不断扩大,手动操作已经不能满足高效运维的需求,因此,使用自动化运维工具是提高运维效率的重要手段。

以下是一些常用的自动化运维工具及其使用指南:1.配置管理工具(例如:Ansible、Puppet、Chef):配置管理工具能够实现统一的配置管理,减少重复劳动和人为错误。

在使用配置管理工具时,需要首先定义好系统配置和规范,然后通过编写配置文件和定义任务来实现自动化管理。

2.容器技术(例如:Docker、Kubernetes):容器技术可以将应用程序及其依赖项打包到一个独立的容器中,便于部署和管理。

在使用容器技术时,需要了解容器化的概念和基本原理,并学会使用相关命令和工具进行容器的创建、管理和监控。

3.自动化部署工具(例如:Jenkins、Travis CI):自动化部署工具可以实现自动化的软件发布和部署过程,提高交付速度和可靠性。

在使用自动化部署工具时,需要了解软件发布和部署的流程,并配置好相关的构建、测试和部署环境。

二、日志和监控系统的最佳实践及时有效地监控软件系统的运行状态和性能表现,以及对系统日志进行分析和处理,对于快速定位和解决问题至关重要。

以下是一些日志和监控系统的最佳实践建议:1.日志管理:建议将系统和应用程序产生的日志集中存储和管理,便于查找和分析。

可以考虑使用ELK(Elasticsearch、Logstash、Kibana)等日志分析工具,实现日志的实时索引、搜索和可视化展示。

2.性能监控:使用性能监控工具实时监测软件系统的各项指标,例如CPU使用率、内存占用、网络流量等。

通过设置阈值和警报规则,及时发现系统故障或异常情况,并采取相应的处理措施。

TUXEDO中间件基础培训教程

TUXEDO中间件基础培训教程

TUXEDO中间件基础培训教程TUXEDO中间件是一种分布式事务处理的中间件,主要用于构建大型高可用性、高性能的企业级应用系统。

提供了事务管理、消息传递和分布式资源管理等功能,可以让企业系统更快速、更可靠地处理海量业务数据和请求。

为了能更好地掌握TUXEDO中间件,需要进行基础培训,本文将对TUXEDO中间件基础培训教程进行讲解,帮助大家更快速地了解TUXEDO的组成、实现和使用。

TUXEDO中间件的组成TUXEDO中间件的组成由多个模块构成,主要包括:应用程序接口、事务处理、服务管理、安全性控制、消息传递等功能模块。

1. 应用程序接口:TUXEDO中间件提供了多种编程接口,包括C/C++、Java、COBOL、FORTRAN等语言,可以根据项目需要选择语言。

2. 事务处理:TUXEDO中间件提供了事务处理功能,支持分布式事务,可以通过TUXEDO的一系列手段进行事务控制。

3. 服务管理:TUXEDO中间件提供了服务管理功能,包括服务注册、服务发现和负载均衡等,可以对服务进行管理。

4. 安全性控制:TUXEDO中间件提供了安全性控制功能,包括身份认证、授权、数据传输加密等,可以保障数据的安全性。

5. 消息传递:TUXEDO中间件提供了消息传递功能,可以在应用程序之间进行异步通信,支持消息队列模式和发布/订阅模式。

TUXEDO中间件的实现TUXEDO中间件的实现和其他中间件类似,需要进行部署、配置和管理等步骤。

1. 部署:TUXEDO中间件的部署需要先安装TUXEDO,然后配置环境变量和文件路径,需要注意的是TUXEDO的环境变量和文件路径的设置不同于其他软件,需要参照TUXEDO的文档进行设置。

2. 配置:TUXEDO中间件的配置需要配置应用程序、服务、事务和消息传递等参数,需要结合实际业务需求进行配置,可以使用TUXEDO自带的命令行工具或GUI工具进行配置。

3. 管理:TUXEDO中间件的管理需要进行日志监控、性能优化、错误排查等操作,可以使用TUXEDO自带的工具进行管理,也可以通过第三方工具进行管理。

企业软件系统日常运维服务方案

企业软件系统日常运维服务方案

企业软件系统日常运维服务方案随着企业信息化程度的不断提高,企业软件系统的重要性也越来越凸显出来。

为了确保企业软件系统的正常运行,提高系统的稳定性和可用性,企业需要进行日常的运维服务。

下面是一个企业软件系统日常运维服务方案的详细介绍。

1.服务内容(1)系统监控:对企业软件系统进行24小时的全方位监控,包括服务器、数据库、网络等各个方面。

及时发现并解决潜在的问题,确保系统的稳定运行。

(2)故障处理:在系统出现故障时,快速定位问题,进行故障排除和修复。

尽可能将系统的停机时间降到最低,减少对企业日常运营的影响。

(3)性能优化:对系统进行定期的性能分析和优化,包括数据库调优、代码优化等。

提高系统的响应速度和并发能力,提升用户体验。

(4)备份与恢复:对企业软件系统进行定期的数据备份,确保数据的安全和完整性。

同时建立灾备机制,以防系统发生灾难性故障时能够快速恢复。

(5)安全防护:加强系统的安全防护,包括安全策略制定、安全漏洞修复、防火墙配置等。

保障系统的信息安全,防止恶意攻击和数据泄露。

(6)版本升级:定期对企业软件系统进行版本升级和补丁安装,保持系统处于最新的安全状态,并享受新功能和性能优化带来的好处。

2.服务流程(2)问题接受:运维人员接收到问题报告后进行处理,记录问题的基本信息,包括问题发生时间、具体操作步骤等。

(3)问题定位:运维人员根据问题报告中的基本信息,进行问题定位,找出问题出现的原因。

(4)问题解决:根据问题定位的结果,运维人员进行问题解决,包括故障排除、修复等操作。

(5)问题反馈:问题解决后,运维人员向用户反馈解决结果,并告知用户如何避免类似问题的再次发生。

3.服务优势(1)专业团队:拥有一支经验丰富、技术过硬的运维团队,能够快速、有效地解决各类系统问题,提供高质量的服务。

(2)定制化服务:根据企业的实际需求,提供个性化的运维服务,满足企业不同层次和不同规模的需求。

(3)响应迅速:运维服务团队提供7x24小时的服务,能够及时响应用户的问题,并快速解决。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第9章如何用好全局事务9.1 什么是全局事务全局事务是由资源管理器管理和协调的事务,可以跨越多个数据库和进程。

事务管理器一般使用XA二阶段提交协议与“企业信息系统(EIS)”或数据库进行交互。

也就是当一个事务需要跨越多个数据库时,需要使用全局事务。

例如,一个事务中可能更新几个不同的数据库。

对数据库的操作发生在系统的各处,但必须全部被提交或回滚。

此时,一个数据库对自己内部所做操作的提交不仅依赖本身操作是否成功,还要依赖与全局事务相关的其他数据库的操作是否成功,如果任一数据库的任一操作失败,则参与此事务的所有数据库所做的所有操作都必须回滚。

在一个涉及多个数据库的全局事务中,为保证全局事务的完整性,由交易中间件控制数据库做两阶段提交是必要的。

但典型的两阶段提交,对数据库来说事务从开始到结束(提交或回滚)时间相对较长,在事务处理期间数据库使用的资源(如逻辑日志、各种锁),直到事务结束时才会释放。

因此,使用典型的两阶段提交相对来说会占用更多的资源,如果网络条件不好,如低速网、网络颠簸频繁,情况会更为严重。

9.2 本地事务的优缺点本地事务容易使用,但也有明显的缺点:它们不能用于多个事务性资源。

例如,使用JDBC连接事务管理的代码不能用于全局的JTA事务中。

另一个缺点是局部事务趋向于侵入式的编程模型。

9.3 Tuxedo对事务的控制与管理当客户端连接到Tuxedo并创建一个全局事务时,TM(Transaction Manager,事务管理器)就会在公告板(BB)里面创建一个事务,由TMS向GTT(Global Transaction Table,全局事务表,里面包含当前事务的状态信息)中插入一个条目,然后分配一个GTRID(Global Transaction Identifier,全局事务标识符)来对该事务进行跟踪。

Tuxedo的事务管理由TMS完成,TMS把各种RM接入到Tuxedo中的分布式计算中来,并对RM中执行的事务进行跟踪和两阶段提交。

Tuxedo对事务的管理工作主要包括创建TMS、创建TLOG、运行时事务的监控和迁移。

每一个在Tuxedo中用到的RM,都需要创建一个专用的TMS,否则无法在UBBCONFIG 文件中调用。

创建TMS的命令为:buildtms。

这个命令需要从RM文件中读取信息,包括RM名、XA Switch名,以及XA支持库。

为了恢复全局事务,TMS使用TLOG来记录事务日志。

在每台Tuxedo主机上,只需创建一个TLOG文件,它就会被这台主机上所有的TMS实例共享使用。

如果一个全局事务还没有完成,就会在TLOG文件中占用一个分页的空间(512KB),事务完成之后,它在TLOG中的记录被自动删除。

在全局事务中,如果一个事务在提交前失败,在事务超时以后,TMS会把它的状态从TMGACTIVE改变为TMGABORTONL Y,在Tuxedo下一次进行健康检查时,会把它从GTT中清除。

另外,当Tuxedo检测到只有一个RM参与到分布式事务中时,TMS则会略去第一阶段时的事务征集过程,直接进行事务的提交或者回滚。

9.4 常用事务相关的函数为了界定全局事务,Tuxedo除了支持标准的TX接口外,还提供了一套自己的事务接口,其中基于TX接口的包括以下几种。

1. tpopen()这个函数被服务进程和TMS(事务管理器)调用,用于建立和RM(资源管理器,一般为数据库)的连接。

连接信息由服务进程组的OPENINFO参数提供。

服务进程和TMS在启动时,通常会自动回调tpsvrinit()函数,tpopen()通常在tpsvrinit()函数中被调用。

连接失败时返回值为–1,并把错误号保存在全局变量tperrno中。

2. tpclose()这个函数在服务进程和TMS的析构函数tpsvrdone(3c)中被隐含调用,用于关闭一个RM的连接,关闭信息由进程组的CLOSEINFO参数提供。

3. tpbegin()该函数的功能是开始一个全局事务,并分配一个GTRID(全局事务标识符)来对它进行跟踪。

4. tpcommit()该函数的功能是提交一个全局事务,提交成功时返回零,失败时返回–1。

提交失败时,可能把tperrno设置为TPETIME、TPEABORT、TPEPROTO、TPEHAZARD、TPEHEURISTIC或TPEINVAL。

TPETIME表示事务已经超时,状态未知,可能是已经提交,也可能是已经回滚。

TPEABORT表示某个RM不能提交它的局部事务。

TPEPROTO表示协议错误,即调用点不在一个有效的事物上下文中,如事务的提交者不是事务的初始者或者提交的事务根本不存在。

TPEHAZARD表示由于某些失败的因素,全局事务已经启发式完成。

TPEHEURISTIC表示由于启发式的决策,部分RM提交了事务,部分RM回滚了事务。

TPEINVAL表示函数调用的参数设置不对。

5.tpabort()回滚一个全局事务。

6.tpsuspend()该函数功能为挂起一个全局事务。

当某些对RM的操作不想纳入当前的事务上下文中时,可以在调用点之前先挂起事务,当前事务完成后,再恢复事务。

7.tpresume()恢复一个被挂起的全局事务。

8.tpscmt()该函数的功能是设置提交控制参数TP_COMMIT_CONTROL的值。

9.tpgetlev()通过该函数的返回值来判断当前的调用点是否处在全局事务中。

如果返回值是1,表示当前调用点正处在全局事务中,如果是零,表示不在全局事务中。

9.5 数据库连接9.5.1 TMS介绍Tuxedo事务管理器(TMS)必须跟踪分布式事务处理的整个流程,记录足够的信息以便在任何时候进行提交或回滚,因此TMS使用事务日志文件(TLOG)来记录跟踪信息,同时为了区别系统中同时进行的不同事务处理流程,TMS又为不同的事务处理分配了一个全局事务编号(GTRIDs)。

在事务处理的不同阶段,TMS将执行不同的动作,见表9-1。

表9-1阶段TMS动作应用程序启动一项事务处理为事务处理分配一个全局事务编号(GTRIDs)启动事务处理的进程与其他进程通信跟踪这些参与事务处理的进程续表阶段TMS动作事务处理访问RM 将相应的GTRIDs传递给RM,这样RM就可以监控哪些数据库记录被该事务处理存取应用程序标记一项事务处理将被提交按两步提交协议执行事务应用程序取消事务处理执行回滚操作有错误发生执行回滚操作9.5.2 XA模式与NO-XA模式XA就是X/Open DTP定义的交易中间件与数据库之间的接口规范(即接口函数),交易中间件用它来通知数据库事务的开始、结束以及提交、回滚等。

XA接口函数由数据库厂商提供。

NO-XA应用服务器不需要参与事务管理,只针对单一事务资源,不能跨越多个事务资源。

9.5.3 Tuxedo与各种数据库的连接Tuxedo可以和所有的有标准XA接口的RM连接,目前几乎所有的关系型数据库和消息队列产品都支持标准的XA接口。

Tuxedo和各种数据库相连,都需要配置一个重要的文件RM。

RM文件包含所有的资源管理器的入口,它们被Tuxedo应用访问,RM文件在$TUXDIR/udataobj目录下。

下面以Oracle数据库为例进行介绍。

1.操作系统的准备工作如果Tuxedo连接的数据库不在本地,需要安装oracle客户端。

2.Oracle数据库中的准备工作Sysadmin登录数据库,执行如下脚本。

示例9-1:SQL>@$ORACLE_HOME\rdbms\admin\xaview.sql赋权限给public用户。

示例9-2:SQL>grant select on v$xatrans$ to public with grant option;SQL>grant select on v$pending_xatrans$ to public with grant option;SQL>GRANT SELECT ON DBA_PENDING_TRANSACTIONS TO Scott;3..profile文件的设置,需要设置ORACLE_HOME并修改PATH示例9-3:ORACLE_HOME=/u01/app/oracle/product/10.2.1/clientexport ORACLE_HOMEPATH=$PATH:$ORACLE_HOME/binexport PATH4.修改RM文件如果使用的不是COBOL(Common business Oriented Language)开发的程序,Oracle_XA 的值不需要改变,否则需要作如下修改。

示例9-4:Oracle_XA:xaosw:-L${ORACLE_HOME}/lib –L${ORACLE_HOME}/precomp/lib/cobsqlintf.o –lclntsh5.创建tms文件在TUXAPP目录下创建文件TMS_ORA10G,Tuxedo通过TMS_ORA10g与ORACLE 数据库采用XA协议进行通信。

示例9-5:buildtms -o $TUXAPP/TMS_ORA10g -r Oracle_XA6.修改UBBCONFIG文件在*GROUPS中添加如下内容。

示例9-6:OPENINFO="ORACLE_XA:Oracle_XA+Acc=P/scott/scott+sqlNet=ORCL+SesTm=100+ LogDir=.+MaxCur=5" TMSNAME="TMS_ORA10g" TMSCOUNT=29.6 全局事务的使用规则全局事务的使用遵守两阶段提交协议,另外在事务控制问题上还有以下几个方面需要注意。

9.6.1 谁发起谁结束全局事务的发起和结束可以是中间件应用的前台,也可以是后台。

在事务的控制上应遵循谁发起事务,谁就结束的原则。

在Tuxedo中,事务既可以在前台程序中发起,也可以在后台程序中发起。

无论放在前台还是放在后台都有其优缺点。

事务放在前台增加了网络传输的流量,但是可以保证异常情况下前后台操作的一致性,事务放在后台可以减少网络流量,但是对于异常情况下前后台操作的一致性很难保证。

通常采用的是事务放在前台程序中。

但是无论放在前台还是后台,都要遵循“谁发起,谁结束”的原则。

9.6.2 不允许嵌套Tuxedo不支持嵌套事务处理,即发起者在调用tpbegin()和tpabort()或tpcommit()之间不能再调用tpbegin()开始一个新的事务处理,也不能再开始一个本地事务。

9.6.3 处理好超时Tuxedo应用系统的事务超时控制很重要,不设置超时时间对系统来说可能会引发灾难。

影响Tuxedo全局事务的超时主要有以下3种。

相关文档
最新文档