分析DB2活动日志满的原因及解决DB2日志满方法与避免方案_DB2

来源:脚本之家  责任编辑:小易  

雷曼兄弟公司财务管理分析存在的问题2008年9月15日,拥有158年悠久历史的美国第四大投资银行雷曼兄弟(Lehman Brothers)公司正式申请依据以重建为前提的美国联邦破产法第11章所规定的程序破产,即所谓破产保护。雷曼兄弟公司,作为曾经在美国金融界中叱咤风云的巨人,在此次爆发的金融危机中也无奈破产,这不仅与过度的金融创新和乏力的金融监管等外部环境有关,也与雷曼公司本身的财务管理目标有着某种内在的联系。本文将从公司内部财务的角度深入剖析雷曼兄弟公司破产的原因。一、股东财富最大化:雷曼兄弟财务管理目标的现实选择雷曼兄弟公司正式成立于1850年,在成立初期,公司主要从事利润比较丰厚的棉花等商品的贸易,公司性质为家族企业,且规模相对较小其财务管理目标自然是利润最大化。在雷曼兄弟公司从经营干洗、兼营小件寄存的小店逐渐转型为金融投资公司的同时,公司的性质也从一个地道的家族企业逐渐成长为在美国乃至世界都名声显赫的上市公司。由于公司性质的变化,其财务管理目标也随之由利润最大化转变为股东财富最大化。其原因至少有:(1)美国是一个市场经济比较成熟的国家,建立了完善的市场经济制度和资本市场体系,因此,以股东财富最大化为财务管理目标能够获得更好的企业外部环境支持;(2)与利润最大化的财务管理目标相比,股东财富最大化考虑了不确定性、时间价值和股东资金的成本,无疑更为科学和合理;(3)与企业价值最大化的财务管理目标相比,股东财富最大化可以直接通过资本市场股价来确定,比较容易量化,操作上显得更为便捷。因此,从某种意义上讲,股东财富最大化是雷曼兄弟公司财务管理目标的现实选择。二、雷曼兄弟破产的内在原因:股东财富最大化股东财富最大化是通过财务上的合理经营,为股东带来最多的财富。当雷曼兄弟公司选择股东财富最大化为其财务管理目标之后,公司迅速从一个名不见经传的小店发展成闻名于世界的华尔街金融巨头,但同时,由于股东财富最大化的财务管理目标利益主体单一(仅强调了股东的利益)、适用范围狭窄(仅适用于上市公司)、目标导向错位(仅关注现实的股价)等原因,雷曼兄弟最终也无法在此次百年一遇的金融危机中幸免于难。股东财富最大化对于雷曼兄弟公司来说,颇有成也萧何,败也萧何的意味。1.股东财富最大化过度追求利润而忽视经营风险控制是雷曼兄弟破产的直接原因在利润最大化的财务管理目标指引之下,雷曼兄弟公司开始转型经营美国当时最有利可图的大宗商品期货交易,其后,公司又开始涉足股票承销、证券交易、金融投资等业务。1899年至1906年的七年间,雷曼兄弟公司从一个金融门外汉成长为纽约当时最有影响力的股票承销商之一。其每一次业务转型都是资本追逐利润的结果,然而,由于公司在过度追求利润的同时忽视了对经营风险的控制,从而最终为其破产埋下了伏笔。雷曼兄弟公司破产的原因,从表面上看是美国过度的金融创新和乏力的金融监管所导致的全球性的金融危机,但从实质上看,则是由于公司一味地追求股东财富最大化,而忽视了对经营风险进行有效控制的结果。对合成CDO(担保债务凭证)和CDS(信用违约互换)市场的深度参与,而忽视了CDS市场相当于4倍美国GDP的巨大风险,是雷曼轰然倒塌的直接原因。2.股东财富最大化过多关注股价而使其偏离了经营重心是雷曼兄弟破产的推进剂股东财富最大化认为,股东是企业的所有者,其创办企业的目的是扩大财富,因此企业的发展理所当然应该追求股东财富最大化。在股份制经济条件下,股东财富由其所拥有的股票数量和股票市场价格两方面决定,而在股票数量一定的前提下,股东财富最大化就表现为股票价格最高化,即当股票价格达到最高时,股东财富达到最大。为了使本公司的股票在一个比较高的价位上运行,雷曼兄弟公司自2000年始连续七年将公司税后利润的92%用于购买自己的股票,此举虽然对抬高公司的股价有所帮助,但同时也减少了公司的现金持有量,降低了其应对风险的能力。另外,将税后利润的92%全部用于购买自己公司而不是其他公司的股票,无疑是选择了“把鸡蛋放在同一个篮子里”的投资决策,不利于分散公司的投资风险;过多关注公司股价短期的涨和跌,也必将使公司在实务经营上的精力投入不足,经营重心发生偏移,使股价失去高位运行的经济基础。因此,因股东财富最大化过多关注股价而使公司偏离了经营重心是雷曼兄弟公司破产的推进剂。3.股东财富最大化仅强调股东的利益而忽视其他利益相关者的利益是雷曼兄弟破产的内在原因雷曼兄弟自1984年上市以来,公司的所有权和经营权实现了分离,所有者与经营者之间形成委托代理关系。同时,在公司中形成了股东阶层(所有者)与职业经理阶层(经营者)。股东委托职业经理人代为经营企业,其财务管理目标是为达到股东财富最大化,并通过会计报表获取相关信息,了解受托者的受托责任履行情况以及理财目标的实现程度。上市之后的雷曼兄弟公司,实现了14年连续盈利的显著经营业绩和10年间高达1103%的股东回报率。然而,现代企业是多种契约关系的集合体,不仅包括股东,还包括债权人、经理层、职工、顾客、政府等利益主体。股东财富最大化片面强调了股东利益的至上性,而忽视了其他利益相关者的利益,导致雷曼兄弟公司内部各利益主体的矛盾冲突频繁爆发,公司员工的积极性不高,虽然其员工持股比例高达37%,但主人翁意识淡薄。另外,雷曼兄弟公司选择股东财富最大化,导致公司过多关注股东利益,而忽视了一些公司应该承担的社会责任,加剧了其与社会之间的矛盾,也是雷曼兄弟破产的原因之一。4.股东财富最大化仅适用于上市公司是雷曼兄弟破产的又一原因为了提高集团公司的整体竞争力,1993年,雷曼兄弟公司进行了战略重组,改革了管理体制。和中国大多企业上市一样,雷曼兄弟的母公司(美国运通公司)为了支持其上市,将有盈利能力的优质资产剥离后注入到上市公司,而将大量不良资产甚至可以说是包袱留给了集团公司,在业务上实行核心业务和非核心业务分开,上市公司和非上市公司分立运行。这种上市方式注定了其上市之后无论是在内部公司治理,还是外部市场运作,都无法彻底地与集团公司保持独立。因此,在考核和评价其业绩时,必须站在整个集团公司的高度www.zgxue.com防采集请勿采集本网。

日志使用

下图显示了并发事务条件下,日志使用的示意

戊戌变法失败的真正原因是:资产阶级力量不足以同封建势力相抗衡。资产阶级维新派的软弱性和妥协性,缺乏反帝反封建的勇气,只采取改良的办法,并对封建反动势力和列强寄于幻想,远离了民众,又

有3个并发的程序Process 1、Process 2、Process 3。每一个程序都有两个事务。蓝块代表SQL语句,红块代表commit操作,绿块代表rollback操作。每一个向下的箭头都代表日志缓冲区的数据被刷新到日志磁盘上(默认是每一次提交操作都会导致日志缓冲被刷新到磁盘上)。

翻译 乐广有一位亲密的朋友,分别很久不见再来,乐广问朋友不来的原因时,友人回答说:“前些日子来你家做客,承蒙你给我酒喝,正端起酒杯要喝酒的时候,看见杯中有一条蛇,心里十分厌恶它,喝了那杯酒后

在T1时刻,事务A commit,日志缓冲区被刷新到磁盘上。

职位分析的内容 1.基本信息 包含这个职位的名称、任职者的名字,是不是从属于一个小的部门,任职人的主管的名称,以及任职人和主管人的签字。2.设立岗位的目的 这个岗位为什么存在,如果不设立这

在T2时刻,事务B commit,日志缓冲区被刷新到磁盘上,此时日志X使用完,但由于X中的事务C还没有提交,所以X此时还是活动日志。

此曲2010年1月10日发行,收录于专辑《水乡·伶人》中。《伶人歌》是华语歌手童丽专辑《水乡·伶人》里的一首单曲。童丽2005年加盟了一个颇有经验的发烧唱片公司,之后她的首张发烧专辑《对话2》一推出就

在上图中,如果事务C一直没有提交操作,那么日志X将永远是首个活动日志(oldest transaction log),后续的日志也是活动日志,其他应用最终会导致日志满。

《培养学生发现、提出、分析、解决问题能力的研究》实验方案 关键词:发现问题 提出问题 分析问题 解决问题 培养能力 一、本课题的国内外研究现状与趋势分析 (1)对我国传统数学教学的回顾与反思

活动日志

如果一个日志中包含有未提交的事务,那么这个日志就是活动日志(也有其他情况,比如虽然所有事务已经提交,但对应的更改还没有持久化到磁盘上)。

首个活动日志(First Active Log)

第一个活动日志,首个活动日志之后的日志(也就是编号比首个活动日志大的日志)都是活动日志,可以通过数据库的snapshot查看first active log, current active log, 以及 last active log.

$ db2 get snapshot for db on sample | grep -i "File number"File number of first active log = 0File number of last active log = 2File number of current active log = 0File number of log being archived = Not applicable

日志满原因

DB2总的可用活动日志的最大空间是有限制的,当达到限制之后,就会发生日志满的问题,限制为(LOGPRIMARY + LOGSECOND) * LOGFILSIZ * 4KB

日志满的原因无非两种:

1.) 一个小事务hold住了首个活动日志,一直没有提交,导致首个活动日志一直是活动状态,不被释放。这个跟堵车类似,一辆车因发动机故障(事务没有提交)堵住路口(占用首个活动日志),即使后面的车都没有问题(后续事务正常提交),也无法通过路口,且会越积越多,最终导致整个路都堵满车(日志满)。

2.) 有个事务非常大,迅速用尽了所有的日志。

日志满的表现:

首先应用会报出SQL0964C错误:

$ db2 "insert into test select * from test"DB21034E The command was processed as an SQL statement because it was not avalid Command Line Processor command. During SQL processing it returned:SQL0964C The transaction log for the database is full. SQLSTATE=57011

其次,db2diag.log中会有以下报错

2017-03-09-17.24.50.315000+480 E3234873F644 LEVEL: ErrorPID : 8532 TID : 13028 PROC : db2syscs.exeINSTANCE: DB2INST1 NODE : 000 DB : SAMPLEAPPHDL : 0-453 APPID: *LOCAL.DB2INST1.170309092321AUTHID : MIAOQINGSONG HOSTNAME: ADMINIB-PR7US3IEDUID : 13028 EDUNAME: db2agent (SAMPLE)FUNCTION: DB2 UDB, data protection services, sqlpgResSpace, probe:2860MESSAGE : ADM1823E The active log is full and is held by application handle "0-441". Terminate this application by COMMIT, ROLLBACK or FORCE APPLICATION.

日志满的临时处理:

1. 可以通过增加LOGSECOND来临时增加可用的日志大小(修改时需要加上immediate选项使之立即生效);增加LOGPRIMARY并没有用,因为需要重启数据库才能生效。

2. force掉hold住首个活动日志的的应用,在force之前,可以抓取snapshot,看一下这个应用的状态:

$ db2 get snapshot for database on sample | grep -i oldestAppl id holding the oldest transaction = 441$ db2 get snapshot for application agentid 441 Application SnapshotApplication handle = 441Application status = UOW Waiting <<--应用状态为UOW WaitingStatus change time = 2017-03-09 17:23:15.068895Application code page = 1386Application country/region code = 86DUOW correlation token = *LOCAL.DB2INST1.170309092244Application name = db2bp.exeApplication ID = *LOCAL.DB2INST1.170309092244..Connection request start timestamp = 2017-03-09 17:22:44.963163 <<--应用连库时间Connect request completion timestamp = 2017-03-09 17:22:45.961157Application idle time = 4 minutes 7 seconds..UOW log space used (Bytes) = 664Previous UOW completion timestamp = 2017-03-09 17:22:45.961157Elapsed time of last completed uow (sec.ms)= 0.000000UOW start timestamp = 2017-03-09 17:23:02.770477 <<--当前事务开始时间UOW stop timestamp = <<--当前事务结束时间为空,说明还没有commitUOW completion status =..Statement type = Dynamic SQL StatementStatement = CloseSection number = 201Application creator = NULLIDPackage name = SQLC2K26Consistency Token =Package Version ID =Cursor name = SQLCUR201Statement member number = 0Statement start timestamp = 2017-03-09 17:23:15.067789Statement stop timestamp = 2017-03-09 17:23:15.068893 Elapsed time of last completed stmt(sec.ms)= 0.000024Total Statement user CPU time = 0.000000Total Statement system CPU time = 0.000000..Dynamic SQL statement text: select * from t1

<<--一个事务中可能有多条SQL,这个只表示当前正在执行或者最后执行过的SQL,并不能表示就是这条SQL导致了日志满,这里抓取到的是一条SELECT语句,SELECT语句不占用日志。

$ db2 "force application (441)"DB20000I The FORCE APPLICATION command completed successfully.DB21024I This command is asynchronous and may not be effective immediately.

日志满的避免:

1.)根据抓取到的应用的snapshot,找应用开发人员查看为何不肯提交,这才是避免问题再次出现的根本办法。

2.)从DB2管理层面,可以设置数据库配置参数max_log和num_log_span

3.)可以写脚本,以固定的间隔抓取database snapshot中的Appl id holding the oldest transaction, 如果长时间不发生变化(比如2天),就Force掉。

补充说明:

查看每个应用使用的日志大小:

$ db2 "select application_handle,UOW_LOG_SPACE_USED,UOW_START_TIME FROM TABLE(MON_GET_UNIT_OF_WORK(NULL,-1)) order by UOW_LOG_SPACE_USED"

也可以通过db2pd -db <dbname> -transactions 查看每个正在使用的日志的情况

重点关注的参数有:

ApplHandl

The application handle of the transaction.

SpaceReserved

The amount of log space that is reserved for the transaction.

LogSpace

The total log space that is required for the transaction, including the used space and the reserved space for compensation log records.

通过对DB2活动日志满原因的分析我们就可以找到解决此问题的方法同时避免此问题的再次出现

宵夜的历史可以追溯到唐代,在唐以前,中国实行夜间戒严制度,当时又没有什么电视之类的,所以夜生活就无从谈起了,宵夜就更没有了。到了唐代,社会风气开化,市终于做到了重要节日通宵开放,所以,人们纷纷走上街头,走着走着,肚子就会饿了,于是,夜市中出现了一些卖熟食的摊档。但,这是不成规模的。到了北宋,商品经济空前发达,市已突破了时间的限制,霄市,野市孕育而生,所以通宵卖吃食的店铺也随之产生了,这时候,宵夜就成规模的经营起来了内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 解决db2事务日志已满及日志磁盘空间已满问题办法详解
  • db2 常用命令小结
  • 比较sql server与oracle、db2
  • db2数据库的备份和恢复
  • db2优化(简易版)
  • ibm db2 日常维护汇总(一)
  • db2数据库的安装
  • db2常用傻瓜问题1000问(一)
  • db2数据同步方面的经验
  • db2常用傻瓜问题1000问(四)
  • db2个人版(linux)安装
  • db2编程序技巧 (十)
  • ibm db2 日常维护汇总(二)
  • db2常用傻瓜问题1000问(二)
  • db2常用傻瓜问题1000问(五)
  • ibm db2 日常维护汇总(六)
  • db2 udb v8.1管理学习笔记(二)
  • ibm db2 日常维护汇总(三)
  • db2编程序技巧 (八)
  • db2 udb v8.1管理学习笔记(一)
  • mysql数据库结构和数据的导出和导入
  • 如何访问大型机、小型机上的db2 9数据服务器
  • db2常用傻瓜问题1000问(三)
  • ibm db2 日常维护汇总(四)
  • db2 udb v8.1管理学习笔记(三)
  • db2数据库的备份和恢复
  • 使用xquery查询db2 xml数据
  • db2编程序技巧 (一)
  • db2 数据库创建、表的ixf文件导出导入示例
  • 夜宵的历史
  • 企业财务分析存在的问题的案例
  • 开机时出现boot mgr is missing怎么办
  • 心理学如何解释虐待或被虐带来的快感?
  • 戊戌变法失败的真正原因是什么?
  • 杯弓蛇影文言文阅读答案
  • 职位分析包括哪些方面的内容?
  • 月满西楼歌词是什么意思
  • 如何培养学生发现问题,提出问题,分析问题和解决问题的能力
  • 红楼梦41.42回人物分析
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全mssqlmysqlmariadboracledb2mssql2008mssql2005sqlitepostgresqlmongodbredisaccess数据库文摘数据库其它首页db2解决db2事务日志已满及日志磁盘空间已满问题办法详解db2 常用命令小结比较sql server与oracle、db2db2数据库的备份和恢复db2优化(简易版)ibm db2 日常维护汇总(一)db2数据库的安装db2常用傻瓜问题1000问(一)db2数据同步方面的经验db2常用傻瓜问题1000问(四)db2个人版(linux)安装db2编程序技巧 (十)ibm db2 日常维护汇总(二)db2常用傻瓜问题1000问(二)db2常用傻瓜问题1000问(五)ibm db2 日常维护汇总(六)db2 udb v8.1管理学习笔记(二)ibm db2 日常维护汇总(三)db2编程序技巧 (八)db2 udb v8.1管理学习笔记(一)mysql数据库结构和数据的导出和导入如何访问大型机、小型机上的db2 9数据服务器db2常用傻瓜问题1000问(三)ibm db2 日常维护汇总(四)db2 udb v8.1管理学习笔记(三)db2数据库的备份和恢复使用xquery查询db2 xml数据db2编程序技巧 (一)db2 数据库创建、表的ixf文件导出导入示例db2 常用命令小结db2数据库的备份和恢复db2优化(简易版)ibm db2 日常维护汇总(一)db2数据库的安装db2常用傻瓜问题1000问(一)db2比较常用与实用sql语句总结db2数据同步方面的经验db2常用傻瓜问题1000问(四)db2个人版(linux)安装db2 9的九大新特性db2 udb v8.1管理学习笔记(一)使用sql server连接服务器访问db2 server用表单来提交sql(转)3ibm db2 日常维护汇总(九)db2编程序技巧 (十)db2 9产品说明书在线参考地址(http)db2个人版(linux)安装db2数据库的安装创建一个空的ibm db2 eco数据库的方法
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved