隨筆-204  評論-90  文章-8  trackbacks-0
           
          Eclipse下載
          EMF,GEF - Graphical Editor Framework,UML2,VE - Visual Editor都在這里下載
          http://www.eclipse.org/downloads/index.php

          2  lomboz J2EE插件,開發JSP,EJB
          http://forge.objectweb.org/projects/lomboz

          3  MyEclipse J2EE開發插件,支持SERVLET/JSP/EJB/數據庫操縱等
          http://www.myeclipseide.com

          4  Properties Editor  編輯java的屬性文件,并可以自動存盤為Unicode格式
          http://propedit.sourceforge.jp/index_en.html

          5  Colorer Take  為上百種類型的文件按語法著色
          http://colorer.sourceforge.net/

          6  XMLBuddy 編輯xml文件
          http://www.xmlbuddy.com

          7  Code Folding  加入多種代碼折疊功能(比eclipse自帶的更多)
          http://www.coffee-bytes.com/servlet/PlatformSupport

          8  Easy Explorer  從eclipse中訪問選定文件、目錄所在的文件夾
          http://easystruts.sourceforge.net/

          9  Fat Jar 打包插件,可以方便的完成各種打包任務,可以包含外部的包等
          http://fjep.sourceforge.net/

          10  RegEx Test 測試正則表達式
          http://brosinski.com/stephan/archives/000028.php

          11  JasperAssistant 報表插件(要錢的哦~)
          http://www.jasperassistant.com/

          12  Jigloo GUI Builder JAVA的GUI編輯插件
          http://cloudgarden.com/jigloo/

          13  Profiler 性能跟蹤、測量工具,能跟蹤、測量B/S程序
          http://sourceforge.net/projects/eclipsecolorer/

          14  AdvanQas 提供對if/else等條件語句的提示和快捷幫助(自動更改結構等)
          http://eclipsecolorer.sourceforge.net/advanqas/index.html

          15  Log4E Log4j插件,提供各種和Log4j相關的任務,如為方法、類添加一個logger等
          http://log4e.jayefem.de/update

          16  VSSPlugin VSS插件
          http://sourceforge.net/projects/vssplugin

          17  Implementors 提供跳轉到一個方法的實現類,而不是接口的功能(實用!)
          http://eclipse-tools.sourceforge.net/implementors/

          18  Call Hierarchy 顯示一個方法的調用層次(被哪些方法調,調了哪些方法)
          http://eclipse-tools.sourceforge.net/call-hierarchy/index.html

          19  EclipseTidy 檢查和格式化HTML/XML文件
          http://eclipsetidy.sourceforge.net/

          20  Checkclipse 檢查代碼的風格、寫法是否符合規范
          http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm

          21  Hibernate Synchronizer Hibernate插件,自動映射等
          http://www.binamics.com/hibernatesync/

          22  VeloEclipse  Velocity插件
          http://propsorter.sourceforge.net/ 
           
          23  EditorList 方便的列出所有打開的Editor
          http://editorlist.sourceforge.net/ 
           
          24  MemoryManager 內存占用率的監視
          http://cloudgarden.com/memorymanager/ 
           
          25  swt-designer java的GUI插件
          http://www.swt-designer.com/
           
          26  TomcatPlugin 支持Tomcat插件
          http://www.sysdeo.com/eclipse/tomcatPlugin.html
           
          27  XML Viewer
          http://tabaquismo.freehosting.net/ignacio/eclipse/xmlview/index.html
           
          28  quantum 數據庫插件
          http://quantum.sourceforge.net/
           
          29  Dbedit 數據庫插件
          http://sourceforge.net/projects/dbedit
           
          30  clay.core 可視化的數據庫插件
          http://www.azzurri.jp/en/software/index.jsp
          http://www.azzurri.jp/eclipse/plugins
           
          31  hiberclipse hibernate插件
          http://hiberclipse.sourceforge.net
          http://www.binamics.com/hibernatesync
           
          32  struts-console Struts插件
          http://www.jamesholmes.com/struts/console/
           
          33  easystruts Struts插件
          http://easystruts.sourceforge.net 
           
          34  veloedit Velocity插件
          http://veloedit.sourceforge.net/
           
          35  jalopy 代碼整理插件
          http://jalopy.sourceforge.net/
           
          36  JDepend 包關系分析
          http://andrei.gmxhome.de/jdepend4eclipse/links.html
           
          37  Spring IDE Spring插件
          http://springide-eclip.sourceforge.net/updatesite/
           
          38  doclipse 可以產生xdoclet 的代碼提示
          http://beust.com/doclipse/

          39  SQLExplorer,在Eclipse 中連接各種數據庫進行操作使用
          http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=124&threadID=31124

          JSEclipse

          插件主頁:http://www.interaktonline.com/Products/Eclipse/JSEclipse/Overview/
          插件介紹:JSEclipse是個Eclipse下的免費Javascript腳本編輯器

          subversion
          版本控制,相當于CVS
          安裝:http://subclipse.tigris.org/install.html
          Name: Subclipse
          URL:  http://subclipse.tigris.org/update_1.0.x


          CSS Editor for Eclipse
          http://csseditor.sourceforge.net/

          FacesIDE
          FacesIDE是一個用于開發JSF的Eclispe插件.它可以可視化編輯faces-config.xml文件并且提供代碼編輯與校驗,預覽JSF的JSP文件.FacesIDE包含MyFaces來作為JSF的實現
          http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=FacesIDE

          Eclipse SQLExplorer plugin
          一個數據庫管理插件
          http://sourceforge.net/projects/eclipsesql

          Poperties Editor
          一個在編輯完成后可以將資源文件中的中文編碼格式轉換為unicode編碼的插件,在開發國際化應用程序的時候非常有用
          http://propedit.sourceforge.jp/eclipse/updates/

          eclipseME
           
          http://eclipseme.org/updates/

          Eclipse加速插件KeepResident
          http://suif.stanford.edu/pub/keepresident/

           
          MyEclipse  J2EE開發插件,支持SERVLET/JSP/EJB/數據庫操縱等
          www.myeclipseide.com
           
          Properties Editor  編輯java的屬性文件,并可以自動存盤為Unicode格式
          http://propedit.sourceforge.jp/index_en.html
          http://propedit.sourceforge.jp/eclipse/updates/
           
          Colorer Take  為上百種類型的文件按語法著色
          http://colorer.sourceforge.net/
           
          XMLBuddy 編輯xml文件
          www.xmlbuddy.com
           
          Code Folding  加入多種代碼折疊功能(比eclipse自帶的更多)
          http://www.coffee-bytes.com/servlet/PlatformSupport
           
          Easy Explorer  從eclipse中訪問選定文件、目錄所在的文件夾
          http://easystruts.sourceforge.net/
           
          Fat Jar 打包插件,可以方便的完成各種打包任務,可以包含外部的包等
          http://fjep.sourceforge.net/
           
          RegEx Test 測試正則表達式
          http://brosinski.com/stephan/archives/000028.php
           
          JasperAssistant 報表插件(強,要錢的)
          http://www.jasperassistant.com/
           
          Jigloo GUI Builder JAVA的GUI編輯插件
          http://cloudgarden.com/jigloo/
           
          Profiler 性能跟蹤、測量工具,能跟蹤、測量BS程序
          http://sourceforge.net/projects/eclipsecolorer/
           
          AdvanQas 提供對if/else等條件語句的提示和快捷幫助(自動更改結構等)
          http://eclipsecolorer.sourceforge.net/advanqas/index.html
           
          Log4E     Log4j插件,提供各種和Log4j相關的任務,如為方法、類添加一個logger等
          http://log4e.jayefem.de/index.php/Main_Page
           
          VSSPlugin VSS插件
          http://sourceforge.net/projects/vssplugin
           
          Implementors   提供跳轉到一個方法的實現類,而不是接中的功能(實用!)
          http://eclipse-tools.sourceforge.net/implementors/
           
          Call Hierarchy 顯示一個方法的調用層次(被哪些方法調,調了哪些方法)
          http://eclipse-tools.sourceforge.net/call-hierarchy/index.html
           
          EclipseTidy 檢查和格式化HTML/XML文件
          http://eclipsetidy.sourceforge.net/
           
          Checkclipse 檢查代碼的風格、寫法是否符合規范
          http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm
           
          Hibernate Synchronizer Hibernate插件,自動映射等
          http://www.binamics.com/hibernatesync/
           
          spring updatesite 插件
          http://springide.org/updatesite/

          VeloEclipse  Velocity插件
          http://propsorter.sourceforge.net/
           
          EditorList   方便的列出所有打開的Editor
          http://editorlist.sourceforge.net/
           
          MemoryManager 內存占用率的監視
          http://cloudgarden.com/memorymanager/

          Eclipse的游戲插件
          http://eclipse-games.sourceforge.net/

          JBoss-IDE
          http://jboss.sourceforge.net/jbosside/updates/

          自動反編譯class,安裝后要設定class文件缺省關聯到jode
          http://www.technoetic.com/eclipse/update


          jigloo swing/sw設計工具,里面自帶的form/anchor布局很好用!
          http://cloudgarden.soft-gems.net/update-site/

          jinto的資源文件編輯工具,同時編輯多種語言,而且自動轉換成iso8859-1編碼。很好用!
          http://www.guh-software.de/eclipse/

          posted @ 2007-08-17 19:16 一凡 閱讀(316) | 評論 (0)編輯 收藏
          1、統計每秒短信發送條數
          seq 0 59 | awk '{if($1 >= 0 && $1 <= 9) {print "0" $1 } else {print $1}}' | awk '{print "grep '\''2007-07-26 10:30:" $1 "'\'' smgsubmit.2007-07-26.log | wc -l"}' | sh

          2、統計每個白名單XML文件中的號碼數
          grep 'ECID>400031' * | awk '{print "grep '/ChildECInfo' ",  substr($1,0, 28), "| wc -l "}' | sh

          3、注意問題
          awk中如何輸出單引號 如何在awk中打印輸出單引號呢 shell如何處理單引號呢 ?
          也就是shell中對單引號的處理問題

          解決辦法
          awk '{   print "   ' \' ' "}'
          把轉義的單引號 ‘ ,用兩個單引號括起來,使其不執行

          原因是 :括在雙引號中的三種特殊字符不被忽略:$,\,` ,即雙引號會解釋字符串的特別意思,而單引號直接使用字符串輸出.

          那么shell如何處理特殊字符的呢
          1. 單引號 ( ' ' )
          如果我們想查找的是Susan Goldberg,不能直接使用grep Susan Goldberg phonebook命令,grep會把Goldberg和phonebook當作需要搜索的文件
          howard@0[script]$ grep 'Susan Gold' phonebook
          Susan Goldberg 403-212-4921
          當shell碰到第一個單引號時,它忽略掉其后直到右引號的所有特殊字符
          2. 雙引號 ( " " )
          雙引號作用與單引號類似,區別在于它沒有那么嚴格。單引號告訴shell忽略所有特殊字符,而雙引號只要求忽略大多數,具體說,括在雙引號中的三種特殊字符不被忽略:$,\,` ,即雙引號會解釋字符串的特別意思,而單引號直接使用字符串.如果使用雙引號將字符串賦給變量并反饋它,實際上與直接反饋變量并無差別。如果要查詢包含空格的字符串,經常會用到雙引號。
          howard@0[script]$ x=*
          howard@0[script]$ echo $x
          hello.sh menus.sh misc.sh phonebook tshift.sh
          howard@0[script]$ echo '$x'
          $x
          howard@0[script]$ echo "$x"
          *
          這個例子可以看出無引號、單引號和雙引號之間的區別。在最后一種情況中,雙引號告訴shell在引號內照樣進行變量名替換,所以shell把$x替換為*,因為雙引號中不做文件名替換,所以就把*作為要顯示的值傳遞給echo。
          對于第一種情況需要進一步說明,shell在給變量賦值時不進行文件名替換(這從第三種情況中也能看出來),各步驟發生的精確次序如下:
          shell掃描命令行,把x的值設為星號*;
          shell再次掃描命令行,碰到星號*,把它替換成當前目錄下的文件清單;
          shell啟動執行echo命令,把文件清單作為參數傳遞給echo.
          這個賦值的先后次序非常重要:shell先作變量替換,然后作文件名替換,最后把這行處理為參數
          3. 反引號(``)
          命令替換是指shell能夠將一個命令的標準輸出插在一個命令行中任何位置。shell中有兩種方法作命令替換:把shell命令用反引號或者$(...)結構括起來,其中,$(...)格式受到POSIX標準支持,也利于嵌套。
          howard@0[script]$ echo The date and time is `date`
          The date and time is 三 6月 15 06:10:35 CST 2005
          howard@0[script]$ echo Your current working directory is $(pwd)
          Your current working directory is /home/howard/script
          4. 反斜杠 backslash-escaped( \ )
          反斜杠一般用作轉義字符,或稱逃脫字符,linux如果echo要讓轉義字符發生作用,就要使用-e選項,且轉義字符要使用雙引號
          echo -e "\n"

          反斜杠的另一種作用,就是當反斜杠用于一行的最后一個字符時,shell把行尾的反斜杠作為續行,這種結構在分幾行輸入長命令時經常使用。


          posted @ 2007-07-26 15:38 一凡 閱讀(755) | 評論 (0)編輯 收藏
          scp -o port=5940 -r  ./CSAPro/ aaaa@127.0.0.1:/home/mobzc/CSAPr

          src dir:./CSAPro/
          dest dir:aaaa@127.0.0.1:/home/mobzc/CSAPr
          posted @ 2007-07-04 13:11 一凡 閱讀(328) | 評論 (0)編輯 收藏
          sqlldr使用小結(zt)

          sql load的一點小總結

          sqlldr userid=lgone/tiger control=a.ctl
          LOAD DATA
          INFILE 't.dat' // 要導入的文件
          // INFILE 'tt.date' // 導入多個文件
          // INFILE * // 要導入的內容就在control文件里 下面的BEGINDATA后面就是導入的內容

          INTO TABLE table_name // 指定裝入的表
          BADFILE 'c:\bad.txt' // 指定壞文件地址

          ************* 以下是4種裝入表的方式
          APPEND // 原先的表有數據 就加在后面
          // INSERT // 裝載空表 如果原先的表有數據 sqlloader會停止 默認值
          // REPLACE // 原先的表有數據 原先的數據會全部刪除
          // TRUNCATE // 指定的內容和replace的相同 會用truncate語句刪除現存數據

          ************* 指定的TERMINATED可以在表的開頭 也可在表的內部字段部分
          FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '&quot;'
          // 裝載這種數據: 10,lg,&quot;&quot;&quot;lg&quot;&quot;&quot;,&quot;lg,lg&quot;
          // 在表中結果: 10 lg &quot;lg&quot; lg,lg
          // TERMINATED BY X '09' // 以十六進制格式 '09' 表示的
          // TERMINATED BY WRITESPACE // 裝載這種數據: 10 lg lg

          TRAILING NULLCOLS ************* 表的字段沒有對應的值時允許為空

          ************* 下面是表的字段
          (
          col_1 , col_2 ,col_filler FILLER // FILLER 關鍵字 此列的數值不會被裝載
          // 如: lg,lg,not 結果 lg lg
          )
          // 當沒聲明FIELDS TERMINATED BY ',' 時
          // (
          // col_1 [interger external] TERMINATED BY ',' ,
          // col_2 [date &quot;dd-mon-yyy&quot;] TERMINATED BY ',' ,
          // col_3 [char] TERMINATED BY ',' OPTIONALLY ENCLOSED BY 'lg'
          // )
          // 當沒聲明FIELDS TERMINATED BY ','用位置告訴字段裝載數據
          // (
          // col_1 position(1:2),
          // col_2 position(3:10),
          // col_3 position(*:16), // 這個字段的開始位置在前一字段的結束位置
          // col_4 position(1:16),
          // col_5 position(3:10) char(8) // 指定字段的類型
          // )

          BEGINDATA // 對應開始的 INFILE * 要導入的內容就在control文件里
          10,Sql,what
          20,lg,show

          =====================================================================================
          //////////// 注意begindata后的數值前面不能有空格

          1 ***** 普通裝載
          LOAD DATA
          INFILE *
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '&quot;'
          (DEPTNO,
          DNAME,
          LOC
          )
          BEGINDATA
          10,Sales,&quot;&quot;&quot;USA&quot;&quot;&quot;
          20,Accounting,&quot;Virginia,USA&quot;
          30,Consulting,Virginia
          40,Finance,Virginia
          50,&quot;Finance&quot;,&quot;&quot;,Virginia // loc 列將為空
          60,&quot;Finance&quot;,,Virginia // loc 列將為空

          2 ***** FIELDS TERMINATED BY WHITESPACE 和 FIELDS TERMINATED BY x'09' 的情況
          LOAD DATA
          INFILE *
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY WHITESPACE
          -- FIELDS TERMINATED BY x'09'
          (DEPTNO,
          DNAME,
          LOC
          )
          BEGINDATA
          10 Sales Virginia

          3 ***** 指定不裝載那一列
          LOAD DATA
          INFILE *
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '&quot;'
          ( DEPTNO,
          FILLER_1 FILLER, // 下面的 &quot;Something Not To Be Loaded&quot; 將不會被裝載
          DNAME,
          LOC
          )
          BEGINDATA
          20,Something Not To Be Loaded,Accounting,&quot;Virginia,USA&quot;

          4 ***** position的列子
          LOAD DATA
          INFILE *
          INTO TABLE DEPT
          REPLACE
          ( DEPTNO position(1:2),
          DNAME position(*:16), // 這個字段的開始位置在前一字段的結束位置
          LOC position(*:29),
          ENTIRE_LINE position(1:29)
          )
          BEGINDATA
          10Accounting Virginia,USA

          5 ***** 使用函數 日期的一種表達 TRAILING NULLCOLS的使用
          LOAD DATA
          INFILE *
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY ','
          TRAILING NULLCOLS // 其實下面的ENTIRE_LINE在BEGINDATA后面的數據中是沒有直接對應
          // 的列的值的 如果第一行改為 10,Sales,Virginia,1/5/2000,, 就不用TRAILING NULLCOLS了
          (DEPTNO,
          DNAME &quot;upper(:dname)&quot;, // 使用函數
          LOC &quot;upper(:loc)&quot;,
          LAST_UPDATED date 'dd/mm/yyyy', // 日期的一種表達方式 還有'dd-mon-yyyy' 等
          ENTIRE_LINE &quot;:deptno||:dname||:loc||:last_updated&quot;
          )
          BEGINDATA
          10,Sales,Virginia,1/5/2000
          20,Accounting,Virginia,21/6/1999
          30,Consulting,Virginia,5/1/2000
          40,Finance,Virginia,15/3/2001

          6 ***** 使用自定義的函數 // 解決的時間問題
          create or replace
          function my_to_date( p_string in varchar2 ) return date
          as
          type fmtArray is table of varchar2(25);

          l_fmts fmtArray := fmtArray( 'dd-mon-yyyy', 'dd-month-yyyy',
          'dd/mm/yyyy',
          'dd/mm/yyyy hh24:mi:ss' );
          l_return date;
          begin
          for i in 1 .. l_fmts.count
          loop
          begin
          l_return := to_date( p_string, l_fmts(i) );
          exception
          when others then null;
          end;
          EXIT when l_return is not null;
          end loop;

          if ( l_return is null )
          then
          l_return :=
          new_time( to_date('01011970','ddmmyyyy') + 1/24/60/60 *
          p_string, 'GMT', 'EST' );
          end if;

          return l_return;
          end;
          /

          LOAD DATA
          INFILE *
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY ','
          TRAILING NULLCOLS
          (DEPTNO,
          DNAME &quot;upper(:dname)&quot;,
          LOC &quot;upper(:loc)&quot;,
          LAST_UPDATED &quot;my_to_date( :last_updated )&quot; // 使用自定義的函數
          )
          BEGINDATA
          10,Sales,Virginia,01-april-2001
          20,Accounting,Virginia,13/04/2001
          30,Consulting,Virginia,14/04/2001 12:02:02
          40,Finance,Virginia,987268297
          50,Finance,Virginia,02-apr-2001
          60,Finance,Virginia,Not a date

          7 ***** 合并多行記錄為一行記錄
          LOAD DATA
          INFILE *
          concatenate 3 // 通過關鍵字concatenate 把幾行的記錄看成一行記錄
          INTO TABLE DEPT
          replace
          FIELDS TERMINATED BY ','
          (DEPTNO,
          DNAME &quot;upper(:dname)&quot;,
          LOC &quot;upper(:loc)&quot;,
          LAST_UPDATED date 'dd/mm/yyyy'
          )
          BEGINDATA
          10,Sales, // 其實這3行看成一行 10,Sales,Virginia,1/5/2000
          Virginia,
          1/5/2000
          // 這列子用 continueif list=&quot;,&quot; 也可以
          告訴sqlldr在每行的末尾找逗號 找到逗號就把下一行附加到上一行

          LOAD DATA
          INFILE *
          continueif this(1:1) = '-' // 找每行的開始是否有連接字符 - 有就把下一行連接為一行
          // 如 -10,Sales,Virginia,
          // 1/5/2000 就是一行 10,Sales,Virginia,1/5/2000
          // 其中1:1 表示從第一行開始 并在第一行結束 還有continueif next 但continueif list最理想
          INTO TABLE DEPT
          replace
          FIELDS TERMINATED BY ','
          (DEPTNO,
          DNAME &quot;upper(:dname)&quot;,
          LOC &quot;upper(:loc)&quot;,
          LAST_UPDATED date 'dd/mm/yyyy'
          )
          BEGINDATA // 但是好象不能象右面的那樣使用
          -10,Sales,Virginia, -10,Sales,Virginia,
          1/5/2000 1/5/2000
          -40, 40,Finance,Virginia,13/04/2001
          Finance,Virginia,13/04/2001

          8 ***** 載入每行的行號

          load data
          infile *
          into table t
          replace
          ( seqno RECNUM //載入每行的行號
          text Position(1:1024))
          BEGINDATA
          fsdfasj //自動分配一行號給載入 表t 的seqno字段 此行為 1
          fasdjfasdfl // 此行為 2 ...

          9 ***** 載入有換行符的數據
          注意: unix 和 windows 不同 \\n &amp; /n
          &amp;lt; 1 &gt; 使用一個非換行符的字符
          LOAD DATA
          INFILE *
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY ','
          TRAILING NULLCOLS
          (DEPTNO,
          DNAME &quot;upper(:dname)&quot;,
          LOC &quot;upper(:loc)&quot;,
          LAST_UPDATED &quot;my_to_date( :last_updated )&quot;,
          COMMENTS &quot;replace(:comments,'\n',chr(10))&quot; // replace 的使用幫助轉換換行符
          )
          BEGINDATA
          10,Sales,Virginia,01-april-2001,This is the Sales\nOffice in Virginia
          20,Accounting,Virginia,13/04/2001,This is the Accounting\nOffice in Virginia
          30,Consulting,Virginia,14/04/2001 12:02:02,This is the Consulting\nOffice in Virginia
          40,Finance,Virginia,987268297,This is the Finance\nOffice in Virginia

          &amp;lt; 2 &gt; 使用fix屬性
          LOAD DATA
          INFILE demo17.dat &quot;fix 101&quot;
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY ','
          TRAILING NULLCOLS
          (DEPTNO,
          DNAME &quot;upper(:dname)&quot;,
          LOC &quot;upper(:loc)&quot;,
          LAST_UPDATED &quot;my_to_date( :last_updated )&quot;,
          COMMENTS
          )
          demo17.dat
          10,Sales,Virginia,01-april-2001,This is the Sales
          Office in Virginia
          20,Accounting,Virginia,13/04/2001,This is the Accounting
          Office in Virginia
          30,Consulting,Virginia,14/04/2001 12:02:02,This is the Consulting
          Office in Virginia
          40,Finance,Virginia,987268297,This is the Finance
          Office in Virginia

          // 這樣裝載會把換行符裝入數據庫 下面的方法就不會 但要求數據的格式不同

          LOAD DATA
          INFILE demo18.dat &quot;fix 101&quot;
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '&quot;'
          TRAILING NULLCOLS
          (DEPTNO,
          DNAME &quot;upper(:dname)&quot;,
          LOC &quot;upper(:loc)&quot;,
          LAST_UPDATED &quot;my_to_date( :last_updated )&quot;,
          COMMENTS
          )
          demo18.dat
          10,Sales,Virginia,01-april-2001,&quot;This is the Sales
          Office in Virginia&quot;
          20,Accounting,Virginia,13/04/2001,&quot;This is the Accounting
          Office in Virginia&quot;
          30,Consulting,Virginia,14/04/2001 12:02:02,&quot;This is the Consulting
          Office in Virginia&quot;
          40,Finance,Virginia,987268297,&quot;This is the Finance
          Office in Virginia&quot;

          &amp;lt; 3 &gt; 使用var屬性
          LOAD DATA
          INFILE demo19.dat &quot;var 3&quot;
          // 3 告訴每個記錄的前3個字節表示記錄的長度 如第一個記錄的 071 表示此記錄有 71 個字節
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY ','
          TRAILING NULLCOLS
          (DEPTNO,
          DNAME &quot;upper(:dname)&quot;,
          LOC &quot;upper(:loc)&quot;,
          LAST_UPDATED &quot;my_to_date( :last_updated )&quot;,
          COMMENTS
          )
          demo19.dat
          07110,Sales,Virginia,01-april-2001,This is the Sales
          Office in Virginia
          07820,Accounting,Virginia,13/04/2001,This is the Accounting
          Office in Virginia
          08730,Consulting,Virginia,14/04/2001 12:02:02,This is the Consulting
          Office in Virginia
          07140,Finance,Virginia,987268297,This is the Finance
          Office in Virginia

          &amp;lt; 4 &gt; 使用str屬性
          // 最靈活的一中 可定義一個新的行結尾符 win 回車換行 : chr(13)||chr(10)

          此列中記錄是以 a|\r\n 結束的
          select utl_raw.cast_to_raw('|'||chr(13)||chr(10)) from dual;
          結果 7C0D0A

          LOAD DATA
          INFILE demo20.dat &quot;str X'7C0D0A'&quot;
          INTO TABLE DEPT
          REPLACE
          FIELDS TERMINATED BY ','
          TRAILING NULLCOLS
          (DEPTNO,
          DNAME &quot;upper(:dname)&quot;,
          LOC &quot;upper(:loc)&quot;,
          LAST_UPDATED &quot;my_to_date( :last_updated )&quot;,
          COMMENTS
          )
          demo20.dat
          10,Sales,Virginia,01-april-2001,This is the Sales
          Office in Virginia|
          20,Accounting,Virginia,13/04/2001,This is the Accounting
          Office in Virginia|
          30,Consulting,Virginia,14/04/2001 12:02:02,This is the Consulting
          Office in Virginia|
          40,Finance,Virginia,987268297,This is the Finance
          Office in Virginia|

          ==============================================================================
          象這樣的數據 用 nullif 子句

          10-jan-200002350Flipper seemed unusually hungry today.
          10510-jan-200009945Spread over three meals.

          id position(1:3) nullif id=blanks // 這里可以是blanks 或者別的表達式
          // 下面是另一個列子 第一行的 1 在數據庫中將成為 null
          LOAD DATA
          INFILE *
          INTO TABLE T
          REPLACE
          (n position(1:2) integer external nullif n='1',
          v position(3:8)
          )
          BEGINDATA
          1 10
          20lg
          ------------------------------------------------------------

          如果是英文的日志 格式,可能需要修改環境變量 nls_lang or nls_date_format
          posted @ 2007-07-03 17:48 一凡 閱讀(360) | 評論 (0)編輯 收藏
          本人已經解決問題  
            解放方案如下:  
            打開jbuilder.config,找到  
            vmmemmax   75%  
            改成  
            vmmemmax   50%
          posted @ 2007-06-01 16:27 一凡 閱讀(1692) | 評論 (3)編輯 收藏

                      我在jar里讀取.properties文件時,總是找不到文件路徑,后來用ResourceBundle讀取.properties文件即可避免路徑問題,代碼如下:
              

           //process為文件名,切記不要加 .properties, URL是文件里的鍵名
                ResourceBundle bundle = ResourceBundle.getBundle("com.ihandy.smsoc.app.process");
               String s 
          = bundle.getString("URL");
            System.out.println(s);
            pURL 
          = s;
          posted @ 2007-06-01 11:34 一凡 閱讀(5144) | 評論 (2)編輯 收藏
          徹底解決這個問題的辦法如下
          首先,先設置 “skip_unusable_indexes=false”,也就是不跳過失效索引
          SQL> alter session set skip_unusable_indexes=false;

          Session altered.

          SQL>

          然后重建這個失效的索引
          SQL> alter index idxt rebuild;

          Index altered.

          SQL> select index_name,index_type,tablespace_name,table_type,status from user_indexes where index_name='IDXT';

          INDEX_NAME INDEX_TYPE TABLESPACE_NAME TABLE_TYPE STATUS
          ------------------------------ --------------------------- ------------------------------ ----------- --------
          IDXT NORMAL DATA_DYNAMIC TABLE VALID

          SQL>
          我們看到重建索引后,索引的狀態就正常了。

          現在插入數據,看看是正常:
          SQL> insert into t values(12);

          1 row created.

          SQL> commit;

          Commit complete.

          posted @ 2007-05-23 15:23 一凡 閱讀(380) | 評論 (0)編輯 收藏
            雖然hibernate自帶了連接池,也支持一些其他的連接池,但是查看各方面的資料,覺得還是proxool連接池占主流,現在對配置的方法做些記錄,以備后用:

          1. hibernate.cfg.xml

            <session-factory >
               <property name="hibernate.connection.provider_class">
                    org.hibernate.connection.ProxoolConnectionProvider
               </property>

               <property name="hibernate.proxool.pool_alias">MYPool</property>
               <property name="hibernate.proxool.xml">proxool.xml</property>
               <property name="show_sql">true</property>
               <property name="dialect">org.hibernate.dialect.SQLServerDialect</property>

               <mapping resource="userinfo.hbm.xml"/>
          </session-factory>

          2 . proxool.xml

           <proxool>

          <alias>MYPool</alias>   <!--連接池的別名-->

          <driver-url>
              jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=testhibernate;SelectMethod=cursor
          </driver-url>

          <!--JDBC驅動程序-->
          <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
          <driver-properties>
             <property name="user" value="sa"/>
             <property name="password" value="123"/>
          </driver-properties>

          <!-- proxool自動偵察各個連接狀態的時間間隔(毫秒),偵察到空閑的連接就馬上回收,超時的銷毀-->
          <house-keeping-sleep-time>90000</house-keeping-sleep-time>

          <!-- 指因未有空閑連接可以分配而在隊列中等候的最大請求數,超過這個請求數的用戶連接就不會被接受-->
          <maximum-new-connections>20</maximum-new-connections>

          <!-- 最少保持的空閑連接數-->
          <prototype-count>5</prototype-count>

          <!-- 允許最大連接數,超過了這個連接,再有請求時,就排在隊列中等候,最大的等待請求數由maximum-new-connections決定-->
          <maximum-connection-count>100</maximum-connection-count>

          <!-- 最小連接數-->
          <minimum-connection-count>10</minimum-connection-count>

          </proxool>

          posted @ 2007-05-18 16:15 一凡 閱讀(693) | 評論 (1)編輯 收藏

          1.1 分區表PARTITION table

          ORACLE里如果遇到特別大的表,可以使用分區的表來改變其應用程序的性能。

          1.1.1 分區表的建立:

          某公司的每年產生巨大的銷售記錄,DBA向公司建議每季度的數據放在一個分區內,以下示范的是該公司1999年的數據(假設每月產生30M的數據),操作如下:

          范圍分區表:

          CREATE TABLE sales

          (invoice_no NUMBER,

          ...

          sale_date DATE NOT NULL )

          PARTITION BY RANGE (sale_date)

          (PARTITION sales1999_q1

          VALUES LESS THAN (TO_DATE(1999-04-01,YYYY-MM-DD)

          TABLESPACE ts_sale1999q1,

          PARTITION sales1999_q2

          VALUES LESS THAN (TO_DATE(1999-07-01,YYYY-MM-DD)

          TABLESPACE ts_sale1999q2,

          PARTITION sales1999_q3

          VALUES LESS THAN (TO_DATE(1999-10-01,YYYY-MM-DD)

          TABLESPACE ts_sale1999q3,

          PARTITION sales1999_q4

          VALUES LESS THAN (TO_DATE(2000-01-01,YYYY-MM-DD)

          TABLESPACE ts_sale1999q4 );

          --values less than (maxvalue)

          列表分區表:

          create table emp (

          empno number(4),

          ename varchar2(30),

          location varchar2(30))

          partition by list (location)

          (partition p1 values ('北京'),

          partition p2 values ('上海','天津','重慶'),

          partition p3 values ('廣東','福建')

          partition p0 values (default)

          );

          哈希分區:

          create table emp (

          empno number(4),

          ename varchar2(30),

          sal number)

          partition by hash (empno)

          partitions 8

          store in (emp1,emp2,emp3,emp4,emp5,emp6,emp7,emp8);

          組合分區:

          范圍哈希組合分區:

          create table emp (

          empno number(4),

          ename varchar2(30),

          hiredate date)

          partition by range (hiredate)

          subpartition by hash (empno)

          subpartitions 2

          (partition e1 values less than (to_date('20020501','YYYYMMDD')),

          partition e2 values less than (to_date('20021001','YYYYMMDD')),

          partition e3 values less than (maxvalue));

          范圍列表組合分區:

          CREATE TABLE customers_part (

          customer_id NUMBER(6),

          cust_first_name VARCHAR2(20),

          cust_last_name VARCHAR2(20),

          nls_territory VARCHAR2(30),

          credit_limit NUMBER(9,2))

          PARTITION BY RANGE (credit_limit)

          SUBPARTITION BY LIST (nls_territory)

          SUBPARTITION TEMPLATE

          (SUBPARTITION east VALUES ('CHINA', 'JAPAN', 'INDIA', 'THAILAND'),

          SUBPARTITION west VALUES ('AMERICA', 'GERMANY', 'ITALY', 'SWITZERLAND'),

          SUBPARTITION other VALUES (DEFAULT))

          (PARTITION p1 VALUES LESS THAN (1000),

          PARTITION p2 VALUES LESS THAN (2500),

          PARTITION p3 VALUES LESS THAN (MAXVALUE));

          create table t1 (id1 number,id2 number)

          partition by range (id1) subpartition by list (id2)

          (partition p11 values less than (11)

          (subpartition subp1 values (1))

          );

          索引分區:

          CREATE INDEX month_ix ON sales(sales_month)
          GLOBAL PARTITION BY RANGE(sales_month)
          (PARTITION pm1_ix VALUES LESS THAN (2)
          PARTITION pm12_ix VALUES LESS THAN (MAXVALUE));

          1.1.2 分區表的維護:

          增加分區:

          ALTER TABLE sales ADD PARTITION sales2000_q1

          VALUES LESS THAN (TO_DATE(2000-04-01,YYYY-MM-DD)

          TABLESPACE ts_sale2000q1;

          如果已有maxvalue分區,不能增加分區,可以采取分裂分區的辦法增加分區!

          刪除分區:

          ALTER TABLE sales DROP PARTION sales1999_q1;

          截短分區:

          alter table sales truncate partiton sales1999_q2;

          合并分區:

          alter table sales merge partitons sales1999_q2, sales1999_q3 into sales1999_q23;

          alter index ind_t2 rebuild partition p123 parallel 2;

          分裂分區:

          ALTER TABLE sales

          SPLIT PARTITON sales1999_q4

          AT TO_DATE (1999-11-01,YYYY-MM-DD)

          INTO (partition sales1999_q4_p1, partition sales1999_q4_p2) ;

          alter table t2 split partition p123 values (1,2) into (partition p12,partition p3);

          交換分區:

          alter table x exchange partition p0 with table bsvcbusrundatald ;

          訪問指定分區:

          select * from sales partition(sales1999_q2)

          EXPORT指定分區:

          exp sales/sales_password tables=sales:sales1999_q1

          file=sales1999_q1.dmp

          IMPORT指定分區:

          imp sales/sales_password FILE =sales1999_q1.dmp

          TABLES = (sales:sales1999_q1) IGNORE=y

          查看分區信息

          user_tab_partitions, user_segments

          注:若分區表跨不同表空間,做導出、導入時目標數據庫必須預建這些表空間。分表區各區所在表空間在做導入時目標數據庫一定要預建這些表空間!這些表空間不一定是用戶的默認表空間,只要存在即可。如果有一個不存在,就會報錯!

          默認時,對分區表的許多表維護操作會使全局索引不可用,標記成UNUSABLE。 那么就必須重建整個全局索引或其全部分區。如果已被分區,Oracle 允許在用于維護操作的ALTER TABLE 語句中指定UPDATE GLOBAL INDEXES 來重載這個默認特性,指定這個子句也就告訴Oracle 當它執行維護操作的DDL 語句時更新全局索引,這提供了如下好處:
          1.在操作基礎表的同時更新全局索引這就不需要后來單獨地重建全局索引;
          2.因為沒有被標記成UNUSABLE, 所以全局索引的可用性更高了,甚至正在執行分區的DDL 語句時仍然可用索引來訪問表中的其他分區,避免了查詢所有失效的全局索引的名字以便重建它們;
          另外在指定UPDATE GLOBAL INDEXES 之前還要考慮如下性能因素:
          1.因為要更新事先被標記成UNUSABLE 的索引,所以分區的DDL 語句要執行更長時間,當然這要與先不更新索引而執行DDL 然后再重建索引所花的時間做個比較,一個適用的規則是如果分區的大小小于表的大小的5% ,則更新索引更快一點;
          2.DROP TRUNCATE 和EXCHANGE 操作也不那么快了,同樣這必須與先執行DDL 然后再重建所有全局索引所花的時間做個比較;
          3.要登記對索引的更新并產生重做記錄和撤消記錄,重建整個索引時可選擇NOLOGGING;
          4.重建整個索引產生一個更有效的索引,因為這更利于使用空間,再者重建索引時允許修改存儲選項。
          注意分區索引結構表不支持UPDATE GLOBAL INDEXES 子句。

          posted @ 2007-04-19 17:19 一凡 閱讀(905) | 評論 (0)編輯 收藏

          1、創建表

          SQL> CREATE TABLE T (ID NUMBER PRIMARY KEY, TIME DATE);

          2、插入數據

          SQL> INSERT INTO T SELECT ROWNUM, CREATED FROM DBA_OBJECTS;
          SQL
          > COMMIT;

          3、在線重定義的表自行驗證,看該表是否可以重定義,

          SQL> EXEC DBMS_REDEFINITION.CAN_REDEF_TABLE(user'T', DBMS_REDEFINITION.CONS_USE_PK);
           (如果沒有定義主鍵會提示以下錯誤信息
           
          begin dbms_redefinition.can_redef_table(user,'pft_party_profit_detail'); end;
           ORA
          -12089: cannot online redefine table "OFSA"."PFT_PARTY_PROFIT_DETAIL" with no primary key
           ORA
          -06512: at "SYS.DBMS_REDEFINITION", line 8
           ORA
          -06512: at "SYS.DBMS_REDEFINITION", line 247
           ORA
          -06512: at line 1
           
           出錯了, 該表上缺少主鍵,為該表建主鍵。再執行驗證。
           SQL
          > alter table t add constraint pk_t primary key(id);
           
          Table altered)

          4、建個和源表表結構一樣的分區表,作為中間表。按日期范圍分區

           

          SQL> CREATE TABLE T_NEW (ID NUMBER PRIMARY KEY, TIME DATE) PARTITION BY RANGE (TIME) 
               (PARTITION P1 
          VALUES LESS THAN (TO_DATE('2004-7-1''YYYY-MM-DD')), 
               PARTITION P2 
          VALUES LESS THAN (TO_DATE('2005-1-1''YYYY-MM-DD')), 
               PARTITION P3 
          VALUES LESS THAN (TO_DATE('2005-7-1''YYYY-MM-DD')), 
               PARTITION P4 
          VALUES LESS THAN (MAXVALUE));
           這里值得注意的一個問題是:PARTITION P4 
          VALUES LESS THAN (MAXVALUE))是把所有剩下的數據分在一個區里,如果你想一個月建一個分區,那最好寫成這樣,提前建好,目前我還不知道能不能自動建,如果哪位知道請告知我,謝謝  
           SQL
          > CREATE TABLE T_NEW (ID NUMBER PRIMARY KEY, TIME DATE) PARTITION BY RANGE (TIME) 
               (PARTITION P20070201 
          VALUES LESS THAN (TO_DATE('2007-2-1''YYYY-MM-DD')), 
               PARTITION P20070301 
          VALUES LESS THAN (TO_DATE('2005-3-1''YYYY-MM-DD')),
               PARTITION P20070401 
          VALUES LESS THAN (TO_DATE('2005-4-1''YYYY-MM-DD')), 
               PARTITION P20070501 
          VALUES LESS THAN (TO_DATE('2005-5-1''YYYY-MM-DD')),  
               PARTITION P20070601 
          VALUES LESS THAN (TO_DATE('2005-6-1''YYYY-MM-DD')));  

           

          5、執行表的在線重定義:

          SQL> EXEC DBMS_REDEFINITION.START_REDEF_TABLE(USER'T''T_NEW');

          6、執行把中間表的內容和數據源表進行同步。

          SQL>execute dbms_redefinition.sync_interim_table(user,'t','t_new');

          7、執行結束在線定義過程

          SQL> EXEC DBMS_REDEFINITION.FINISH_REDEF_TABLE(user'T''T_NEW');

          8、查看數據字典,可以看到改表已經成為了分區表。

          SQL> SELECT COUNT(*FROM T;
            
          COUNT(*)
          ----------
                6264
          SQL
          > SELECT COUNT(*FROM T PARTITION (P2);
            
          COUNT(*)
          ----------
                6246
          SQL
          > SELECT COUNT(*FROM T PARTITION (P3);


            
          COUNT(*)
          ----------

          至此普通表轉為分區操作完成

          9、如果執行在線重定義的過程中出錯

          可以在執行dbms_redefinition.start_redef_table之后到執行dbms_redefinition.finish_redef_table之前的時間里執行:DBMS_REDEFINITION.abort_redef_table(user't''t_new')以放棄執行在線重定義。

           

          10、如果出現以下錯誤:

          SQL> exec dbms_redefinition.can_redef_table(user't');
          BEGIN dbms_redefinition.can_redef_table(user't'); END;

          *
          ERROR at line 
          1:
          ORA
          -12091: cannot online redefine table "user"."t" with
          materialized views
          ORA
          -06512: at "SYS.DBMS_REDEFINITION", line 137
          ORA
          -06512: at "SYS.DBMS_REDEFINITION", line 1478
          ORA
          -06512: at line 1

          用這句刪除materialized 
          view 即可繼續進行
          drop materialized view log on <tablename>;
          drop materialized view log on t;
              OR drop materialized t;

          詳細原理請查看:
          Oracle的在線重定義表功能:http://tb.blog.csdn.net/TrackBack.aspx?PostId=900018
          Oracle的在線重定義表功能(二):http://blog.itpub.net/post/468/12962

          posted @ 2007-04-19 17:11 一凡 閱讀(6929) | 評論 (4)編輯 收藏
          僅列出標題
          共21頁: First 上一頁 12 13 14 15 16 17 18 19 20 下一頁 Last 
          主站蜘蛛池模板: 依兰县| 黑山县| 应城市| 红原县| 宁夏| 睢宁县| 石柱| 漠河县| 株洲市| 台北县| 麻城市| 藁城市| 唐海县| 抚远县| 郎溪县| 垦利县| 通化县| 新宾| 崇左市| 钦州市| 祁阳县| 永修县| 石林| 彭山县| 凤阳县| 乌鲁木齐县| 双辽市| 梁河县| 奉新县| 工布江达县| 贵港市| 山西省| 建瓯市| 泸定县| 定西市| 虎林市| 潜山县| 安乡县| 桐梓县| 定日县| 久治县|