ice world

          There is nothing too difficult if you put your heart into it.
          posts - 104, comments - 103, trackbacks - 0, articles - 0

          2012年7月12日

          這個問題很多小伙伴都遇到了,網(wǎng)上搜羅了半天也沒找到太好、太完美的解決辦法,有人說是因?yàn)榘惭bIE11時聯(lián)網(wǎng)了,導(dǎo)致自動打了補(bǔ)丁,這個補(bǔ)丁可以自動檢查IE主頁是否損壞,可以通過卸載相應(yīng)的補(bǔ)丁解決,我同時又找到了另外一個通過修改hosts文件的方法,貌似目前解決了我的問題,修改方法如下: 使用記事本打開 C:\Windows\System32\drivers\etc\hosts 文件,在最下面追加一行: 127.0.0.1 ieonline.microsoft.com

          posted @ 2016-08-12 10:47 IceWee 閱讀(880) | 評論 (0)編輯 收藏

          將JDK中BIN文件夾下的 msvcr71.dll 這個文件復(fù)制到 TOMCAT 中的 BIN 下

          posted @ 2016-01-18 13:43 IceWee 閱讀(429) | 評論 (0)編輯 收藏

          有段日子沒做記錄了,這段日子一直在排雷(前人埋下的隱患代碼,或者直接說bug),今天這個雷讓我排了將近大半天,因?yàn)槭钦缴暇€的系統(tǒng),只能看后臺日志,不能調(diào)試,打印出的異常信息不完整,種種的條件不充分,導(dǎo)致問題很難定位。標(biāo)題上的兩個異常,第一個一看就明白是插入的數(shù)值大于數(shù)據(jù)庫字段長度,第二個多是因?yàn)镹umber類型的字段導(dǎo)致,比如精度不足。

          我們的這次問題原因是程序員在做除法運(yùn)算時沒有對除數(shù)進(jìn)行非零判斷,導(dǎo)致計算出來的數(shù)值非法,插入數(shù)據(jù)庫失敗,請看代碼:
          public static void main(String[] args) {
                  
          double a = 10;
                  
          double b = 0;
                  
          double c = 0;
                  
                  
          double m = a/c;
                  
          double n = b/c;
                  
                  System.out.println(m);
                  System.out.println(n);
              }

          經(jīng)過計算后,m和n的值分別是多少?沒在實(shí)際開發(fā)中遇到的可能不知道,或者你有個好習(xí)慣不會出現(xiàn)這樣的bug,請看結(jié)果:
          Infinity
          NaN

          被除數(shù)非零,除數(shù)為零做除法的結(jié)果是字符串“Infinity”,翻譯成中文就是“無限”,你的中學(xué)數(shù)學(xué)老師可能說過;
          被除數(shù)為零,除數(shù)為零做觸發(fā)的結(jié)果是字符串“NaN”,即不是有效的數(shù)字。

          就是這個“Infinity”花費(fèi)了我一小天的時間才定位。下面詳述問題定位的方法。

          異常1:ORA-01438: value larger than specified precision allowed for this column
          了解點(diǎn)數(shù)據(jù)庫的打眼一看就知道插入的數(shù)值超過了表字段長度,但你知道是哪個表哪個字段嗎?我不知道,于是網(wǎng)上查閱了下,Oracle數(shù)據(jù)庫服務(wù)器在Linux上。

          命令行登陸到數(shù)據(jù)庫所在服務(wù)器,進(jìn)入Oracle的安裝目錄,假設(shè)是/opt/oracle/
          進(jìn)入到如下目錄:/opt/oracle/admin/實(shí)例名/udump
          中間的數(shù)據(jù)庫實(shí)例名根據(jù)實(shí)際情況修改,udump目錄下會有一堆的.trc文件,這些文件記錄了所有操作當(dāng)前數(shù)據(jù)庫出現(xiàn)異常的堆棧信息。為了定位問題,我將該目錄下的所有.trc文件都刪除了(當(dāng)然,刪除之前把udump目錄整個備份了),再進(jìn)行一次系統(tǒng)的業(yè)務(wù)操作,查看一下udump目錄,發(fā)現(xiàn)立刻生成一個新 的.trc文件,打開查看(內(nèi)容片段):
          Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
          With the Partitioning
          , Real Application Clusters, OLAP, Data Mining
          and Real Application Testing options
          ORACLE_HOME 
          = /u01/app/oracle/product/10.2/db_1
          System name:    AIX
          Node name
          :    gsdj1
          Release
          :    1
          Version
          :    6
          Machine
          :    00CFD4644C00
          Instance name
          : bjwd1
          Redo thread mounted by this instance: 1
          Oracle process number
          : 132
          Unix process pid
          : 48300280, image: oracle@gsdj1

          *** SERVICE NAME:(bjwd) 2014-03-28 16:48:05.683
          *** SESSION ID:(2969.439612014-03-28 16:48:05.683
          *** 2014-03-28 16:48:05.683
          ksedmp
          : internal or fatal error
          ORA
          -01438: value larger than specified precision allowed for this column
          Current SQL statement 
          for this session:
          insert into CP_TEMP_STOCKTRAN (APPLY_ID, ALIEN, CER_TYPE, CER_NO, TRANS_AM, TRANS_AM_PR, TRANS_TYPE, TRANS_DATE, ENDORSOR, BLIC_TYPE, ALIEN_ID, ENDORSOR_ID, STOCKTRAN_ID) values (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13)

          黃色背景紅色字體的SQL就是罪魁禍?zhǔn)?,這僅僅能定位發(fā)生問題的數(shù)據(jù)庫表,字段還得自己排查。異常1讓我定位到了這里,這時想起了異常2。


          異常2: Could not synchronize database state with session
          之前也搜索過這個異常,多數(shù)是由于Number類型的字段導(dǎo)致。冷靜的思考一下,平常我們在做表設(shè)計時,會把文字類型的字段設(shè)置大一些,Number類型的精度也會根據(jù)實(shí)際業(yè)務(wù)進(jìn)行設(shè)計,但往往Number類型的字段最容易出問題:
          1、如果將非Number值插入該字段,比如字符串
          2、如果插入的數(shù)值精度過多,如字段設(shè)計Number(10,2),也就是最大支持8為整數(shù)和兩位小數(shù),要插入34.121313就會失敗

          根據(jù)表名定位到hibernate的映射文件以及實(shí)體類,再從業(yè)務(wù)功能入口(一個action方法)搜索,終于定位到一個業(yè)務(wù)接口做了該實(shí)體類的保存代碼,定位到了那個字段,定位到了做除法沒有判斷除數(shù)是否為0。








          posted @ 2014-03-28 18:54 IceWee 閱讀(877) | 評論 (0)編輯 收藏

          網(wǎng)絡(luò)配置:
          臨時(重丟失)
          ifconfig eth0 192.168.1.xxx netmask 255.255.xxx.0


          永久(重啟有效)
          vi /etc/network/interfaces

          # This file describes the network interfaces available on your system
          # and how to activate them. For more information, see interfaces(5).

          # The loopback network interface
          auto lo
          iface lo inet loopback

          # The primary network interface
          allow-hotplug eth0
          iface eth0 inet static
                  address 192.168.1.xxx
                  netmask 255.255.xxx.0
                  network 192.168.1.1
                  broadcast 192.168.1.255
                  gateway 192.168.1.1
                  
          # dns-* options are implemented by the resolvconf package, if installed
                  dns-nameservers 202.106.196.115


          由于非法關(guān)機(jī)導(dǎo)致重啟后無法聯(lián)網(wǎng)

          ifconfig eth0 192.168.1.xxx netmask 255.255.xxx.0 

          route add default gw 192.168.1.1

          重啟后配置丟失,所以必須在重啟之前執(zhí)行:
          apt-get update

          apt-get install ifupdown

          不能聯(lián)網(wǎng)是因?yàn)榉欠P(guān)機(jī)導(dǎo)致ifup腳本丟失





          posted @ 2014-01-24 10:50 IceWee 閱讀(905) | 評論 (0)編輯 收藏

          源機(jī)器:192.168.1.1
          備份機(jī)器:192.168.1.2

          前提條件:
          1、兩臺機(jī)器的網(wǎng)絡(luò)是連通的
          2、兩臺機(jī)器必須同時安裝了SVN服務(wù)器

          假設(shè):
          源機(jī)器上需要同步的庫名為autoSync,訪問地址為:svn://192.168.1.1/autoSync,對其具備讀寫權(quán)限的賬戶:sync/sync

          備份機(jī)器配置:
          1、創(chuàng)建與源機(jī)器庫名相同的空庫
          # 假設(shè)備份機(jī)器的SVN根目錄建立在 /home/backup/svn/repository下
          svnadmin create /home/backup/svn/repository/autoSync

          2、配置備份機(jī)器上的autoSync
          分別修改conf下的svnserve.conf、passwd、authz,根據(jù)實(shí)際情況配置,假設(shè)創(chuàng)建了用戶sync/sync,對庫autoSync具備讀寫權(quán)限,配置方法略,配置完成后啟動SVN服務(wù)

          3、創(chuàng)建并修改pre-revprop-change文件
          cd /home/backup/svn/repository/autoSync/hooks
          cp pre
          -revprop-change.tmpl pre-revprop-change
          vi pre-revprop-change

          將文件末尾的“exit 1”改為“exit 0”即可,保存退出
          REPOS="$1"
          REV
          ="$2"
          USER
          ="$3"
          PROPNAME
          ="$4"
          ACTION
          ="$5"

          if
          [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi

          echo
          "Changing revision properties other than svn:log is prohibited" >&2
          exit
          0

          增加可執(zhí)行權(quán)限
          chmod 755 pre-revprop-change

          4、初始化
          命令:
          svnsync init --username 用戶名 --password 密碼 備份機(jī)器庫URL 源機(jī)器庫URL

          說明:
          用戶名和密碼是對源機(jī)器SVN庫具備讀寫權(quán)限的SVN用戶

          示例:
          svnsync init --username sync --password sync svn://192.168.1.2/autoSync svn://192.168.1.1/autoSync

          5、首次同步
          首次同步即為一次全備份過程,在此期間請停止客戶端段源機(jī)器哦一切操作(提交代碼等)
          命令:
          svnsync sync 備份機(jī)器庫URL
          示例:
          svnsync sync svn://192.168.1.2/autoSync

          源機(jī)器配置
          6、增量自動同步配置
          創(chuàng)建并修改post-commit文件
          # 假設(shè)源機(jī)器的SVN根目錄建立在 /home/svn/repository下
          cd /home/svn/repository/autoSync/hooks
          cp post
          -commit.tmpl post-commit
          vi post
          -commit

          在文件末尾追加:svnsync sync --non-interactive 備份機(jī)器庫URL --username 用戶名 --password 密碼

          說明:
          用戶名和密碼是對備份機(jī)器SVN庫具備讀寫權(quán)限的SVN用戶

          示例:
          svnsync sync --non-interactive svn://192.168.1.2/autoSync --username sync --password sync

          7、術(shù)語
          配置完成,今后客戶端再向SVN(192.168.1.1)提交文件時,會自動觸發(fā)源機(jī)器(192.168.1.1)向備份機(jī)器(192.168.1.2)提交更新

          8、版本庫UUID一致性
          首先查看源機(jī)器庫的UUID,假設(shè)得到的是:fcdcbee9-6be3-4575-8d4a-681ec15ad8e0
          svnlook uuid svn://192.168.1.1/autoSync

          更新備份機(jī)器庫的UUID為源機(jī)器庫的UUID
          svnadmin setuuid svn://192.168.1.2/autoSync fcdcbee9-6be3-4575-8d4a-681ec15ad8e0




          posted @ 2014-01-23 11:08 IceWee 閱讀(651) | 評論 (0)編輯 收藏

          本文記錄的安裝步驟是基于基本安裝后的Debian,啟動后漆黑一片,只有命令行,采用在線安裝方式,因此配置中國的鏡像軟件源能提高軟件的下載速度,首先配置軟件源。

          備份源文件
          # cp /etc/apt/sources.list /etc/apt/sources.list.bak

          編輯源文件
          # nano /etc/apt/sources.list

          注釋掉本地光盤源這一行,注釋后如:
          # deb cdrom:[Debian GNU/Linux 6.0.7 _Squeeze_ - Official amd64 NETINST Binary-1 20130223-18:50]/ squeeze main

          取消下面兩行官方源前面的注釋
          deb http://security.debian.org/ squeeze/updates main
          deb-src http://security.debian.org/ squeeze/updates main

          追加163的鏡像源地址
          deb http://mirrors.163.com/debian/ squeeze main non-free contrib
          deb http://mirrors.163.com/debian/ squeeze-proposed-updates main contrib non-free
          deb http://mirrors.163.com/debian-security/ squeeze/updates main contrib non-free
          deb-src http://mirrors.163.com/debian/ squeeze main non-free contrib
          deb-src http://mirrors.163.com/debian/ squeeze-proposed-updates main contrib non-free
          deb-src http://mirrors.163.com/debian-security/ squeeze/updates main contrib non-free
          deb http://ftp.sjtu.edu.cn/debian/ squeeze main non-free contrib
          deb http://ftp.sjtu.edu.cn/debian/ squeeze-proposed-updates main contrib non-free
          deb http://ftp.sjtu.edu.cn/debian-security/ squeeze/updates main contrib non-free
          deb-src http://ftp.sjtu.edu.cn/debian/ squeeze main non-free contrib
          deb-src http://ftp.sjtu.edu.cn/debian/ squeeze-proposed-updates main contrib non-free
          deb-src http://ftp.sjtu.edu.cn/debian-security/ squeeze/updates main contrib non-free

          保存修改
          # ctrl + o 回車
          退出
          # ctrl + x

          更新源
          # apt-get update

          更新系統(tǒng)
          # apt-get upgrade

          安裝SVN服務(wù)器
          # apt-get install subversion subversion-tools

          安裝完成后可以運(yùn)行命令查看SVN服務(wù)器版本信息
          # svnserve --version

          配置SVN
          首先創(chuàng)建版本庫的根目錄,如位置:/home/svn/repository,所有項(xiàng)目都將在該目錄下創(chuàng)建相應(yīng)子文件夾
          # mkdir –p /home/svn/repository

          創(chuàng)建項(xiàng)目版本庫test(僅為演示)
          # svnadmin create /home/svn/repository/test


          修改SVN配置文件
          nano /home/svn/repository/test/conf/svnserve.conf

          以下為文件內(nèi)容:
          ### This file controls the configuration of the svnserve daemon, if you
          ### use it to allow access to this repository.  (If you only allow
          ### access through http: and/or file: URLs, then this file is
          ### irrelevant.)

          ### Visit http://subversion.tigris.org/ for more information.

          [general]
          ### These options control access to the repository for unauthenticated
          ### and authenticated users.  Valid values are "write", "read",
          ### and "none".  The sample settings below are the defaults
          # 未授權(quán)配置為禁止訪問none,已授權(quán)配置為可以讀寫write
          anon-access = none
          auth-access = write
          ### The password-db option controls the location of the password
          ### database file.  Unless you specify a path starting with a /,
          ### the file's location is relative to the directory containing
          ### this configuration file.
          ### If SASL is enabled (see below), this file will NOT be used.
          ### Uncomment the line below to use the default password file.
          # 用戶數(shù)據(jù)庫文件,配置授權(quán)用戶,當(dāng)前使用的文件是和svnserve.conf在相同目錄下的passwd文件,也可以指定其他絕對路徑文件,如:/home/svn/passwd
          password-db = passwd
          ### The authz-db option controls the location of the authorization
          ### rules for path-based access control.  Unless you specify a path
          ### starting with a /, the file's location is relative to the the
          ### directory containing this file.  If you don't specify an
          ### authz-db, no path-based access control is done.
          ### Uncomment the line below to use the default authorization file.
          # 授權(quán)文件,配置如同用戶配置
          authz-db = authz
          ### This option specifies the authentication realm of the repository.
          ### If two repositories have the same authentication realm, they should
          ### have the same password database, and vice versa.  The default realm
          ### is repository's uuid.
          # realm = My First Repository

          [sasl]
          ### This option specifies whether you want to use the Cyrus SASL
          ### library for authentication. Default is false.
          ### This section will be ignored if svnserve is not built with Cyrus
          ### SASL support; to check, run 'svnserve --version' and look for a line
          ### reading 'Cyrus SASL authentication is available.'
          # use-sasl = true
          ### These options specify the desired strength of the security layer
          ### that you want SASL to provide. 0 means no encryption, 1 means
          ### integrity-checking only, values larger than 1 are correlated
          ### to the effective key length for encryption (e.g. 128 means 128-bit
          ### encryption). The values below are the defaults.
          # min-encryption = 0
          # max-encryption = 256


          保存
          # ctrl + o 回車

          退出
          # ctrl + x

          配置用戶
          # nano passwd

          以下為文件內(nèi)容:
          ### This file is an example password file for svnserve.
          ### Its format is similar to that of svnserve.conf. As shown in the
          ### example below it contains one section labelled [users].
          ### The name and password for each user follow, one account per line.

          [users]
          # harry = harryssecret
          # sally = sallyssecret
          IceWee = IceWee

          增加用戶IceWee,密碼也為IceWee,=號兩側(cè)需要有空格,保存(ctrl + o 回車)退出(ctrl + x)

          配置訪問權(quán)限
          # nano authz

          以下為文件內(nèi)容:
          ### This file is an example authorization file for svnserve.
          ### Its format is identical to that of mod_authz_svn authorization
          ### files.
          ### As shown below each section defines authorizations for the path and
          ### (optional) repository specified by the section name.
          ### The authorizations follow. An authorization line can refer to:
          ###  - a single user,
          ###  - a group of users defined in a special [groups] section,
          ###  - an alias defined in a special [aliases] section,
          ###  - all authenticated users, using the '$authenticated' token,
          ###  - only anonymous users, using the '$anonymous' token,
          ###  - anyone, using the '*' wildcard.
          ###
          ### A match can be inverted by prefixing the rule with '~'. Rules can
          ### grant read ('r') access, read-write ('rw') access, or no access
          ### ('').

          [aliases]
          # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

          [groups]
          # harry_and_sally = harry,sally
          # harry_sally_and_joe = harry,sally,&joe
          developers = IceWee

          # [/foo/bar]
          # harry = rw
          # &joe = r
          # * =

          # [repository:/baz/fuz]
          # @harry_and_sally = rw
          # * = r

          [/]
          * = r
          IceWee = rw
          @developers = rw

          [/tags]
          IceWee = rw

          默認(rèn)所有用戶可讀取根,IceWee可以讀寫根??梢苑謩e對子目錄進(jìn)行授權(quán),如上的tags目錄,IceWee具有讀寫權(quán)限,以及IceWee所在的組developers也具備讀寫權(quán)限。

          啟動SVN服務(wù)器
          # svnserve -d -r /home/svn/repository
          -d含義為后臺運(yùn)行(daemon),-r指定的根目錄,如訪問test應(yīng)該使用這樣的地址 svn://hostname:port/test

          停止SVN服務(wù)
          # killall svnserve

          備份還原命令,與oracle的備份有些類似
          導(dǎo)出
          # svnadmin dump /home/svn/repository/test > /home/bak/test.dump

          導(dǎo)入
          # svnadmin load /home/svn/repository/demo < /home/bak/demo.dump
          導(dǎo)入前提:
          必須先創(chuàng)建要導(dǎo)入版本庫目錄,如上的demo,則需要做以下操作
          # svnadmin create /home/svn/respository/demo
          修改svnserve.conf、passwd、authz等文件,前面已介紹


           





          posted @ 2014-01-17 15:48 IceWee 閱讀(1229) | 評論 (0)編輯 收藏


          2013年12月10日
          ---------------------------
          冒泡排序
          void bubble(int[] array) {
                 
          boolean swaped = true;
                 
          for (int t = 1; t < array.length && swaped; t++) {
                      swaped
          = false;
                     
          for (int i = 0; i < array.length - t; i++) {
                         
          if (array[i] > array[i + 1]) {
                            
          int temp = array[i];
                              array[i]
          = array[i + 1];
                              array[i
          + 1] = temp;
                              swaped
          = true;
                          }

                      }

                  }

              }


          2013年11月26日
          ---------------------------
          1、String的split方法
          平??偸沁@樣用,String str = "a,b,c,d,e"; String[] arr = str.split(",");
          其實(shí)還可以這樣用,String lan = "Java;C#?C++:C"; String si = lan.split("[;?:]"); 返回的是字符串?dāng)?shù)組{"Java", "C#", "C++", "C"}


          2013年11月21日
          ---------------------------

          1、Java對象池知多少?
          示例:String s1 = "abc"; String s2 = "abc"; s1 == s2 返回ture還是false?只要不是new出來的都先從對象池中讀取,因此結(jié)果為true,兩個變量指向的是同一塊內(nèi)存空間地址。

          Java除了String類使用了對象池以外,還有5個基本類型的封裝類:Byte、Short、Integer、Long和Character,例如:Integer inA = 20; Integer inB = 20; 那么 inA == inB 的結(jié)果為true,其他類與此相同,不做示例。

          特別注意:
          (1)浮點(diǎn)型的兩個封裝類Float和Double并沒有參與對象池;
          (2)整形封裝類(Byte、Short、Integer和Long)只有數(shù)值小于或等于127時才使用對象池,例如:Integer x = 128; Integer y = 128; x == y的結(jié)果為false。

          2、Java變量命名規(guī)范
          A. String #name = "Joe";
          B. int $age = 30;
          C. Double _height = 174.4;
          D. float ~temp = 37.6;
          以上A到D,哪個無法通過編譯?答案是A和D,因?yàn)镴ava變量名只允許字母、下劃線(_)、美元符($)開頭,那么 int _ = 30; String $$ = "I DO";可以嗎?答案是完全可以,但很少有人這樣定義變量名,雖然沒有違法命名規(guī)范,但最后我估計程序員自己都會被自己繞暈。

          3、0和1能標(biāo)識布爾值嗎?
          int flag = 0;
          if (flag) {
              System.out.print("error");
          }
          error會打印嗎?不會,因?yàn)楦揪筒粫幾g通過,編譯器會提示flag是int類型而不是boolean類型,如果你會有這種想法可能之前學(xué)過C,C總的0和1可以標(biāo)識布爾的。

          4、靜態(tài)導(dǎo)入
          例:
          ClassA.java
          package bing.test.sub1;

          public class ClassA {
            
          public static final int MAX_INT = Integer.MAX_VALUE;
          }



          ClassB.java
          package bing.test.sub2;

          import static bing.test.sub1.ClassA.MAX_INT;

          public class ClassB {
           
          public static void main(String[] args) {
          System.out.println(MAX_INT);
            }

          }

          輸出:2147483647。不僅僅可以靜態(tài)導(dǎo)入其他類的靜態(tài)屬性還可以導(dǎo)入靜態(tài)方法,這些特性在實(shí)際開發(fā)中很少見。









          posted @ 2013-11-21 12:49 IceWee 閱讀(465) | 評論 (0)編輯 收藏

          Apache Commons的FTPClient局域網(wǎng)上傳文件速度本應(yīng)該很快的,但卻在實(shí)際開發(fā)中發(fā)現(xiàn)上傳一個文件蝸牛速度,都是因?yàn)檎{(diào)用了如下API:

          ftpClient.storeFile(fileName, inputStream)

          原因是因?yàn)槟J(rèn)緩沖區(qū)大小是1024,也就是1K,當(dāng)然慢了,在調(diào)用上傳API之前重新修改以下默認(rèn)設(shè)置即可,如將緩沖區(qū)改為10M,API:

          ftpClient.setBufferSize(1024 * 1024 * 10)

          posted @ 2013-09-13 16:32 IceWee 閱讀(6706) | 評論 (0)編輯 收藏

          第一步,查詢鎖表信息
          --查詢被鎖住的數(shù)據(jù)庫對象
          select object_name, machine, s.sid, s.serial#
           
          from v$locked_object l, dba_objects o, v$session s
          where l.object_id = o.object_id
            
          and l.session_id = s.sid;


          第二步,殺死數(shù)據(jù)庫會話
          --殺死數(shù)據(jù)庫會話
          alter system kill session '207,707'; -- 207為SID, 707為SERIAL#


          第三步,如果第二步無法殺死會話,報ORA-00031,那么只能殺死UNIX/LINUX系統(tǒng)進(jìn)程了
          --查詢當(dāng)前操作的系統(tǒng)進(jìn)程ID
          select spid, osuser, s.program
           
          from v$session s, v$process p
          where s.paddr = p.addr
            
          and s.sid = 207; -- 207為SID


          第四步,根據(jù)查詢到的系統(tǒng)PID,殺掉進(jìn)程
          kill -9 24664 // 24664為UNIX/LINUX系統(tǒng)進(jìn)程ID



          posted @ 2013-08-23 10:20 IceWee 閱讀(528) | 評論 (0)編輯 收藏

               摘要: 備用。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;...  閱讀全文

          posted @ 2013-07-27 11:53 IceWee 閱讀(1443) | 評論 (0)編輯 收藏

          Java獲取本地IP地址方法網(wǎng)上搜一籮筐,但基本上都是獲得一個IP,實(shí)際開發(fā)中一臺電腦很可能有多個IP地址,如多網(wǎng)卡,或者安裝了VM Ware虛擬機(jī),就會虛擬出其他的網(wǎng)卡,那么傳統(tǒng)的方法得到的一個IP地址就不全面了,下面貼出獲取本機(jī)IP列表的方法:
          /**
               * IceWee 2013.07.19
               * 獲取本地IP列表(針對多網(wǎng)卡情況)
               *
               * 
          @return
               
          */

              
          public static List<String> getLocalIPList() {
                  List
          <String> ipList = new ArrayList<String>();
                  
          try {
                      Enumeration
          <NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
                      NetworkInterface networkInterface;
                      Enumeration
          <InetAddress> inetAddresses;
                      InetAddress inetAddress;
                      String ip;
                      
          while (networkInterfaces.hasMoreElements()) {
                          networkInterface 
          = networkInterfaces.nextElement();
                          inetAddresses 
          = networkInterface.getInetAddresses();
                          
          while (inetAddresses.hasMoreElements()) {
                              inetAddress 
          = inetAddresses.nextElement();
                              
          if (inetAddress != null && inetAddress instanceof Inet4Address) // IPV4
                                  ip = inetAddress.getHostAddress();
                                  ipList.add(ip);
                              }

                          }

                      }

                  }
           catch (SocketException e) {
                      e.printStackTrace();
                  }

                  
          return ipList;
              }




          posted @ 2013-07-19 11:10 IceWee 閱讀(4362) | 評論 (1)編輯 收藏

          項(xiàng)目開發(fā)組建立后一般要統(tǒng)一開發(fā)環(huán)境,一般是指開發(fā)環(huán)境,開發(fā)工具的版本和設(shè)置,其中編碼設(shè)置是個較為重要的部分,其重要性不言而喻。以下為eclipse編碼設(shè)置方法(將默認(rèn)編碼改為UTF-8為例):

          1.工作空間的編碼(這樣以后新建的文件也是新設(shè)置的編碼格式) 
             
          eclipse->window->preferences->General->workspaceTypes->Other->UTF-8->OK

          2.工程的編碼

          Project->Properties->General->Resource->Other->UTF-8->OK

          3.某類文件的編碼
           
          eclipse->window->preferences->General->Content Types->右側(cè)找到需要修改的文件的類型(如JAVA,JSP等)->在下面的Default encoding,輸入框中輸入UTF-8->點(diǎn)擊Update->OK

          4、單個文件的編碼
           
          在包資源管理器視圖,右鍵點(diǎn)擊文件->屬性,改變文本文件編碼格式為UTF-8

          posted @ 2013-06-17 14:15 IceWee 閱讀(820) | 評論 (0)編輯 收藏

          進(jìn)來的看官使用的是win7吧?!是64位的吧!?安裝了eclipse的subclipse插件了吧!每次用到SVN插件時都會彈出如下的對話框,雖然不影響使用但是很不爽是不是?。縇Z也是一個有丁點(diǎn)兒強(qiáng)迫癥的人,我想干掉這個彈出框!

          稍后上圖,服務(wù)器估計掛了??!

          解決方法:
          Window-Preferences-Team-SVN,在SVN接口的下拉框可以看到,默認(rèn)選擇的是JavaHL(JNI) Not Available,手動更改為SVNKit(Pure Java) SVNKit v1.3.5.7406,OK,enjoy it!

          錯誤提示框:


          修改前:


          修改后:

          posted @ 2013-03-18 15:13 IceWee 閱讀(78929) | 評論 (6)編輯 收藏

          一、Redhat上VNC Server配置
          本文以當(dāng)前Linux系統(tǒng)未安裝VNC服務(wù)器為基本,如果已安裝請?zhí)^第1節(jié)!

          前提:
          1.連接到互聯(lián)網(wǎng),將使用yum在線安裝VNC服務(wù)器
          2. 確認(rèn) SSH 在運(yùn)行

          1.安裝 TigerVNC Server

          # yum search tigervnc-server


          返回大概如下內(nèi)容:

          tigervnc-server.x86_64 : A TigerVNC Server
          tigervnc-server-applet.noarch : Java TigerVNC Viewer applet for TigerVNC Server
          tigervnc-server-module.x86._
          64 : TigerVNC Mode to Xorg
          ...


          第一行即是我們要安裝的VNS服務(wù)器,第二行是客戶端,執(zhí)行

          # yum install tigervnc-server.x86_64


          回車后會有一次安裝確認(rèn),輸入y后回車即可安裝,安裝完畢后返回到命令行輸入光標(biāo),執(zhí)行

          # vncserver


          會提示輸入驗(yàn)證密碼,至少6位,該密碼是客戶端連接時用到的。


          2.配置圖形界面
          修改配置文件,激活圖形界面,執(zhí)行命令:

          # vi /root/.vnc/xstartup


          注釋掉這行

          #twm & // 注釋該行


          末尾增加一行

          gnome-session & // 增加該行


          保存退出


          3.啟動VNC服務(wù)
          執(zhí)行命令

          # /etc/init.d/vncserver start

          # service vncserver start


          啟動后提示:

          Starting VNC server: no displays configured [FAILED]


          解決方法:
          執(zhí)行命令

          # vim /etc/sysconfig/vncservers


          修改最后兩行如:

          VNCSERVERS="1:root"
          VNCSERVERARGS
          [1]="-geometry 1024x768"


          說明:

          第一行為服務(wù)配置,當(dāng)前只配置了一個VNC服務(wù),使用用戶root啟動,如果還需要使用其他用戶登陸,可以修改VNCSERVERS的值如:“1:root 2:tiger”(tiger為系統(tǒng)另一存在用戶)。第二行可以注釋,是配置窗口分辨率的,需要去掉后面的-localhost


          VNC Server隨系統(tǒng)自動啟動
          執(zhí)行命令

          # sudo chkconfig --level 345 vncserver on


          4.停止VNC服務(wù)

          執(zhí)行命令

          # /etc/init.d/vncserver stop

          # service vncserver stop


          二、Windows借助VNC Viewer訪問Linux
          首先安裝RealVNC,從互聯(lián)網(wǎng)下載獲得
          開始 - Run VNC Viewer,輸入IP地址,后面的:1代表使用root用戶登陸,在RH上配置的1:root,如果想使用其他用戶登陸則調(diào)整冒號后的數(shù)字即可,密碼就是先前配置的。
           


          解決連接不上問題的方法

          執(zhí)行命令,查看VNC監(jiān)聽的端口是什么,在防火墻中開放端口即可

          # netstat -ntupl|grep vnc


          返回列表如:

          1. tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 4411/Xvnc 
          2. tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 4411/Xvnc 
          3. tcp 0 0 :::6001 :::* LISTEN 4411/Xvnc


          修改防火墻配置文件,開放5901端口即可

          # vi /etc/sysconfig/iptables


          可以復(fù)制22端口一行,黏貼修改即可,重新啟動防火墻服務(wù)

          # service iptables restart


           


           

          posted @ 2013-02-22 17:46 IceWee 閱讀(21965) | 評論 (2)編輯 收藏

          基本信息
          操作系統(tǒng):CentOS Release 6.3 (Final)
          內(nèi)核版本:Kernel Linux 2.6.32-279.el6.x86_64
          JDK版本:Oracle ®Java SE Development Kit 7u15 (1.7.0_15-b03)
          JBoss版本:JBoss Application Server 7.1.1
          安裝包: jdk-7u15-linux-x64.rpm、jboss-as-7.1.1.Final.zip

          安裝準(zhǔn)備
          上傳安裝文件
          將JDK和JBoss安裝文件(先解壓成目錄)上傳到服務(wù)器,目錄隨意,如:/home/下

          開始安裝
          JDK安裝
          使用root登陸系統(tǒng),打開命令行窗口,先為安裝文件授權(quán)

          # chmod 755 jdk-7u15-linux-x64.rpm


          執(zhí)行安裝

          # rpm -ivh jdk-7u15-linux-x64.rpm


          自動安裝到目錄 /usr/java 下

           

          JDK配置
          Root登陸執(zhí)行

          # vi /etc/profile


          增加下面內(nèi)容

          JAVA_HOME=/usr/java/jdk1.7.0_15
          CLASSPATH
          =.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
          PATH
          =$JAVA_HOME/bin:$PATH


          保存退出,執(zhí)行如下命令立即生效以上環(huán)境配置

          # source /etc/profile


          JDK版本檢測,執(zhí)行:

          # java – version

          返回JDK版本信息

          JBoss安裝
          JBoss為綠色版本,不需要安裝,解壓即可使用,和Tomcat一樣,下面將JBoss目錄移動到一個相對規(guī)范的位置,Root登陸執(zhí)行

          # mv /home/jboss-as-7.1.1.Final /usr/jboss-as-7.1.1.Final


          OK,安裝完畢,配置一下環(huán)境變量,執(zhí)行

          # vi /etc/profile


          增加下面內(nèi)容

          JBOSS_HOME=/usr/jboss-as-7.1.1.Final


          啟動服務(wù)

          # /usr/jboss-as-7.1.1.Final/bin/standalone.sh

          訪問,在瀏覽器地址欄中輸入:http://127.0.0.1:8080,出現(xiàn)歡迎界面,證明啟動成功!

          停止服務(wù)
          可以在啟動終端窗口按鍵 CTRL + C,即可完全停止JBoss服務(wù)

          局域網(wǎng)訪問
          http://xxx.xx.xx.xxx:8080是不能訪問的,如果想讓局域網(wǎng)內(nèi)的其他機(jī)器訪問必須要修改JBoss配置,方法如下:
          編輯jboss-as-7.1.1.Final\standalone\configuration\standalone.xml,找到

          <interface name="public">
              <inet-address value
          ="${jboss.bind.address:127.0.0.1}"/>
          </interface>


          127.0.0.1修改為JBoss所在機(jī)器的IP地址即可,但是依舊無法訪問,是因?yàn)長inux防火墻沒有開放8080端口,執(zhí)行:

          # vi /etc/sysconfig/iptables


          發(fā)現(xiàn)有一行

          -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
          復(fù)制它把22改成8080追加該行后面保存退出!

          創(chuàng)建管理員用戶

          # ./add-user.sh

           

          What type of user do you wish to add?
           a) Management User (mgmt-users.properties)
           b) Application User (application-users.properties)
          (a):

          回車

          Enter the details of the new user to add.
          Realm (ManagementRealm) :                      //回車,默認(rèn)
          Username :                                               // 管理員用戶名,如:admin
          Password :                                                // 管理員密碼,如:jboss
          Re-enter Password :                                  // 重復(fù)密碼


          管理員控制臺訪問

          http://127.0.0.1:9990/console
          如果也想在其他局域網(wǎng)機(jī)器上訪問管理員控制臺,防火墻需要開放端口9990,修改standalone.xml

          <interface name="management">
            <inet-address value
          ="${jboss.bind.address.management:127.0.0.1}"/>
          </interface>


          同樣將127.0.0.1修改為JBoss所在機(jī)器的IP地址

          posted @ 2013-02-22 17:12 IceWee 閱讀(5046) | 評論 (0)編輯 收藏

          1、先用system和密碼登陸SQLPLUS(如果不能直接以sys登陸到sqlplus的話),進(jìn)入到sql*plus之后,可以通過conn /as sysdba轉(zhuǎn)變?yōu)閟ysdba身份連接到數(shù)據(jù)庫
          2、開始修改編碼
          shutdown immediate;  // 停止oracle服務(wù)以及監(jiān)聽。如果服務(wù)停止,這部可省略
          startup mount;
          alter system enable restricted session;
          alter system set job_queue_processes=0; // 初始化設(shè)置job
          alter database open;
          alter database character set internal_use utf8; //設(shè)置編碼 (alter database character set internal_use ZHS16GBK;)(alter database character set internal_use WE8ISO8859P1;)
          shutdown immediate;  // 關(guān)閉
          startup;  // 重啟
          至此編碼已經(jīng)設(shè)置完成。

          posted @ 2013-02-21 16:01 IceWee 閱讀(315) | 評論 (0)編輯 收藏



          基本信息
          WLS版本:Oracle ® Weblogic Server 11g Release 1 (10.3.6)
          安裝包: jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin、wls1036_generic_x64.jar
          操作系統(tǒng):CentOS Release 6.3 (Final)
          內(nèi)核版本:Kernel Linux 2.6.32-279.el6.x86_64
          JDK版本:Oracle ®JRockit JDK R28.2.5 for Java SE 6 (1.6.0_37)

          安裝準(zhǔn)備
          上傳安裝文件
          將JDK和
          WLS安裝文件上傳到服務(wù)器,目錄隨意,如:/home/下

          開始安裝
          JDK安裝
          使用root登陸系統(tǒng),打開命令行窗口,先為安裝文件授權(quán),自行進(jìn)入安裝文件所在目錄,執(zhí)行

          # chmod a+x jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin


          執(zhí)行安裝命令

          # ./ jrockit-jdk1.6.0_37-R28.2.5-4.1.0-linux-x64.bin


          彈出安裝圖形界面
           


          Next


          默認(rèn)安裝路徑在root/jrockit-…,依個人習(xí)慣進(jìn)行修改


          保持默認(rèn),Next


          Done


          安裝完成后在命令行執(zhí)行命令查看安裝JDK版本信息,執(zhí)行
          # java -version

          如圖

          JDK配置
          執(zhí)行
          # vi /etc/profile

          在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL上面增加下面內(nèi)容
          export JAVA_HOME=/usr/java/jrockit-jdk1.6.0_37-R28.2.5-4.1.0 
          export PATH
          =$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 
          export CLASSPATH
          =.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

          保存退出,執(zhí)行如下命令立即生效以上環(huán)境配置
          # source /etc/profile


          WLS安裝
          為全部用戶授權(quán),讓全部用戶具備執(zhí)行安裝文件的權(quán)限(Linux比較墨跡,習(xí)慣就好了),執(zhí)行
          # chmod a+x wls1036_generic_x64.jar

          執(zhí)行安裝命令
          # java –jar wls1036_generic_x64.jar

          彈出圖形化安裝界面


          Next


          默認(rèn)安裝路徑 /root/Oracle/middleware,可根據(jù)個人習(xí)慣修改,Next


          取消勾選“I wish to…”,Next


          取消勾選“I wish to…”,Continue


          Yes


          保持默認(rèn),典型安裝,Next


          默認(rèn)選擇上文配置好的JDK,Next


          Next


          Next


          安裝過程中


          Done


          彈出QUICKSTART窗口,點(diǎn)擊“Getting started with…”


          可以新建域或擴(kuò)展已存在的,Next


          Next


          根據(jù)實(shí)際情況修改域名稱,Next


          輸入管理員密碼,要求8位以上,為了好記示例中用了weblogic11,Next


          Next


          Next


          Create





          配置完成


          啟動服務(wù)器
          示例:
          # cd /opt/oracle/Middleware/user_projects/domains/vcl_domain/bin
          # ./startWebLogic.sh &

          啟動完成后可以進(jìn)入管理員控制臺部署WEB項(xiàng)目等操作,帳號weblogic/weblogic11
          http://xxx.xxx.xx.xx:7001/console







          posted @ 2013-02-18 17:02 IceWee 閱讀(2892) | 評論 (1)編輯 收藏

          基本信息

          操作系統(tǒng):CentOS Release 6.3 (Final)
          內(nèi)核版本:Kernel Linux 
          2.6.32-279.el6.x86_64
          Oracle版本:Oracle 11g Release2
          安裝包:linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip


          安裝準(zhǔn)備

          上傳安裝文件

          將兩個壓縮文件覆蓋解壓后得到文件夾database,借助SSH工具上傳到服務(wù)器上,目錄如:/home/database

          創(chuàng)建組

          # groupadd dba
          # groupadd oinstall

           
          創(chuàng)建用戶
           

          # useradd –g oinstall –G dba oracle

           
          修改用戶密碼  

          # passwd oracle


          創(chuàng)建安裝目錄

          # mkdir -p /opt/oracle/product/11.2/db_1

          # mkdir -p /opt/oraInventory

          # mkdir -p /opt/oracle/oradata

          # mkdir -p /var/opt/oracle


          設(shè)置目錄的所有者、所屬組和權(quán)限

          # chown -R oracle.oinstall /opt/oracle

          # chown -R oracle.oinstall /opt/oracle/oradata

          # chown -R oracle.oinstall /opt/oracle/product/11.2/db_1

          # chown -R oracle.dba /opt/oraInventory

          # chown oracle.dba /var/opt/oracle

          # chmod -R 775 /opt/oracle

          # chmod -R 755 /var/opt/oracle


          設(shè)置用戶oracle的環(huán)境變量

          # su – oracle
          # vim /home/oracle/.bash_profile


          在文件中添加如下:

          export ORACLE_BASE=/opt/oracle

          export ORACLE_HOME
          =$ORACLE_BASE/product/11.2/db_1

          export ORACLE_SID
          =orcl

          export ORACLE_OWNER
          =oracle

          export ORACLE_TERM
          =vt100

          export PATH
          =$PATH:$ORACLE_HOME/bin:$HOME/bin

          export PATH
          =$ORACLE_HOME/bin:$PATH

          LD_LIBRARY_PATH
          =$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib

          export LD_LIBRARY_PATH

          CLASSPATH
          =$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

          CLASSPATH
          =$CLASSPATH:$ORACLE_HOME/network/jlib

          export CLASSPATH

          PATH
          =$PATH:/usr/sbin; export PATH

          PATH
          =$PATH:/usr/bin; export PATH

          ORA_NLS33
          =$ORACLE_HOME/nls/admin/data


          保存退出,執(zhí)行以下命令使得配置立刻生效或使用Oracle重登陸系統(tǒng)

          # source $HOME/.bash_profile

           
          開始安裝

          進(jìn)入數(shù)據(jù)庫安裝文件(database文件夾)所在目錄,如:/home/,為所有用戶授權(quán)

          # chmod –R 777 database

           

          切換到oracle用戶,使用oracle重登陸或使用下面命令切換用戶

          # su – oracle

           

          進(jìn)入database目錄,運(yùn)行安裝文件開始安裝

          # ./runInstaller


          進(jìn)入圖形化界面,一步步安裝,取消勾選I wish…(依照個人),點(diǎn)擊Next,彈出確認(rèn)框再點(diǎn)Yes


          三選一界面,選擇第二項(xiàng):Install database software only


          保持默認(rèn):Singel instance database installation,點(diǎn)擊Next
           
           
          選擇產(chǎn)品語言,默認(rèn)英語,附加選擇了簡體中文,點(diǎn)擊Next


          選擇數(shù)據(jù)庫版本,默認(rèn)企業(yè)版,點(diǎn)擊Next


          配置Oracle安裝目錄,由于安裝前環(huán)境變量的配置,安裝程序自動讀取配置,自動選擇好了Oracle Base和Software Location如圖所示,點(diǎn)Next


          同上,Oracle Inventory Directory目錄也自動選擇好了,oraInventory Group Name選擇安裝前創(chuàng)建的組dba,點(diǎn)擊Next


          保持默認(rèn),兩個組都選擇的dba,點(diǎn)擊Next


          裝檢查中


          查結(jié)束,不滿足條件列表


          解決以上錯誤,新建命令行窗口,切換到root用戶,需要輸入root的密碼

          # su – root

          修改進(jìn)程數(shù)和最大會話數(shù)的設(shè)置,執(zhí)行
          # vi /etc/security/limits.conf

          (在該文件的最后追加下面四行)
          oracle   soft    nproc   2047
          oracle   hard    nproc  
          16384
          oracle   soft    nofile
            1024
          oracle   hard    nofile  
          65536

          系統(tǒng)內(nèi)核參數(shù)設(shè)置
          # vi /etc/sysctl.conf

          (在該文件后追加以下內(nèi)容)
          kernel.sem = 250 32000 100 128
          net
          .ipv4.ip_local_port_range = 9000 65500
          fs
          .file-max = 6815744
          net
          .core.rmem_default = 262144
          net
          .core.rmem_max = 4194304
          net
          .core.wmem_default = 262144
          net
          .core.wmem_max = 1048576
          fs
          .aio-max-nr = 1048576

          保存退出,立即生效執(zhí)行:
          # cd /etc
          # sysctl -p

          安裝以下列表中的包(使用yum在線安裝),其中pdksh-5.2.14沒有找到,不安裝也沒有問題
          -libaio-0.3.105(i386)
          -libaio-devel-
          0.3.105(i386)
          -libaio-devel-
          0.3.105(x86_64)
          -glibc-
          2.3.4-2.41(i686)
          -compat-libstdc++-
          33-3.2.3(i386)
          -compat-libstdc++-
          33-3.2.3(x86_64)
          -gcc-c++-
          3.4.6(x86_64)
          -elfutils-libelf-devel-
          0.97(x86_64)
          -libgcc-
          3.4.6(i386)
          -libstdc++-
          3.4.6(i386)
          -unixODBC-
          2.2.11(i386)
          -unixODBC-
          2.2.11(x86_64)
          -unixODBC-devel-
          2.2.11(i386)
          -unixODBC-devel-
          2.2.11(x86_64)
          -pdksh-
          5.2.14(x86_64)

          以上步驟完成后點(diǎn)擊按鈕Check Again,發(fā)現(xiàn)不滿足列表并沒有清除,而是少了一些,此時勾選右側(cè)復(fù)選框Ignore all即可向下安裝了,直到安裝完成。


          安裝監(jiān)聽器

          使用oracle用戶登陸系統(tǒng)或在命令行窗口切換到oracle用戶,執(zhí)行
          # netca

          進(jìn)入圖形化配置,直接默認(rèn)下一步,到最后完成,其中你也可以修改監(jiān)聽去的名稱,協(xié)議,端口。




           








           




          安裝完成后可以使用如下命令來查看監(jiān)聽是否配置成功
          # ps –ef


          安裝數(shù)據(jù)庫程序

          執(zhí)行

          # dbca


          進(jìn)入圖形化配置界面,幾乎全Next








          配置全局?jǐn)?shù)據(jù)庫名稱,如果該服務(wù)器只安裝這一個數(shù)據(jù)庫建議使用orcl,鑒于習(xí)慣作




          備配置四個內(nèi)置超級管理員密碼,建議統(tǒng)一密碼,便于記憶用

          提示密碼過于簡單,不管它,點(diǎn)擊Yes














          到這數(shù)據(jù)庫實(shí)例就算創(chuàng)建完成了!并且會自動啟動!
          PS:10g客戶端連接11g服務(wù)器需要手動修改客戶端文件,如下:

          X:\oracle\product\10.2.0\client_1\network\ADMIN


          文件名:
          tnsnames.ora
          修改前不要忘記備份原文件,手動配置要連接的11g數(shù)據(jù)庫連接信息,如:

          ORCL_11g =
            (DESCRIPTION
          =
              (ADDRESS_LIST
          =
                (ADDRESS
          = (PROTOCOL = TCP)(HOST = 172.25.78.88)(PORT = 1521))
              )
              (CONNECT_DATA
          =
                (SID
          = orcl)
                (SERVER
          = DEDICATED)
              )
            )


          其中:
          ORCL_11g為本地連接服務(wù)名
          172.25.78.88為數(shù)據(jù)庫所在服務(wù)器IP
          你會發(fā)現(xiàn)CONNECT_DATA內(nèi)部和10g的配置不同,這就是區(qū)別,導(dǎo)致PL/SQL連不上11g




           

          posted @ 2013-01-30 16:56 IceWee 閱讀(19817) | 評論 (2)編輯 收藏

           
          此問題一般發(fā)生在Myeclipse 保存文件并自動部署時候。
          Errors occurred during the build.
          Errors running builder 'DeploymentBuilder' on project '項(xiàng)目名'.
          java.lang.NullPointerException

          有一種產(chǎn)生此錯誤的原因是因?yàn)榇隧?xiàng)目不不是由myeclipse創(chuàng)建的。
          所以你需要檢查.project 文件。
          并且添加 <nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>


          然后重新打開項(xiàng)目。

          posted @ 2012-09-27 10:27 IceWee 閱讀(9162) | 評論 (0)編輯 收藏

          出現(xiàn)以下異常信息,一般刪除下Tomcat的work目錄即可
          嚴(yán)重: IOException while loading persisted sessions: java.io.EOFException
          java
          .io.EOFException
              at java
          .io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
              at java
          .io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
              at java
          .io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
              at java
          .io.ObjectInputStream.<init>(ObjectInputStream.java:279)
              at org
          .apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
              at org
          .apache.catalina.session.StandardManager.doLoad(StandardManager.java:246)
              at org
          .apache.catalina.session.StandardManager.load(StandardManager.java:204)
              at org
          .apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
              at org
          .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
              at org
          .apache.catalina.core.StandardContext.startInternal(StandardContext.java:5282)
              at org
          .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
              at org
          .apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
              at org
          .apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
              at org
          .apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
              at org
          .apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
              at org
          .apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
              at java
          .util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
              at java
          .util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java
          .util.concurrent.FutureTask.run(FutureTask.java:138)
              at java
          .util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java
          .util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java
          .lang.Thread.run(Thread.java:662)
          2012-7-12 10:08:04 org.apache.catalina.session.StandardManager startInternal
          嚴(yán)重
          : Exception loading sessions from persistent storage
          java
          .io.EOFException
              at java
          .io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2280)
              at java
          .io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2749)
              at java
          .io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:779)
              at java
          .io.ObjectInputStream.<init>(ObjectInputStream.java:279)
              at org
          .apache.catalina.util.CustomObjectInputStream.<init>(CustomObjectInputStream.java:58)
              at org
          .apache.catalina.session.StandardManager.doLoad(StandardManager.java:246)
              at org
          .apache.catalina.session.StandardManager.load(StandardManager.java:204)
              at org
          .apache.catalina.session.StandardManager.startInternal(StandardManager.java:491)
              at org
          .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
              at org
          .apache.catalina.core.StandardContext.startInternal(StandardContext.java:5282)
              at org
          .apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
              at org
          .apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:895)
              at org
          .apache.catalina.core.ContainerBase.addChild(ContainerBase.java:871)
              at org
          .apache.catalina.core.StandardHost.addChild(StandardHost.java:615)
              at org
          .apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:649)
              at org
          .apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1585)
              at java
          .util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
              at java
          .util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
              at java
          .util.concurrent.FutureTask.run(FutureTask.java:138)
              at java
          .util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
              at java
          .util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
              at java
          .lang.Thread.run(Thread.java:662)

          posted @ 2012-07-12 10:15 IceWee 閱讀(716) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 张家口市| 水富县| 南川市| 临海市| 突泉县| 长治市| 永平县| 泰兴市| 青浦区| 吉水县| 鄂托克旗| 清徐县| 五常市| 交城县| 通榆县| 达拉特旗| 洪江市| 舒兰市| 香格里拉县| 道孚县| 霍林郭勒市| 岳池县| 沈丘县| 昌乐县| 寻乌县| 砀山县| 陕西省| 湘潭县| 泰来县| 南城县| 新余市| 南开区| 曲靖市| 邯郸市| 普兰店市| 三门县| 彝良县| 保靖县| 南宁市| 武宁县| 金湖县|