Skip to main contentdfsdf

    • 美好周一的早上,刚再办公室坐下,就接到电话,说主站出错了。登录上去看了,好像一般性重启后的问题,于是省点力气,reboot,重启服务。但是问题依然,不信邪,再次reboot,还是不对,不过这次我在启数据库服务器的时候注意到了有个服务没起来,出错了了,报错信息如下:

      LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 06-NOV-2006 09:38:35

      Copyright (c) 1991, 2002, oracle Corporation.  All rights reserved.

      Starting /home/oracle/product/9.2.0.4.0/bin/tnslsnr: please wait...

      TNS-12547: TNS:lost contact
      TNS-12560: TNS:protocol adapter error
        TNS-00517: Lost contact
         Linux Error: 32: Broken pipe

      上网一通的查询,好像很多人都说不明白为什么,后来终于看到一个高人的提示,说可能是日志文件过大了。

      于是
      cd $ORACLE_HOME/network/log
      ls -l  之后发现了三个文件大小超过了2G(超过了linux下单个文本文件2G的限制),分别是
      listener.log  listener_bak1.log 和 listener_bak.log

      开始解决问题:
      rm listener.log
      touch  listener.log
      rm listener_bak1.log
      touch  listener_bak1.log
      rm listener_bak.log
      touch  listener_bak.log
      lsnrctl start
    • set echo on/off                     是否显示脚本中的需要执行的命令
      set feedback on/off               是否显示 select 结果之后返回多少行的提示
      set linesize n                          设置一行最多显示多少字符,之前就是因为 n 设得过大,导致行与行之间有空白行
      set termout on/off                 在执行脚本时是否在屏幕上输出结果,如果 spool 到文件可以将其关闭
      set heading on/off                 是否显示查询结果的列名,如果设置为 off,将用空白行代替,如果要去除该空白行,可以用 set pagesize 0
      set pagesize n                        设置每页的行数,将 n 设为 0 可以不显示所有 headings, page breaks, titles, the initial blank line, and other formatting information
      set  trimspool on/off               在 spool 到文件时是否去除输出结果中行末尾的空白字符,之前的隔行可以用该参数去掉,和该参数对应的是 trimout,后者用于屏幕输出
      set trimout on/off                   是否去掉屏幕上输出结果行末尾的空白字符
    • spool导出记录的方法:
      1/.建临时表
      create table tmp_phone_20080301_log_exp as select USER_MSISDN, case when instr( user_agent,'/') >0 then --instr(user_agent,'/') substr( user_agent,0,instr(user_agent,'/')-1) else user_agent end phone, incoming_request_time from tmp_phone_20080301_remain_log t group by USER_MSISDN, user_agent , inc

      2/.sqlplus格式调整:
      set echo off
      set linesize 300
      set heading on/off 是否显示查询结果的列名,如果设置为 off,将用空白行代替,如果要去除该空白行,可以用 set pagesize 0
      3/.spool /home/oracle/MSISDN_UA_TOP5.csv
      4/. select user_msisdn||','||phone||','||to_char(incoming_request_time,'yyyy-mm-dd hh24:mi:Ss') from tmp_phone_20080301_log_exp where MOD(to_number(user_msisdn),10) = 1 ;
      5/. spool off
      - peterbull peter on 2008-03-06
1 - 2 of 2
20 items/page
List Comments (0)