还剩23页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
NC系统日常运行维护手册目录数据库篇TOC\o1-3\h\z一.日常操作2一Oracle数据库21.数据库的启动:22.用户口令的修改:23.数据库参数文件SPFILE与PFILE2二.DB2数据库的常用操作3二.备份与恢复4一Oracle的逻辑备份与恢复41.逻辑备份42.逻辑恢复4二DB2的备份与恢复41.备份42.恢复5三.执行统计分析更新5一Oracle:5二DB26三SQLServer6四.重建索引6一oracle6二db27三sqlserver: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数据库篇一.日常操作一Oracle数据库1.数据库的启动:
(1)启动数据库实例(Unix/Linux系统需切换到Oracle用户下):sqlplus“/assysdba”startup启动数据库实例shutdownimmediate关闭数据库实例
(2)启动/关闭数据库监听进程.lsnrctlLSNRCTLstart启动监听LSNRCTLstop关闭监听2.用户口令的修改:SQLALTERUSER“用户名”IDENTIFIEDBY“新口令”如果数据库___的口令丢失可执行如下步骤:sqlplus“/assysdba”SQLALTERUSER“sys”IDENTIFIEDBY“新口令”SQLALTERUSER“system”IDENTIFIEDBY“新口令”3.数据库参数文件SPFILE与PFILE假设Oracle__在D:\Oracle目录下1SPFILE文件:存储在D:\Oracle\ora92\database目录下为二进制的参数文件无法直接编辑.文件名为”SPFILE+例程名.ora”2PFILE文件:存储在D:\Oracle\ora92\database目录下为文本的参数文件可直接修改.文件名为”init+例程名.ora”打开此文件内容为”IFILE=’d:\oracle\admin\实例名\pfile\init.ora’”也就是说真正的参数文件为init.ora此文件为文本文件可直接编辑.3数据库启动所使用的参数文件.数据库启动时首先寻找”SPFILE+例程名.ora”文件若文件存在就按照文件设置的参数启动例程;若”SPFILE+例程名.ora”文件不存在转向寻找”init+例程名.ora”文件按照”init+例程名.ora”文件里指定的实际参数文件init.ora的参数启动例程.4SPFILE和PFILE的相互转换.a用PFILE文件创建SPFILE文件.Createspfile=’spfile路径’frompfile=’pfile路径’;b用SPFILE文件创建PFILE文件.Createpfile=’pfile路径’fromspfile=’spfile路径’;c如果PFILE文件与SPFILE文件都在默认的__路径下用下面命令即可:createspfilefrompfile用pfile文件创建spfile文件createpfilefromspfile用spfile文件创建pfile文件二.DB2数据库的常用操作1.启动数据库db2start2.停止数据库db2stop3.连接数据库db2connecttoo_yduserdb2usingpwd4.读数据库管理程序配置db2getdbmcfg5.写数据库管理程序配置db2updatedbmcfgusing参数名参数值6.读数据库的配置db2connectto数据库名userdb2usingpwddb2getdbcfgfor数据库名7.写数据库的配置db2connectto数据库名userdb2usingpwddb2updatedbcfgfor数据库名using参数名参数值8.关闭所有应用连接db2for__applicationall9.执行一个sql文件db2–tfsql文件名(文件中每一条命令用;结束)
10.列出所有的系统表 listtablesforsystem二.备份与恢复一Oracle的逻辑备份与恢复1.逻辑备份使用EXP命令exphelp=y得到所有关于exp命令的参数例将nc30用户的所有数据备份到nc30bak.dmp文件中.expnc30/1@ncdb__ilto:nc30/1@ncdbowner=nc30file=nc30bak.dmplog=exp.log其中:nc30/1:nc的Oracle用户名与__ncdb:Oracle的实例名nc30bak.dmp:为导出文件exp.log:导出过程的log文件.2.逻辑恢复使用IMP命令用imphelp=y得到所有关于exp命令的参数例将nc30bak.dmp文件中的nc30用户的所有数据恢复到nc30new用户下.impnc30new/1@ncdb__ilto:nc30new/1@ncdbformuser=nc30touser=nc30newfile=nc30bak.dmplog=imp.log其中nc30/1要导入的Oracle用户名与__ncdb:Oracle的实例名nc30:导出时的Oracle用户名nc30new:要导入数据到此Oracle用户下nc30bak.dmp:为导出文件imp.log:导入过程的log文件.二DB2的备份与恢复1.备份通过DB2控制中心图形界面备份,右键__选中的数据库,选择备份数据库,根据提示操作即可;命令行操作db2backupdbdbnametobackupdir注释该命令有丰富参数,可以使用命令db2backupdb查看在命令行下输入db2msg,msg可以是错误提示信息如SQL1013N,也可以是某个命令如backupdb注意事项windows服务器的备份文件放在一个较深的目录结构下,注意__时要保留目录结构,例C:\MYDB\DB2\NODE0000\CATN0000\20030401\
120001.001备份如果提示有活动应用程序连接,则在确认事务都已经提交后,断调连接后再备份db2for__applicationall对于用于不同操作系统下数据库恢复目的的数据库备份假如,你的数据库在AIX平台上,你想在WIN平台上来恢复数据环境可用dbmove来做dbmove只导出了表结构与表数据,而其他如视图等对象并没有被创建,所以还要用db2look做一个库结构的备份操作步骤如下所示db2look–ddbname–udb2inst1–e–od:\credb.sql–idb2inst1–wdb2inst1db2movedbnameexport–tcdb2inst1–udb2inst1–pdb2inst12.恢复通过控制中心图形界面恢复,右键__指定实例下面的数据库,选择“根据备份创建数据库”,根据提示操作;命令行操作db2restoredbdbnamefrombackupdir对于通过dbmove来的数据我们如何做恢复呢?步骤如下dbmovedbnameimport–iorepla___createdb2inst1–udb2inst1–pdb2inst1db2connecttodbnameuserdb2inst1usingdb2inst1db2–tvfd:\credb.sqlcredb.log执行以上步骤后打开credb.log文件查看有哪些异常,在日志文件中前半部份涉及到创建表的语句会报错,因为通过dbmove后表已创建起来,我们把他当做正常错误来看待关键是要看后面的涉及到表的约束条件及索引、视图、触发器的建立是否正常三.执行统计分析更新作用:保证统计信息的最新与准确性最好每周做一下统计信息更新:一Oracle:使用sqlplus以要更新的用户身份登陆到数据库,执行begindbms_stats.gather_sche___statsownname=‘(用户名)’cascade=TRUE;end;上述语句会把该用户模式下的所有表、索引的统计信息更新如果只想更新其中某个对象的统计信息,可执行____yzetable表名 computestatistics____yzetable表名computestatisticsforallindexes;____yzetable表名computestatisticsforallcolumns;二DB2以表的所有者的用户权限登陆数据库执行reor__hkupdatestatisticsontableall上述语句会更新该数据库内该用户所拥有的所有表、索引的统计信息如果只想更新其中某个对象的统计信息,可执行RUNSTATSONTABLE(表名)andindexesall三SQLServer使用Query____yzer登陆到SQLServer,执行use用户数据库名称sp_updatestats上述语句会把该数据库内的所有表、索引的统计信息更新如果只想更新其中某个对象的统计信息,可执行:UPDATESTATISTICS表名四.重建索引如果系统已经运行三月以上并且数据变化很大可以考虑重建索引.一oracle执行setpagesize20000spoolc:\index.sql;select‘alterindex‘||index_name||’rebuildonline;’fromuser_indexes;spooloff;编辑c:\index.sql文件,删除除’alterindex......’外的其他内容运行@@c:\index.sql; 二db2在用户数据库先执行select‘REORGTABLE‘||rtrimTBCREATOR||’.’||TBNAME||’INDEX‘||rtrimCREATOR||’.’||NAME||‘;’fromsysibm.sysindexes然后把运行结果执行三sqlserver:在用户数据库先执行select‘dbccdbreindex‘+name+’’fromsyso__ectswherextype=’u’然后把运行结果执行NC应用服务器篇一.应用服务器系统优化
1.日常业务中一定要避免输出所有sql语句:如果输出的话会极大的加重应用服务器I/O的负载.可以用setting工具中的是否输出sql语句选项不选然后点接设置按钮就可以屏蔽掉.
2.保证NC应用服务器启动参数设置正常:查看启动文件startup中的-Xms与-Xmx的值与发版推荐或技术工作指导手册中推荐的值没有太大出入就行.如果是NC
3.0可以在setting工具的最后一个面板中获取对应端口中间件的内存使用状况可以跟踪实际使用中内存是否会存在瓶颈.
3.对于widows操作系统操作系统尽量干净不要__DNS系统不要__盗版防火墙软件在应用服务器上尽量不要__数据库系统每周重启一次
4.应用服务器中NC中间件设置自动重启功能通过设置NC应用服务器每天自动重启来提高NC应用服务器响应的效率.可以用NC中com__nder命令来进行设置.注意避开NC中自动任务批处理执行时间
(1)用com__nder.batcom__nder.sh中的clock命令可以设置自动重启定时只要中间件监控进程没有断掉,设置的自动重启定时就不会销掉(注意,设置后,除非监控进程断掉,否则自动重启定时无法取消)
(2)还可以在./ierp/bin/clock.properts中设置是否默认启动自动重启定时,以及自动重启定时的时间###设置服务器重启闹钟###闹钟时间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,需要用jdkforsolaris版本,aix需要用ibm的jdkforaix,hpunix下用hp自己的jdk等等在unix下,可以这样启动中间件./startup.sh/jdk目录
7.定时监控系统注意异常的进程对系统的影响在windows下如异常的防火墙进程,受病毒感染的进程等等有可能会占用大量的资源在unix下如异常的对文件操作,访问的进程等等,注意是否存在这样的进程造成大量的cpu资源占用
8.应用服务器与数据库服务器的通信连接有时候应用服务器与数据库服务器的通信有可能出现问题,尤其是在大并发访问的情况下,应用服务器与数据库间通信非常频繁的时候此时要注意1数据库的listener是否能再监听从应用服务器上发过来的新建连接请求二.JDK__在Windows2000上__产品时,系统将会自动__JDK用户也可以选用自己__的JDK作为NC运行的JDK环境用户如果选择自己JDK需手动配置环境变量“NC_J__A_HOME”,具体设置参考“ncsetup.bat”和“startup.sh”相关的批执行文件在Unix和Linux下从__下载的JDK有tar格式和gz格式,分别对应是tar和gzip的压缩文件,有的下载文件已经是.rpm或.sh__包了,可以直接__压缩包格式文件使用时需要先解开压缩J__a__后的默认路径/usr.具体如下:#tar–xvf下载的tar文件#gunzip-c下载的gz文件
1.在Linux下:网址http://j__a.sun.com/j2ee/index.jsp#rpm-ivhrpm文件如:rpm-ivhj2sdk-1_4_2-linux-i___.rpm
2.在Solaris下__:网址http://j__a.sun.com/j2ee/index.jsp#./s__件如:./j2sdk-1_3_1_09-solaris-sparc.sh
3.在AIX下__:http://___
14.software.ibm.com/webapp/download/product.jsps=zid=TDUN-49EVKS__=pcat=fam=rs=S_TACT=S_CMP=q=j__ak=allpf=dt=v=x=8y=14#__itinstallp根据提示进行__.注意:接受新的许可协议吗要选取是
4.在HP-UX上__:http://___.hp.com/products1/unix/j__a/#swinstall根据提示__.三.中间件的启动NC启动时候分管理监控进程与中间件服务进程
1.startdirectserver:只启动了一个j__a进程只启动了一个中间件服务不启动管理进程对应80端口服务
2.startdirectserver2:启动了两个j__a进程一个是监控进程一个是中间件服务进程.中间件进程对应80端口的NC服务监控进程可以完成以下工作:1监控中间件服务进程状态当中间件服务进程异常退出时监控进程会重启该中间件服务进程. 2当中间件服务进程已经无法继续服务停止响应时监控进程会kill掉该进程再重启.3可以在运行com__nder命令时监听并实际执行com__nder命令发出的指令.比如发现该中间件进程对应的80端口服务停掉了或者长时间不响应服务了,则管理进程会试着重启该中间件服务,使之恢复当然如果监控进程自己down掉了就无法做上述工作了.
3.startup:启动4个j__a进程其中一个监控进程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启动时这四个端口是协同对外工作的检测网络问题可以用PingTra__rtnetstat等检测.应用服务器和数据库服务器要保证良好的网络通信不推荐跨__或跨防火墙通信不推荐类似于一个在__一个在__网的情况.同时针对应用服务器和数据库服务器功能要单一不建议将应用服务器和数据库服务器都放在同一台服务器.在数据库服务器和应用服务器上不要__DHCP、DNS、PROXY、WINS和、防火墙及邮件服务等与NC无关服务如在河北__一次测试过程中应用服务器和防火墙在同一台服务器访问速度特慢防火墙关闭后访问速度恢复正常.另外软件端口占用和病毒入侵也时常影响NC的使用.如:IIS端口默认是
80.所以__前先在服务处,停止worldWideWebPublishingServi__然后到计算机管理处,更改IIS端口或停止.如果__了ORACLE后往往会出现NC中间件启动不起来.原因是Ora__l的OracleOraHome92HTTPServer端口默认是80所以要将该服务停掉或更改端口.如果服务器染上病毒访问速度会急剧下降.
2.通过对CPU、内存及I/O的监控来了解系统资源的分配情况.应用服务器CPU、内存或I/O有可能成为系统的性能瓶颈.如CPU处理能力不足.内存不够引起I/0读写繁忙或磁盘本身问题等.都会造成系统运行缓慢.怎样能查找这些原因呢在Windows下用”任务管理器”可以了解这些信息.如:当系统运行缓慢可以通过任务管理器中的进程信息看哪个进程占用CPU及内存资源较多然后分析一下该进程___会占用这么多资源.在UNIX或LINUX下可以使用iostattopvmstattopasps等查看资源使用信息.在Vmstat的输出信息中如果r是CPU数量的4倍或经常大于系统中CPU的数量,且id经常少于40,表示CPU的负荷能力不足则需要考虑增加CPU数量或提高其性能.否则系统将会变慢.如果系统占用CPU时间sy是用户占用CPU时间us两倍以上则系统面临缺少CPU资源.如果disk繁忙百分值经常处于比较高的状态,且在b中的队列大于3,表示io性能不好如果pi,po__不等于0或sr一直大于200 pages每秒,表示内存不足如果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的默认参数是tdcterminal disk and CPU如果任何其他的选项被指定,这个默认参数将被完全替代,例如,iostat -d将只反映磁盘的统计结果iostat生成四种类型的报告,tty和CPU使用率报告、磁盘使用率报告、系统吞吐量报告和适配器吞吐量报告语法:基本语法 iostat options interval countoption - 让你指定所需信息的设备,像磁盘、cpu或者终端-d -c -t or -tdc x 选项给出了完整的统计结果(gives the extendedstatistic)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 : __erage number of transactions waiting for servi__ Q lengthactv : __erage number of transactions actively being servi__d removed fromthequeue but not yetcompletedsvc_t:__erage servi__ time%w :per__nt of time there are transactions waitingfor servi__ queue non-empty%b :per__nt of time the disk is busy transactionsin progress磁盘I/O使用率报告:提供了在每个物理磁盘基础上的统计信息%tm_act:表示物理磁盘处于活动状态的时间百分比.kbps:表示以KB/每秒为单位的传输(读或写)到驱动器的数据量tps:表示每秒钟输出到物理磁盘的传输次数一次传输就是一个对物理磁盘的I/O请求多个逻辑请求可被并为对磁盘的一个单一I/O请求kb_read:读取的KB总数kb_wrtn:写入的KB总数r/s : reads per secondw/s : writes per secondKr/s : kilobytes read per secondKw/s :kilobytes written per second通过kbps列和tps列的值我们可以知道哪些磁盘比较忙,哪些磁盘比较闲 在Solaris下:#iostatttydad0fd0sd0nfs1cputintoutkpstpsservkpstpsservkpstpsservkpstpsservussywtid010742613200000300011594#iostat-xtc22extendeddevi__statisticsttycpudevi__r/sw/skr/skw/swaitactvsvc_t%w%btintoutussywtiddad
00.
45.
35.
633.
30.
70.
1131.81409811494fd
00.
00.
00.
00.
00.
00.
00.000extendeddevi__statisticsttycpudevi__r/sw/skr/skw/swaitactvsvc_t%w%btintoutussywtiddad
00.
00.
00.
00.
00.
00.
00.0000225000100fd
00.
00.
00.
00.
00.
00.
00.000在AIX下:#iostattty tintout__g-cpu%user%sys%idle%iowait
0.
026.
015.
41.
279.
83.6Disks%tm_actKbpstpsKb_readKb_wrtnhdisk
01.
714.
13.58088011119296hdisk
14.
9248.
414.415770590239691592cd
00.
00.
00.000vmstat命令:vmstat :输出关于内核线程的统计信息,包括处于运行和等待队列中的、内存中的、页面调度中的、磁盘中的、中断、系统调用、上下文切换和CPU活动的内核线程语法: vmstat options interval count如果没有指定选项,将会显示进程、内存、页、磁盘、中断和CPU信息interval - 在两次统计信息之间的时间间阁(秒)count - 就是总共需要统计几次.kthr内核线程状态在采样间隔期间每秒钟更改一次r:置于运行队列中的内核线程数目b:置于等待队列(等待资源、等待输入/输出)的内核线程数目w:可以进入运行队列但被替换的进程内存在AIX下:关于使用虚拟内存和实内存的信息如果虚拟页已经被访问的话,虚拟页可以被认为是活动的一页为4096个字节__m:活动虚拟页fre:空闲列表的大小一般不少于120当fre少于120时系统开始自动的kill进程去释放在Solarix:swap:现在可用的交换内存(k表示)si:swappedinKb/s.so:swapoutsKb/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下:#vmstatkthrmemorypagediskfaultscpurbwswapfreeremfpipofrdesrddf0s0--insycsussyid00058768014556812710100060004251881091198在Linux下:#vmstatprocsmemoryswapiosystemcpurbwswpdfreebuffcachesisobiboincsussyid100208036628041048522629560132214104在AIX下:#vmstatkthr内存页故障cpu---------------------------------------------------------------rb__mfrerepipofrsrcyinsycsussyidwa12324253395413000112502983794463151804top命令:top命令可以输出:
1.系统基本资料:时间上线人数负载.CPU的使用情况.内存的使用情况.swap的使用情况.统计Pro__ss的状况及负载最重要的一些Pro__ss的详细信息.格式top[-][ddelay][q][c][S][s][i][n]d指定更新的间隔,以秒计算q没有任何延迟的更新如果使用者有超级用户,则top命令将会以最高的优先序执行c显示进程完整的路径与名称S累积模式,会将己完成或消失的子行程的CPU时间累积起来s安全模式i不显示任何闲置Idle或无用Zombie的行程n显示更新的次数,完成后将会退出toptop命令的输出信息中:PID(Pro__ssID)进程标示号USER进程所有者的用户名PRI进程的优先级别NI进程的优先级别数值VIRT进程占用的虚拟内存值RES进程占用的物理内存值SHARE进程使用的共享内存值SIZE进程占用的工作段大小,以KB为单位RSS进程占用的实存数量多少,以KB为单位S进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数%CPU该进程占用的CPU使用率%MEM该进程占用的物理内存和总内存的百分比TIME该进程启动后占用的总的CPU时间Com__nd进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行说明:占用CPU和内存很多的PRO__SS是我们解决问题时需要特别注意的PRO__SS在AIX下用topas命令可以查看这些详细信息.在Linux下:#top13:19:36up20days21:073usersload__erage:
0.
000.
000.0066pro__sses:64sleeping2running0zombie0stoppedCPUstates:
0.0%user
0.0%system
0.0%ni__
0.0%iowait
100.0%idleMem:513808k__451276kused62532kfree0kshrd105000kbuff318880kactv1672kin_d17980kin_cSwap:1052248k__208036kused844212kfree263060kcachedPIDUSERPRINISIZERSSSHARESTAT%CPU%MEMTIMECPUCOM__ND1root1501047656S
0.
00.00:040init2root150000SW
0.
00.00:010keventd3root150000SW
0.
00.00:000kapmd…………………………………………………………………………
3.客户端信息通过客户端的J__A控制台和NC性能监视器查看客户端的信息.如果客户端内存溢出可以设置J__aRuntime参数范围如:-Xms128m-Xmx256m如在客户端长时间循环执行某些方法说明代码中UI层存在无限循环.
4.Setting工具检测问题通过NC的工具setting查看connectionStateThreadState内存情况及SQL语句的执行情况.在setting中打开”输出sql语句”则后台日志也详细记录了执行的各种操作的sql语句.在”NC技术顾问工作指导手册V
2.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的用户下执行以下创建pro__dure的脚本:CREATEORREPLA__PRO__DUREINRT_STATISTICSASV_TABLENAMEVARCHAR250;--table的名称V_USERNAMEVARCHAR250;V_SQLVARCHAR2500;V_SQL1VARCHAR2500;--游标CURSORCUR_TABLEISSELECTTABLE_NAMEFROMUSER_TABLESWHERETABLESPA___NAMEISNULL;BEGINSELECTUSERINTOV_USERNAMEFROMDUAL;OPENCUR_TABLE;LOOPFETCHCUR_TABLEINTOV_TABLENAME;EXITWHENCUR_TABLE%NOTFOUND;V_SQL:=____yzetable||V_TABLENAME||deletestatistics;V_SQL1:=BEGINdbms_stats.set_table_statsownname=||V_USERNAME||tabname=||V_TABLENAME||numrows=2000numblks=70;END;;EXECUTEIMMEDIATEV_SQL;EXECUTEIMMEDIATEV_SQL1;ENDLOOP;V_SQL:=BEGINdbms_stats.set_table_statsownname=||V_USERNAME||tabname=IA_ENDHANDLEnumrows=1000numblks=15;END;;EXECUTEIMMEDIATEV_SQL;V_SQL:=BEGINdbms_stats.set_table_statsownname=||V_USERNAME||tabname=FA_TEMP_DEP_Nnumrows=_____numblks=100;END;;EXECUTEIMMEDIATEV_SQL;--关闭游标CLOSECUR_TABLE;EX__PTIONWHENOTHERSTHENIFCUR_TABLE%ISOPENTHENCLOSECUR_TABLE;ENDIF;ENDINRT_STATISTICS;/如果得到以下提示,表示创建成功Pro__durecreated(或同意的中文提示)如:MicrosoftWindows2000[Version
5.
00.2195]C版权所有1985-2000MicrosoftCorp.C:\DocumentsandSettings\duanlsqlplusSQL*Plus:Release
8.
1.
7.
0.0-Productionon星期一9月2713:05:532004cCopyright2000OracleCorporation.Allrightsreserved.请输入用户名:NCUSER请输入口令:连接到:Oracle8iEnterpriseEditionRelease
8.
1.
7.
4.1-ProductionWiththePartitioningoptionJServerRelease
8.
1.
7.
4.1-ProductionSQLCREATEORREPLA__PRO__DUREINRT_STATISTICS2AS3V_TABLENAMEVARCHAR250;--table的名称4V_USERNAMEVARCHAR250;5V_SQLVARCHAR2500;6V_SQL1VARCHAR2500;78--游标910CURSORCUR_TABLEIS11SELECTTABLE_NAMEFROMUSER_TABLESWHERETABLESPA___NAMEISNULL;1213BEGIN14SELECTUSERINTOV_USERNAMEFROMDUAL;1516OPENCUR_TABLE;17LOOP18FETCHCUR_TABLEINTOV_TABLENAME;1920EXITWHENCUR_TABLE%NOTFOUND;2122V_SQL:=____yzetable||V_TABLENAME||deletestatistics;23V_SQL1:=BEGINdbms_stats.set_table_statsownname=||V_USERNAME||tabname=||V_TABLENAME||numrows=2000numblks=70;END;;2425EXECUTEIMMEDIATEV_SQL;26EXECUTEIMMEDIATEV_SQL1;2728ENDLOOP;2930V_SQL:=BEGINdbms_stats.set_table_statsownname=||V_USERNAME||tabname=IA_ENDHANDLEnumrows=1000numblks=15;END;;31EXECUTEIMMEDIATEV_SQL;3233V_SQL:=BEGINdbms_stats.set_table_statsownname=||V_USERNAME||tabname=FA_TEMP_DEP_Nnumrows=_____numblks=100;END;;34EXECUTEIMMEDIATEV_SQL;3536--关闭游标37CLOSECUR_TABLE;3839EX__PTION40WHENOTHERSTHEN41IFCUR_TABLE%ISOPENTHEN42CLOSECUR_TABLE;43ENDIF;44ENDINRT_STATISTICS;45/过程已创建
(2)执行该存储过程a.如
(1)得到成功提示后,在nc用户下执行execINRT_STATISTICS;指定临时表统计信息SQLexecINRT_STATISTICS;PL/SQL过程已成功完成b.如
(1)返回有错误提示,执行showerror并把显示结果发回NC本部设计部SQLshowerrorPRO__DUREINRT_STATISTICS出现错误:LINE/COLERROR-------------------------------------------------------------------------30/73PLS-00103:出现符号tabname=IA_ENDHANDLEnumrows=1000numblks=15;END;在需要下列之一时.*@%=-+;/ati__odnotremanexponent**or!=or~===andorlikebetweenisnullisnot||isdangling符号.被替换为tabname=IA_ENDHANDLEnumrows=1000numblks=15;END;后继续
6.另外提供定制job定时完成这个功能的脚本将存储过程定时job variablejobnonumber;variableinstnonumber;beginselectinstan___numberinto:instnofromv$instan__;dbms_job.submit:jobnoBEGININRT_STATISTICS;END;trunctruncsysdate+23/24HHtruncSYSDATE+1HHTRUE:instno;commit;end;/SQLvariablejobnonumber;SQLvariableinstnonumber;SQLbegin2selectinstan___numberinto:instnofromv$instan__;3dbms_job.submit:jobnoBEGININRT_STATISTICS;END;trunctruncsysdate+23/24HHtruncSYSDATE+1HHTRUE:instno;4commit;5end;6/PL/SQL过程已成功完成这个可代替上述步骤5-2a时间定制为每天晚上11点.要执行这个job必须先确定数据库参数:job_queue_pro__sses在sqlplus中用这个命令来查看参数:showparameterjob_queue_pro__sses如果该参数值为0在sqlplus中用以下命令先进行修改:altersystemsetjob_queue_pro__sses=10;SQLshowparameterjob_queue_pro__ssesNAMETYPEVALUE-------------------------------------------------------------------------job_queue_pro__ssesinteger4SQLaltersystemsetjob_queue_pro__sses=10;系统已更改
7.相关说明以上提供的方案对数据库系统资源消耗较小可以在业务使用的时候执行.附件二.Oracle客户端连接服务器的出错处理一.ORA-12560:TNS:协议适配器错误造成ORA-12560:TNS:协议适配器错误的问题的原因有三个
1.监听服务没有起起来windows平台个一如下操作开始---程序---管理工具---服务,打开服务面板,启动oraclehome92TNSlistener服务
2.databaseinstan__没有起起来windows平台如下操作开始---程序---管理工具---服务,打开服务面板,启动oracleservi__XXXXXXXX就是你的databaseSID.
3.注册表问题regedit,然后进入HKEY_LOCAL___CHINE\SOFTWARE\ORACLE\HOME0将该环境变量ORACLE_SID设置为XXXXXXXX是你的databaseSID.或者右击我的电脑,属性—高级—环境变量---系统变量—新建,变量名=oracle_sid变量值=XXXXXXXX是你的databaseSID.或者进入sqlplus前,在com__ndline下输setoracle_sid=XXXXXXXX是你的databaseSID.经过以上步骤,一般可以解决问题二.Ora-12638错误:错误含义:凭证检索失败的错误原因:如果用户登陆到域或者是域服务器可能出现此错误解决办法:修改$Oracle_Home\network\admin\sqlnet.ora文件将SQLNET.AUTHENTICATION_SERVI__S=NTS改为:SQLNET.AUTHENTICATION_SERVI__S=NONE附件三.NC客户端浏览器设置详细说明在NC客户端IE第一次访问NC应用服务器时默认情况下会自动下载J__APlug-in插件.但是常常因为IE设置或网络速度慢等原因出现下面的问题:
1.登录界面长时间一片灰色J__APlug-in插件下载不下来.现象:NC客户端IE第一次访问NC应用服务器时第一个页面能正常显示但是当__”NC管理软件”进入登录界面时此时应该看到自动下载J__APlug-in界面如下图但是界面却长时间一片灰色J__APlug-in插件最后也没有成功下载.分析:NC客户端插件NC_Client_
131.exe大小是9737K左右.出现上面的问题一般是网络速度慢造成的.解决办法:遇到这种情况将NC客户端插件NC_Client_
131.exe从应用服务器拷贝到本地然后在本地直接__即可.在应用服务器的.\new__ntury\webapps\nc_web\Client目录下有NC客户端插件NC_Client_
131.exe.当然如果网络速度太慢不满足NC运行要求即使本地__之后也会出现登录界面长时间一片灰色的问题.
2.IE设置不正确导致无法下载J__APlug-in插件.现象:第一个页面能正常显示但是当__”NC管理软件”进入登录界面时此时报错如下图.J__APlug-in插件也没有下载成功.或本页面需要j__ascript支持!或“当前安全设置不允许发送HTML表单”分析:第一个问题是由于IE安全设置中ActiveX控件和插件的有些选项被禁用造成的.第二个问题”本页面需要j__ascript支持!”有两种可能:i.IE__设置中脚本活动脚本被禁用造成.ii.应用服务器端.\new__ntury\webapps\nc_web\index.jsp文件有问题.第三个问题是:IE__设置中其它提交非加密表单数据被禁用造成.解决办法:第一个问题将IE安全设置中的ActiveX控件和插件全部启用即可.第二个问题先将IE__设置中脚本活动脚本启用.如果还不行则访问一台其它正常的NC应用服务器如:http://
10.
8.
1.21/index.jsp然后IE工具栏中查看源文件.将该文本另存为index.jsp覆盖到
10.
8.
1.21应用服务器的目录\new__ntury\webapps\nc_web下即可.第三个问题IE__设置中其它提交非加密表单数据设置为启用即可.总结IE设置及下载J__A插件建议采用下面的方法根据需要选择:
1.最安全的办法:将应用服务器端的NC客户端插件NC_Client_
131.exe拷贝到本地__.
2.最容易的办法:将IE安全设置中选项全部启用下载完J__APlus-in后再将IE安全设置中选项设置为原来的值.
3.有选择的启用IE安全设置.为了网络安全用户在IE安全设置中有选择的启用部分选项:i日常使用必须启用的选项为:a.ActiveX控件和插件
1.对标记为可安全执行脚本的ActiveX控件执行脚本.说明:选项不启用该项在关闭NC页面时会提示”该页上的ActiveX控件不安全.当前安全设置禁止运行该页上的不安全控件.因此可能无__确显示该页.”
2.运行ActiveX控件和插件如果不启用该项则运行时会报错:当前安全设置禁止运行该页中的ActiveX控件.因此该页可能无__常显示.b.脚本活动脚本如不启用则会出现”本页面需要j__ascript支持”c.其它提交非加密表单数据如不启用则会报错:当前安全设置不允许发送HTML表单.iiNC客户端第一次访问NC应用服务器时下载J__APlus-in插件启用的选项除了日常操作启用的选项外必须启用下面的选项:ActiveX控件和插件下载未签名的ActiveX控件下载完毕后可以不启用该项.
4.如果NC应用服务器__的有IUFO报表时有动态页面此时需要更改IE的设置.方法:Internet选项常规设置:默认情况下检查所存网页的较新版本选项为:自动.现在需要将其改为:每次访问此页时检查E.因为如果为:自动.则每次访问时访问的是缓存中的旧的页面.导致数据或页面没有及时的刷新.第1页共25页。