NC系统日常运行维护手册.doc_第1页
NC系统日常运行维护手册.doc_第2页
NC系统日常运行维护手册.doc_第3页
NC系统日常运行维护手册.doc_第4页
NC系统日常运行维护手册.doc_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

NC系统日常运行维护手册目 录数据库篇一日常操作2(一) Oracle数据库21数据库的启动:22用户口令的修改:23数据库参数文件SPFILE与PFILE2(二). DB2 数据库的常用操作3二. 备份与恢复4(一) Oracle的逻辑备份与恢复41逻辑备份42逻辑恢复4(二) DB2的备份与恢复41备份42恢复5三. 执行统计分析更新5(一) Oracle:5(二) DB26(三) SQL Server6四重建索引6(一) oracle6(二) db27(三) sql server:7NC应用服务器篇一. 应用服务器系统优化7二.JDK安装8三.中间件的启动91.startdirectserver :92. startdirectserver2:93. startup:10四.NC应用服务器问题101. 排除 网络、防火墙、其它软件等对NC的影响.102.通过对CPU、内存及I/O的监控来了解系统资源的分配情况.103.客户端信息154.Setting工具检测问题16附件一. 纠正oracle临时表统计信息的方案17附件二. Oracle客户端连接服务器的出错处理22附件三. NC客户端浏览器设置详细说明23第 1 页 共 25 页数据库篇一日常操作(一) Oracle数据库1数据库的启动: (1)启动数据库实例(Unix/Linux系统需切换到Oracle用户下):sqlplus “/ as sysdba”startup (启动数据库实例)shutdown immediate (关闭数据库实例)(2)启动/关闭数据库监听进程.lsnrctlLSNRCTL start (启动监听)LSNRCTL stop (关闭监听)2用户口令的修改:SQL ALTER USER “用户名” IDENTIFIED BY “新口令”如果数据库管理员的口令丢失, 可执行如下步骤:sqlplus “/ as sysdba”SQL ALTER USER “sys” IDENTIFIED BY “新口令”SQL ALTER USER “system” IDENTIFIED BY “新口令”3数据库参数文件SPFILE与PFILE (假设Oracle安装在D:Oracle目录下)(1) SPFILE文件:存储在D:Oracleora92database目录下, 为二进制的参数文件,无法直接编辑.文件名为”SPFILE+例程名.ora”(2) PFILE文件:存储在D:Oracleora92database目录下, 为文本的参数文件,可直接修改.文件名为”init+例程名.ora”, 打开此文件,内容为”IFILE=d:oracleadmin实例名pfileinit.ora”, 也就是说真正的参数文件为init.ora, 此文件为文本文件,可直接编辑.(3) 数据库启动所使用的参数文件.数据库启动时, 首先寻找”SPFILE+例程名.ora”文件,若文件存在,就按照文件设置的参数启动例程;若”SPFILE+例程名.ora”文件不存在,转向寻找”init+例程名.ora”文件,按照”init+例程名.ora”文件里指定的实际参数文件init.ora的参数启动例程.(4) SPFILE和PFILE的相互转换.a) 用PFILE文件创建SPFILE文件.Create spfile=spfile路径 from pfile=pfile路径;b) 用SPFILE文件创建PFILE文件.Create pfile= pfile路径 from spfile=spfile路径;c) 如果PFILE文件与SPFILE文件都在默认的安装路径下,用下面命令即可: create spfile from pfile (用pfile文件创建spfile文件) create pfile from spfile (用spfile文件创建pfile文件)(二). DB2 数据库的常用操作1启动数据库 db2start2停止数据库 db2stop3连接数据库 db2 connect to o_yd user db2 using pwd4读数据库管理程序配置 db2 get dbm cfg5写数据库管理程序配置 db2 update dbm cfg using 参数名 参数值6读数据库的配置 db2 connect to 数据库名 user db2 using pwd db2 get db cfg for数据库名7写数据库的配置 db2 connect to数据库名user db2 using pwd db2 update db cfg for数据库名using 参数名 参数值8关闭所有应用连接 db2 force application all9执行一个sql文件 db2 tf sql文件名 (文件中每一条命令用 ;结束)10.列出所有的系统表 list tables for system二. 备份与恢复(一) Oracle的逻辑备份与恢复1逻辑备份 使用EXP命令, exp help=y得到所有关于exp命令的参数例:将nc30用户的所有数据备份到nc30bak.dmp文件中.exp nc30/1ncdb owner=nc30 file=nc30bak.dmp log=exp.log其中:nc30/1: nc的Oracle用户名与密码ncdb: Oracle的实例名nc30bak.dmp: 为导出文件exp.log : 导出过程的log文件.2逻辑恢复使用IMP命令,用imp help=y得到所有关于exp命令的参数例:将nc30bak.dmp文件中的nc30用户的所有数据恢复到nc30new用户下.imp nc30new/1ncdb formuser=nc30 touser=nc30new file=nc30bak.dmp log=imp.log其中:nc30/1: 要导入的Oracle用户名与密码ncdb: Oracle的实例名nc30: 导出时的Oracle用户名nc30new: 要导入数据到此Oracle用户下nc30bak.dmp: 为导出文件imp.log : 导入过程的log文件.(二) DB2的备份与恢复1备份通过DB2控制中心图形界面备份,右键点击选中的数据库,选择备份数据库,根据提示操作即可;命令行操作db2 backup db dbname to backupdir 注释:该命令有丰富参数,可以使用命令db2 ? backup db查看。在命令行下输入db2 ? msg,msg可以是错误提示信息如SQL1013N,也可以是某个命令如backup db。注意事项windows服务器的备份文件放在一个较深的目录结构下,注意复制时要保留目录结构,例:C:MYDBDB2NODE0000CATN000020030401120001.001备份如果提示有活动应用程序连接,则在确认事务都已经提交后,断调连接后再备份db2 force application all 对于用于不同操作系统下数据库恢复目的的数据库备份:假如,你的数据库在AIX平台上,你想在WIN平台上来恢复数据环境,可用dbmove来做。dbmove只导出了表结构与表数据,而其他如视图等对象并没有被创建,所以还要用db2look做一个库结构的备份。操作步骤如下所示:db2look d dbname u db2inst1 e o d:credb.sql i db2inst1 w db2inst1 db2move dbname export tc db2inst1 u db2inst1 p db2inst12恢复通过控制中心图形界面恢复,右键点击指定实例下面的数据库,选择“根据备份创建数据库”,根据提示操作;命令行操作 db2 restore db dbname from backupdir对于通过dbmove来的数据我们如何做恢复呢?步骤如下:dbmove dbname import io replace_create db2inst1 u db2inst1 p db2inst1db2 connect to dbname user db2inst1 using db2inst1db2 tvf d:credb.sql credb.log执行以上步骤后打开credb.log文件查看有哪些异常,在日志文件中前半部份涉及到创建表的语句会报错,因为通过dbmove后表已创建起来,我们把他当做正常错误来看待。关键是要看后面的涉及到表的约束条件及索引、视图、触发器的建立是否正常。三. 执行统计分析更新作用:保证统计信息的最新与准确性最好每周做一下统计信息更新:(一) Oracle:使用sqlplus以要更新的用户身份登陆到数据库,执行:begindbms_stats.gather_schema_stats(ownname= (用户名) , cascade= TRUE);end;上述语句会把该用户模式下的所有表、索引的统计信息更新。如果只想更新其中某个对象的统计信息,可执行 analyze table表名compute statistics analyze table表名compute statistics for all indexes; analyze table表名compute statistics for all columns;(二) DB2以表的所有者的用户权限登陆数据库,执行:reorgchk update statistics on table all上述语句会更新该数据库内该用户所拥有的所有表、索引的统计信息如果只想更新其中某个对象的统计信息,可执行RUNSTATS ON TABLE(表名) and indexes all (三) SQL Server使用Query Analyzer登陆到SQL Server,执行:use用户数据库名称sp_updatestats上述语句会把该数据库内的所有表、索引的统计信息更新。如果只想更新其中某个对象的统计信息,可执行:UPDATE STATISTICS表名四重建索引如果系统已经运行三月以上,并且数据变化很大,可以考虑重建索引.(一) oracle执行:set pagesize 20000spool c:index.sql;select alter index |index_name| rebuild online; from user_indexes;spool off;编辑c:index.sql文件,删除除alter index.外的其他内容。运行:c:index.sql;(二) db2在用户数据库先执行:select REORG TABLE |rtrim(TBCREATOR)|.|TBNAME| INDEX |rtrim(CREATOR)|.|NAME|; from sysibm.sysindexes然后把运行结果执行(三) sql server:在用户数据库先执行:select dbcc dbreindex(+name+) from sysobjects where xtype=u然后把运行结果执行NC应用服务器篇一. 应用服务器系统优化1.日常业务中一定要避免输出所有sql语句:如果输出的话,会极大的加重应用服务器I/O的负载.可以用setting工具中的是否输出sql语句选项,不选,然后点接设置按钮就可以屏蔽掉.2.保证NC应用服务器启动参数设置正常:查看启动文件startup中的-Xms 与-Xmx的值,与发版推荐或技术工作指导手册中推荐的值没有太大出入就行.如果是NC3.0,可以在setting工具的最后一个面板中获取对应端口中间件的内存使用状况,可以跟踪实际使用中内存是否会存在瓶颈.3.对于widows操作系统:操作系统尽量干净不要安装DNS系统不要安装盗版防火墙软件在应用服务器上尽量不要安装数据库系统每周重启一次4.应用服务器中NC中间件设置自动重启功能通过设置NC应用服务器每天自动重启来提高NC应用服务器响应的效率.可以用NC中commander命令来进行设置.注意:避开NC中自动任务批处理执行时间(1):用commander.bat(commander.sh)中的clock命令可以设置自动重启定时。只要中间件监控进程没有断掉,设置的自动重启定时就不会销掉。(注意,设置后,除非监控进程断掉,否则自动重启定时无法取消)(2):还可以在./ierp/bin/perts中设置是否默认启动自动重启定时,以及自动重启定时的时间。# 设置服务器重启闹钟# 闹钟时间clock = 00:00# 是否启动闹钟enable = false如果enable设置位true,则启动中间件时监控进程会默认启动自动重启定时。时间位clock属性对应的时间。注意该时间不能为00:00,否则默认为不启动闹钟功能。5. 定时清理NC中的日志尤其是设置自动重启后,日志出现覆盖重写的几率较小,会出现很多的日志文件在./NCLogs下,需要手动清理掉。例如:UFNC3000R12_0.log,UFNC3001R12_0.log,UFNC3002R12_0.log,其中R12表示第12次自动重启后的日志。6. JDK版本的维护在windows下与unix下有些不同,在windows下可以直接用sun提供的jdk。而在unix下:如果是solaris,需要用jdk for solaris版本,aix需要用ibm的jdk for aix,hp unix下用hp自己的jdk等等。在unix下,可以这样启动中间件:./startup.sh /jdk目录7. 定时监控系统注意异常的进程对系统的影响:在windows下如异常的防火墙进程,受病毒感染的进程等等有可能会占用大量的资源。在unix下如异常的对文件操作,访问的进程等等,注意是否存在这样的进程造成大量的cpu资源占用。8.应用服务器与数据库服务器的通信连接有时候应用服务器与数据库服务器的通信有可能出现问题,尤其是在大并发访问的情况下,应用服务器与数据库间通信非常频繁的时候。此时要注意:(1):数据库的listener是否能再监听从应用服务器上发过来的新建连接请求。二.JDK安装在Windows2000上安装产品时,系统将会自动安装JDK。用户也可以选用自己安装的JDK作为NC运行的JDK环境。用户如果选择自己JDK需手动配置环境变量“NC_JAVA_HOME”,具体设置参考“ncsetup.bat”和“startup.sh”相关的批执行文件。在Unix和Linux下,从网站下载的JDK有tar格式和gz格式,分别对应是tar和gzip的压缩文件,有的下载文件已经是.rpm或.sh安装包了,可以直接安装。压缩包格式文件使用时需要先解开压缩。Java安装后的默认路径/usr.具体如下:#tar xvf 下载的tar文件#gunzip -c 下载的gz文件1.在Linux下: 网址/j2ee/index.jsp#rpm -ivh rpm文件 如: rpm -ivh j2sdk-1_4_2-linux-i586.rpm2.在Solaris下安装: 网址/j2ee/index.jsp# ./sh文件 如: ./j2sdk-1_3_1_09-solaris-sparc.sh3.在AIX下安装:/webapp/download/product.jsp?s=z&id=TDUN-49EVKS&sb=p&cat= &fam=&rs=&S_TACT=&S_CMP=&q=java&k=all&pf=&dt=&v=&x=8&y=14#smit installp根据提示进行安装.(注意:接受新的许可协议吗? 要选取 是)4.在HP-UX上安装: /products1/unix/java/#swinstall根据提示安装.三.中间件的启动NC启动时候分管理监控进程与中间件服务进程。1.startdirectserver : 只启动了一个java进程,只启动了一个中间件服务,不启动管理进程,对应80端口服务。2. startdirectserver2: 启动了两个java进程,一个是监控进程,一个是中间件服务进程. 中间件进程对应80端口的NC服务监控进程可以完成以下工作:(1)监控中间件服务进程状态,当中间件服务进程异常退出时,监控进程会重启该中间件服务进程.(2)当中间件服务进程已经无法继续服务,停止响应时,监控进程会kill掉该进程再重启.(3)可以在运行commander命令时监听并实际执行commander命令发出的指令.比如发现该中间件进程对应的80端口服务停掉了或者长时间不响应服务了,则管理进程会试着重启该中间件服务,使之恢复。当然,如果监控进程自己down掉了,就无法做上述工作了.3. startup:启动4个java进程,其中一个监控进程,3个中间件服务进程. 监控进程监控3个中间件服务进程并做如上所述工作. 3个中间件进程默认分别对应80、8081、8082端口的NC服务.3个中间件进程组成一个软件集群,其中一个中间件进程为主服务进程,另外两个为从中间件服务进程.所有登陆信息处理都是从主服务器进程进来,然后主服务器进程再将任务请求分配到其他服务进程. 一般应用服务器的内存2G(包含)以上,推荐使用 startup.bat启动,这样会提高访问速度,如查询等速度稍快一些.四.NC应用服务器问题1. 排除 网络、防火墙、其它软件等对NC的影响.用户的网络中安装有防火墙,NC客户端的请求通过网络、防火墙发送到服务器端WEB应用服务器,WEB应用服务器通过SERVLET代理将对应的请求发给数据库服务器,数据库服务器执行对应的数据库操作,并将结果返回到应用服务器,应用服务器处理完毕后,再通过防火墙、网络返回给NC客户端. 因此, 网络和防火墙在其中起到非常重要的作用.同时,很多问题也往往出现在这两个关键环节. 如网络速度慢、防火墙设置不正确等. 会影响NC的使用.如: 在防火墙上要打开80、8081、8082和8083四个端口. 因为NC以startup启动时,这四个端口是协同对外工作的。 检测网络问题,可以用Ping, Tracert,netstat等检测.应用服务器和数据库服务器要保证良好的网络通信,不推荐跨网关或跨防火墙通信,不推荐类似于一个在网通,一个在电信网的情况.同时针对应用服务器和数据库服务器,功能要单一,不建议将应用服务器和数据库服务器都放在同一台服务器. 在数据库服务器和应用服务器上, 不要安装DHCP、DNS、PROXY、WINS和、防火墙及邮件服务等与NC无关服务。如在河北网通,一次测试过程中,应用服务器和防火墙在同一台服务器,访问速度特慢,防火墙关闭后,访问速度恢复正常. 另外,软件端口占用和病毒入侵,也时常影响NC的使用. 如:IIS端口,默认是80.所以安装前,先在服务处,停止world Wide Web Publishing Service , 然后到计算机管理处,更改IIS端口或停止. 如果安装了ORACLE后,往往会出现,NC中间件启动不起来. 原因是Oracel的OracleOraHome92HTTPServer端口默认是80,所以要将该服务停掉或更改端口. 如果服务器染上病毒, 访问速度会急剧下降. 2.通过对CPU、内存及I/O的监控来了解系统资源的分配情况.应用服务器CPU、内存或I/O有可能成为系统的性能瓶颈. 如CPU处理能力不足. 内存不够引起I/0读写繁忙 或磁盘本身问题等. 都会造成系统运行缓慢. 怎样能查找这些原因呢?在Windows下,用”任务管理器” 可以了解这些信息. 如: 当系统运行缓慢,可以通过任务管理器中的进程信息,看哪个进程占用CPU及内存资源较多,然后分析一下该进程为什么会占用这么多资源. 在UNIX或LINUX下,可以使用iostat,top,vmstat,topas,ps等查看资源使用信息. 在Vmstat的输出信息中, 如果 r 是CPU数量的4倍或经常大于系统中CPU的数量,且id经常少于40,表示CPU的负荷能力不足,则需要考虑增加CPU数量或提高其性能.否则,系统将会变慢. 如果系统占用CPU时间(sy)是用户占用CPU时间(us)两倍以上,则系统面临缺少CPU资源.如果disk繁忙百分值经常处于比较高的状态, 且在 b中的队列大于3, 表示 io性能不好。如果pi,po 长期不等于0 或 sr一直大于200pages每秒,表示内存不足。如果page段的pi超过每秒5次,说明换页太频繁,可能是内存不足;如果page段的sr/fr太高,说明系统中活动子系统太多,要扫描多个页面,才能释放一个空页;页面的调入和调出不仅发生的内存和交换区之间,而且发生在内存和硬盘之间,在用-s的输出后,如果发生在交换区的调入调出和全部的调入调出接近,说明系统的交换区有问题,需要加内存或在不同的硬盘上建交换区。在Iostat输出的信息中,如果%user+%sys80%,说明CPU处理能力不足。另外如果两者之和为100%时,即%idle和%wait为0,说明很可能有无限循环的程序在执行。接着可用ps 观察哪个进程的%cpu和TIME值较高,找到大量占用CPU的进程,对其进行优化。在top的输出信息中,可以查看单个进程的详细信息.如某个进程占用CPU和内存很高,则可以对该进程进行分析iostat命令:iostat反映了终端、磁盘I/O情况和CPU活动。输出结果的第一行是(引导)以来的时间统计信息。接下去的每一行是interval时间段内的统计信息。 iostat的默认参数是tdc(terminal,disk,andCPU)。如果任何其他的选项被指定,这个默认参数将被完全替代,例如,iostat-d将只反映磁盘的统计结果。 iostat生成四种类型的报告,tty 和 CPU 使用率报告、磁盘使用率报告、系统吞吐量报告和适配器吞吐量报告。语法: 基本语法:iostatintervalcount option-让你指定所需信息的设备,像磁盘、cpu或者终端(-d,-c,-tor-tdc)。x选项给出了完整的统计结果(givestheextended statistic)。 interval-在两次统计信息之间的时间间阁(秒)。 count-就是总共需要统计几次.每一份后继报告都包含在和前一份报告的时间间隔之间收集的统计信息。Count 参数可被指定来连接 Interval 参数。如果指定了 Count 参数,它的记数值就确定在 Interval 秒间生成的报告数。如果指定了 Interval 参数但没有 Count 参数,iostat 命令就会不断生成报告。tty 和 CPU 使用率报告:tin : 显示了系统为所有 tty 读取的字符总数。tout: 显示了系统为所有 tty 写入的字符总数。%user: 显示了在用户级(应用程序)执行时占用CPU时间的百分比。%sys: 显示了在系统级(内核)执行时占用CPU时间的百分比。% idle: 显示了在 CPU 空闲并且系统没有未完成的磁盘 I/O 请求时的时间百分比。%iowait: 显示了 CPU 空闲期间系统有未完成的磁盘 I/O 请求时的时间百分比。wait:averagenumberoftransactionswaitingforservice(Qlength) actv:averagenumberoftransactionsactivelybeingserviced(removedfromthe queuebutnotyet completed) svc_t : averageservicetime%w :percentoftimetherearetransactionswaiting forservice(queuenon-empty) %b: percentoftimethediskisbusy(transactions inprogress) 磁盘I/O使用率报告: 提供了在每个物理磁盘基础上的统计信息。% tm_act: 表示物理磁盘处于活动状态的时间百分比.kbps : 表示以 KB /每秒为单位的传输(读或写)到驱动器的数据量。tps : 表示每秒钟输出到物理磁盘的传输次数。一次传输就是一个对物理磁盘的 I/O 请求。多个逻辑请求可被并为对磁盘的一个单一 IO 请求。kb_read: 读取的 KB 总数。kb_wrtn: 写入的 KB 总数。r/s:readspersecond w/s:writespersecond Kr/s:kilobytesreadpersecond Kw/s: kilobyteswrittenpersecond 通过kbps列和tps列的值我们可以知道哪些磁盘比较忙,哪些磁盘比较闲。 在Solaris下: # iostat tty dad0 fd0 sd0 nfs1 cpu tin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id 0 107 42 6 132 0 0 0 0 0 3 0 0 0 1 1 5 94# iostat -xtc 2 2 extended device statistics tty cpudevice r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt iddad0 0.4 5.3 5.6 33.3 0.7 0.1 131.8 1 4 0 98 1 1 4 94fd0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 extended device statistics tty cpudevice r/s w/s kr/s kw/s wait actv svc_t %w %b tin tout us sy wt iddad0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 0 225 0 0 0 100fd0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 在AIX下: # iostat tty: tin tout avg-cpu: % user % sys % idle % iowait 0.0 26.0 15.4 1.2 79.8 3.6 Disks: % tm_act Kbps tps Kb_read Kb_wrtnhdisk0 1.7 14.1 3.5 80880 11119296hdisk1 4.9 248.4 14.4 157705902 39691592cd0 0.0 0.0 0.0 0 0vmstat命令: vmstat: 输出关于内核线程的统计信息,包括处于运行和等待队列中的、内存中的、页面调度中的、磁盘中的、中断、系统调用、上下文切换和 CPU 活动的内核线程。语法: vmstatintervalcount 如果没有指定选项,将会显示进程、内存、页、磁盘、中断和CPU信息 interval-在两次统计信息之间的时间间阁(秒)。 count-就是总共需要统计几次.kthr:内核线程状态在采样间隔期间每秒钟更改一次。r: 置于运行队列中的内核线程数目。b: 置于等待队列(等待资源、等待输入输出)的内核线程数目。w: 可以进入运行队列但被替换的进程内存:在AIX下:关于使用虚拟内存和实内存的信息。如果虚拟页已经被访问的话,虚拟页可以被认为是活动的。一页为 4096 个字节。avm: 活动虚拟页。fre: 空闲列表的大小。一般不少于120,当fre少于120时,系统开始自动的kill进程去释放在Solarix:swap:现在可用的交换内存(k表示)(si: swapped in (Kb/s). so: swap outs (Kb/s).free: 闲的内存(k表示)页page:关于缺页故障和调页活动的信息.re : 页面调度程序从空闲页中回收的页面.pi : 从swap调度进的页面数.po: 调出到swap的页面数.fr: 空闲的页面数(页面替换).sr: 通过页面置换算法扫描到的页面数.cy: 按页置换算法的时钟周期.mf: 非严重错误的页面.de: 提前读入的页面中的未命中数.故障: 平均每秒的捕获和中断率。in : 设备中断 .cy : 系统调用.cs : 内核线程上下文切换.CPU:us: 显示了在用户级(应用程序)执行时占用CPU时间的百分比。sy: 显示了在系统级(内核)执行时占用CPU时间的百分比。id: 显示了在 CPU 空闲并且系统没有未完成的磁盘 I/O 请求时的时间百分比。wa: 显示了 CPU 空闲期间系统有未完成的磁盘 I/O 请求时的时间百分比。磁盘:disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号在Solaris下: # vmstat kthr memory page disk faults cpu r b w swap free re mf pi po fr de sr dd f0 s0 - in sy cs us sy id 0 0 0 587680 145568 1 2 7 10 10 0 0 6 0 0 0 425 188 109 1 1 98 在Linux下: # vmstat procs memory swap io system cpu r b w swpd free buff cache si so bi bo in cs us sy id 1 0 0 208036 62804 104852 262956 0 1 3 2 2 14 1 0 4在AIX下: # vmstatkthr 内存 页 故障 cpu - - - - - r b avm fre re pi po fr sr cy in sy cs us sy id wa 1 2 324253 395413 0 0 0 11 25 0 298 3794 463 15 1 80 4top命令:top命令可以输出:1.系统基本资料:时间,上线人数,负载. CPU的使用情况. 内存的使用情况. swap的使用情况.统计Process的状况及负载最重要的一些Process的详细信息.格式top d delay q c S s i nd:指定更新的间隔,以秒计算。q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。 c:显示进程完整的路径与名称。S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。 s:安全模式。i:不显示任何闲置(Idle)或无用(Zombie)的行程。 n:显示更新的次数,完成后将会退出top。top命令的输出信息中:PID(Process ID):进程标示号。USER:进程所有者的用户名。PRI:进程的优先级别。NI:进程的优先级别数值。VIRT:进程占用的虚拟内存值。RES:进程占用的物理内存值。SHARE:进程使用的共享内存值。SIZE:进程占用的工作段大小,以KB为单位RSS:进程占用的实存数量多少,以KB为单位S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。%CPU:该进程占用的CPU使用率。%MEM:该进程占用的物理内存和总内存的百分比。TIME:该进程启动后占用的总的CPU时间。Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。说明: 占用CPU和内存很多的PROCESS,是我们解决问题时需要特别注意的PROCESS在AIX下,用topas命令可以查看这些详细信息.在Linux下:#top 13:19:36 up 20 days, 21:07, 3 users, load average: 0.00, 0.00, 0.0066 processes: 64 sleeping, 2 running, 0 zombie, 0 stoppedCPU states: 0.0% user 0.0% system 0.0% nice 0.0% iowait 100.0% idleMem: 513808k av, 451276k used, 62532k free, 0k shrd, 105000k buff 318880k actv, 1672k in_d, 17980k in_cSwap: 1052248k av, 208036k used, 844212k free 263060k cached PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME CPU COMMAND 1 root 15 0 104 76 56 S 0.0 0.0 0:04 0 init 2 root 15 0 0 0 0 SW 0.0 0.0 0:01 0 keventd 3 root 15 0 0 0 0 SW 0.0 0.0 0:00 0 kapmd3.客户端信息 通过客户端的JAVA 控制台和NC性能监视器查看客户端的信息.如果客户端内存溢出,可以设置 Java Runtime参数范围(如: -Xms128m -Xmx256m) 如在客户端长时间循环执行某些方法,说明代码中UI层存在无限循环.4.Setting工具检测问题通过NC的工具setting查看connectionState,ThreadState,内存情况及SQL语句的执行情况. 在setting中,打开”输出sql语句”,则后台日志也详细记录了执行的各种操作的sql 语句.在”NC技术顾问工作指导手册V2.0”有setting工具的详细介绍.附件一. 纠正oracle临时表统计信息的方案针对NC产品版本:1. NC产品230打过临时表patch的用户2. NC产品V30用户1.问题描述nc产品运行中,当遇到多表关联查询包含临时表的时候,往往会出现执行时间较长的效率问题。2.问题原因这是因为oracle的cost优化器,在处理没有统计信息的临时表时,经常会选择不良的执行计划,导致一个查询耗时很长的显像。3.解决方法根据nc产品的sql特征,认为,手工对临时表指定统计信息,是对于这个问题较好的解决方案。为了避免复杂手工命令步骤,提供以下存储过程来统一实现多个临时表的统计信息指定。请大家务必严格按步骤执行。 4.结果描述避免了oracle在有关临时表查询是选择不良的执行计划,提高了类似查询的执行效率.5.执行步骤 (1)创建procudure:在sqlplus中以在nc的用户下执行以下创建procedure的脚本:CREATE OR REPLACE PROCEDURE INRT_STATISTICSAS V_TABLENAME VARCHAR2(50); -table的名称 V_USERNAME VARCHAR2(50); V_SQL VARCHAR2(500); V_SQL1 VARCHAR2(500); - 游标 CURSOR CUR_TABLE IS SELECT TABLE_NAME FROM USER_TABLES WHERE TABLESPACE_NAME IS NULL; BEGIN SELECT USER INTO V_USERNAME FROM DUAL; OPEN CUR_TABLE; LOOP FETCH CUR_TABLE INTO V_TABLENAME; EXIT WHEN CUR_TABLE%NOTFOUND; V_SQL:= analyze table | V_TABLENAME | delete statistics; V_SQL1:= BEGIN dbms_stats.set_table_stats(ownname=| V_USERNAME |,tabname=| V_TABLENAME |,numrows=2000,numblks=70);END; EXECUTE IMMEDIATE V_SQL; EXECUTE IMMEDIATE V_SQL1; END LOOP; V_SQL:= BEGIN dbms_stats.set_table_stats(ownname=| V_USERNAME |,tabname=IA_ENDHANDLE,numrows=1000,numblks=15);END; EXECUTE IMMEDIATE V_SQL; V_SQL:= BEGIN dbms_stats.se

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论