賢仁居 George Gong
          It's never too late to learn
          posts - 32,comments - 16,trackbacks - 0

          這兩天開始研究一個韓國人寫的asp.net(C#)程序,好多年沒玩.net了,發現很生疏。首先要把源代碼在本機跑起來,安裝VS2005。然后打開網站把項目到進去后,啟動debug(F5)后出現問題, <add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />這一行報錯,google了一下發現必須要安裝.net framework 3.5 sp1 ,如果還不行還要安裝MS Chart.exe,看來這個是圖形報表需要的東西。

          安裝完成后點擊自動調試模式,還是報錯,這次提示web.config里的全局路徑出問題,后來仔細琢磨了一下發現VS默認啟動的Development Server自作聰明的在啟動的URL后面加了一個項目名稱作為子路徑,這個導致了很多問題,項目里定義的相對路徑找不到,導致圖片、JS、CSS等無法顯示。好多人在罵微軟的這個stupid。

          google了一下解決方案,如下:點擊VS上面的“工具”--->“外部工具”,然后添加一個Development Server,自己定義名稱、端口號、虛擬路徑、物理路徑等。我的位置如下:
          標題:Web Server Port:8080
          命令:C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\WebDev.WebServer.EXE
          參數:/port:8080 /path:D:\vs_workspace\ibt 這里沒有定義虛擬路徑,即為/
          然后勾選“使用輸出窗口”,這樣就有打印信息了。

          完成后你會發現“工具”里多了一個你定義的“Web Server Port:8080”,點擊一下就啟動了。

          好多國內的帖子到這里后就完事了,其實不然。因為這樣的話是解決了端口號和虛擬路徑的問題,但我發現這時候不能debug程序了,斷點沒用。
          國外的帖子找到了解決辦法,原來還差一步,就是替換VS給項目設置的默認Development Server。在“解決方案資源管理區(solution explore)”里點擊項目工程(project),右鍵點擊并選擇“屬性頁”,選擇左邊的“啟動選項”,在“服務器”里選擇“使用自定義服務器”,在基URL里填寫“http://localhost:8080/”,這樣就OK了。但跟默認有區別的是,這次VS不管自動啟動Development Server,需要手動啟動,然后才能點擊“啟動調試(F5)”按鈕

          posted @ 2010-01-22 10:37 George Gong 閱讀(1103) | 評論 (0)編輯 收藏

          由于項目中的小文件太多,都是幾K的小文件,有100多G,所以必須要提升靜態文件的訪問速度。一開始用Nginx 與 Tomcat做集群,Nginx負責靜態資源的響應。Nginx在Linux下跑的很爽,到Windows下就不太好了。Nginx前段時間推出了Windows版,拿來一試,感覺不太穩定。在一個刀片機下作測試很好,但弄到正式環境下就不行了,ext tree顯示不出來,而且要等很久,最后頁面提示:ext無法顯示。最后跟同事商量,覺得還是apache+tomcat在windows下比較穩定,轉手弄apache+tomcat。

          apache官方沒有提供win64版本,就找了一個外國哥們在Vistual Studio 2005 下自己編譯的win64 apache,在測試機上安裝很輕松,然后布了2個tomcat,又在apache的mem cache中設置了3G的內存做緩存,測試一切OK。接著弄正式服務器,第一臺正式服務器很順利,幾分鐘就搞定了。第二臺服務器就出了問題,apache無法啟動,提示:“由于應用程序配置不正確 應用程序未能啟動。重新安裝應用程序可能會糾正這個問題”。然后查看這兩臺服務器有何差異,最后發現第一臺上有.net framework 2,3,3.5,第二臺上一個.net framework 都沒有。接著裝.net framework 2.0 service,還是不行。有文章說要安裝 vc redistribute 包,到微軟官方下載安裝,還是不行,郁悶。最后沒辦法,又下載安裝.ner framework 3.0,還是不行,靠!這時候我都不報希望了,又下載安裝.net framework 3.5,然后發現apache 可以了!最后一分鐘搞定第二臺服務器的apache+tomcat。

          我的apache+tomcat用的是ajp proxy通信方式,設置session sticky。

          好了,接下來觀察幾天看看效果如何

          posted @ 2010-01-15 11:28 George Gong 閱讀(2443) | 評論 (2)編輯 收藏

          SkillSoft的Business Skills課程的Objectives數據封裝方式與PagePlayer.properties的LMS_AICC_VERSION,LMS_AICC_V2_POST這兩項屬性值有關。
          LMS_AICC_VERSION值為2.2 or 3.5,默認是3.5。當LMS_AICC_VERSION=3.5時,Objectives的Score的值以分號割開,如下:

          [Objectives_status]
          j_id.
          1=LEADA201001005000X020001
          j_status.
          1=c
          j_id.
          17=LEADA201001003000X820001
          j_score.
          17=33;33;-84
          j_id.
          2=LEADA201001002000X020001
          j_status.
          2=c
          j_id.
          16=LEADA201001005000X820001
          j_score.
          16=20;20;-21
          而LMS_AICC_VERSION=2.2時,數據以逗號隔開,如下:
          [Objectives_status]
          j_id.
          1=LEADA201001005000X020001
          j_status.
          1=c
          j_id.
          17=LEADA201001003000X820001
          j_score.
          17=33,33,-84
          j_id.
          2=LEADA201001002000X020001
          j_status.
          2=c
          j_id.
          16=LEADA201001005000X820001
          j_score.
          16=20,20,-21

          LMS_AICC_V2_POST的值為ture or false,默認為false。當LMS_AICC_V2_POST=false時,每次課程向LMS提交的數據都是最新的數據,如果學員進行了一次測試,課程的putparam提交的數據如下:
          [CORE]
          Lesson_Status
          =Incomplete
          Lesson_Location
          =LEADA201001MXX999X810001
          score
          =12
          time
          =00:04:18
          [Core_Lesson]
          20
          [Core_Vendor]
          20 May 2009 07:38:48 GMT,\u9AD8 \u7EA7 \u9886 \u5BFC \u539F \u5219
          [Objectives_status]
          j_id.
          1=LEADA201001005000X020001
          j_status.
          1=c
          j_id.
          17=LEADA201001003000X820001
          j_score.17=55

          j_id.
          2=LEADA201001002000X020001
          j_status.
          2=c
          j_id.
          16=LEADA201001005000X820001
          j_score.16=44

          當LMS_AICC_V2_POST=true時,課程向LMS提交的是完整數據,如下:
          [CORE]
          Lesson_Status
          =Incomplete
          Lesson_Location
          =LEADA201001MXX999X810001
          score
          =12
          time
          =00:04:18
          [Core_Lesson]
          20
          [Core_Vendor]
          20 May 2009 07:38:48 GMT,\u9AD8 \u7EA7 \u9886 \u5BFC \u539F \u5219
          [Objectives_status]
          j_id.
          1=LEADA201001005000X020001
          j_status.
          1=c
          j_id.
          17=LEADA201001003000X820001
          j_score.
          17=55,33,33,-84
          j_id.
          2=LEADA201001002000X020001
          j_status.
          2=c
          j_id.
          16=LEADA201001005000X820001
          j_score.
          16=44,20,20,-21
          也就是課程保留了之前LMS返回給它的數據,然后把最新的Score分數添加到原來值的前面,至于這些值是用逗號隔開還是分號隔開取決于前門的LMS_AICC_VERSION值,值為3.5時分號隔開,2.2時逗號隔開。

          因為系統要用這些值統計學院的每次測試成績,所以會注意到這些值的封裝方式。如果不需要使用這些值的話,就不用管了,只接簡單的存取就是了
          posted @ 2009-05-20 16:36 George Gong 閱讀(301) | 評論 (0)編輯 收藏
               摘要:   PagePlayer.Properties General SCP Properties PagePlayerProperties.version=7.0.1 ...  閱讀全文
          posted @ 2009-05-20 16:08 George Gong 閱讀(599) | 評論 (0)編輯 收藏

          由于項目中用到,特在此做一筆記:

                 1.Tomcat為6.0.14,解壓版。首先說明一點:Tomcat本身是32位的,所以64位操作系統的話要覆蓋兩個文件。
                     到http://svn.apache.org/viewvc/tomcat/tc6.0.x/tags/TOMCAT_6_0_14/res/procrun/amd64/  下載tomcat6.exe和tomcat6w.exe兩個文件。

                 2.將上面下載的兩個文件覆蓋$TOMCAT_HOME/bin下對應的文件。

                 3.命令行到$TOMCAT_HOME/bin下,運行service install命令。

                 4.修改服務為自啟動,OK。


                PS:


                這里有點小問題,系統中用的Java為Oracle jrockit,所以安裝后的路徑同SUN的Java有所不同。而$TOMCAT_HOME/bin下的service.bat顯然是為SUN的Java準備的,如下:

          rem Set the server jvm from JAVA_HOME
          set PR_JVM=%JAVA_HOME%\jre\bin\server\jvm.dll
          if exist "%PR_JVM%" goto foundJvm
          rem Set the client jvm from JAVA_HOME
          set PR_JVM=%JAVA_HOME%\jre\bin\client\jvm.dll
          if exist "%PR_JVM%" goto foundJvm
          set PR_JVM=auto
          :foundJvm
          echo Using JVM:              %PR_JVM%

              標紅的是Sun Java的安裝路徑,而Jrockit為%JAVA_HOME%\jre\bin\jrockit\jvm.dll


              還有一點是:有的帖子說覆蓋文件前要先運行tomcat6w.exe記錄下各參數,其實完全沒必要。運行server install命令后參數會自動添入。
          posted @ 2009-03-31 17:32 George Gong 閱讀(3461) | 評論 (2)編輯 收藏

          1、使用system登錄Oracle,利用dbms_xdb修改端口設置

          SQL> -- Change the HTTP/WEBDAV port from 8080 to 8081
          SQL> call dbms_xdb.cfg_update(updateXML(dbms_xdb.cfg_get() , '/xdbconfig/sysconfig/protocolconfig/httpconfig/http-port/text()', 8081));


          Call completed.
          posted @ 2008-11-10 10:03 George Gong 閱讀(511) | 評論 (0)編輯 收藏
          鏈接為:http://www.zw1840.com/oracle/translation/concepts/index.htm

          收藏之
          posted @ 2008-01-30 17:39 George Gong 閱讀(423) | 評論 (0)編輯 收藏

          1.安裝AS4
              
              這個不多說,安裝過程沒什么難度。

          2.安裝Oracle10g

              AS4下安裝Oracle10g的文章一搜一堆,都是那幾個步驟:
              
              1、檢查oracle所需的RPM包是否齊全:

          gcc-3.2.3-34
          gcc-c++-
          3.2.3-34
          glibc-
          2.3.2-95.20
          make-
          3.79.1
          openmotif21-
          2.1.30-8
          setarch-
          1.3-1
          compat-db-
          4.0.14-5
          compat-gcc-
          7.3-2.96.128
          compat-gcc-c++-
          7.3-2.96.128
          compat-libstdc++-
          7.3-2.96.128
          compat-libstdc++-devel-
          7.3-2.96.128

              版本問題不大,大于等于都可以,沒有的在安裝盤或者Down下來裝上。

          2、建立oracle用戶及oinstall,dba用戶組:

          # /usr/sbin/groupadd oinstall /創建組用戶/
          # /usr/sbin/groupadd dba /創建組用戶/
          # /usr/sbin/useradd -g oinstall -G dba oracle /創建用戶,并設定用戶組/
          # passwd oracle /設定oracle用戶的密碼/

          3、修改oracle用戶的.bash_profile文件,將oracle相關的環境變量加進去:

          ORACLE_BASE=/oracle/app
          ORACLE_HOME
          =$ORACLE_BASE/product/10.1.0/db_1
          ORACLE_SID
          =demo1
          PATH
          =$PATH:$HOME/bin:$ORACLE_HOME/bin
          LD_LIBRARY_PATH
          =$ORACLE_HOME/lib:/usr/lib
          export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH


          4、修改系統屬性,在/etc/sysctl.conf文件中加入kernel相關的屬性配置:

          kernel.shmall = 2097152
          kernel.shmmax 
          = 2147483648
          kernel.shmmni 
          = 4096
          kernel.sem 
          = 250 32000 100 128
          fs.file-max 
          = 65536
          net.ipv4.ip_local_port_range 
          = 1024 65000
          net.core.rmem_default 
          = 262144
          net.core.rmem_max 
          = 262144
          net.core.wmem_default 
          = 262144
          net.core.wmem_max 
          = 262144

          這里重要的是kernel.shmmax,這里設置的值為2G,這個值跟oracle的SGA有很大關系,很容易出錯。有的文章說這個值應該設置成內存的一半。另一個是kernel.shmall,有文章說這個值應該是kernel.shmmax除以系統的PAGE_SIDE得到的商。

          5、根據步驟3里的設置創建相關目錄。

          6、修改redhat發行標識:
          由于oracle10g具有系統安裝監測,當檢測到的系統不符合安裝配置規定的要求時,安裝不能正常進行,故要更改操作系統的版本標識,這一操作不會影響任何系統問題,可以在安裝結束后恢復為正常狀態。
          操作如下:
          備份/etc/redhat-release文件為/etc/redhat-release.bak
          以root權限修改/etc/redhat-release文件
          將文件的內容Red Hat Enterprise Linux AS release 4 (Nahant)
          修改為Red Hat Enterprise Linux AS release 3 (Taroon)
          用于滿足 Disk1/install/oraparam.ini的檢查要求

          7、開始安裝
          這里可能會遇到一些問題,比如X-Windows啟動不起來,這時候需要運行命令:xhost+。如果IP是DHCP的話可能還需要修改local.localdomian的值。
          運行oracle安裝盤里的runInstaller會出現安裝頁面,如果是亂碼的話還要設置系統的字符集。
          需要運行orainstRoot.sh命令。
          接下來oracle要驗證安裝需要的RPM包是否齊全,有的高級版本可能檢驗不出來。
          安裝最后還要執行root.sh命令。

          8、DBCA建庫問題
          這個問題因機器而異,在我的機器上出了問題,害我折騰了兩三天。在建表的時候,最后一步有SGA的設置,默認選的是內存的40%。我的機器的內存是8G,40%是3G多,這樣就出問題了,開始建表操作后2%進度的時候報ORA-27123錯誤,說是sharedmomery問題,一開始弄的我一頭霧水,找不到北。有的文章提到32位的操作系統及Oracle,SGA應該不高于1.7G,這是32位系統的上限。后來我把SGA調到小于1.7G就OK了。后來我試著更改kernel.shmmax的值,當改為4G后再運行DBCA建庫,會報ORA-27101(可能是這個號),out of memory的問題,內存溢出。有文章說到應該改limits.conf設置,去掉限制。但對此我還沒有進行嘗試。

          9、Oracle的自啟動
          在這個問題上我花費了不少時間,一開始在/etc/init.d/目錄下建dbora啟動腳本的時候有問題,系統重啟的時候一會執行一會不執行。后來根據別的文章采用令一種辦法:

          root 登錄,在  /etc/rc.d/init.d 下創建名為dbora,編輯增加以下內容

          =================================================


          #!/bin/bash
          #參考http://staff.in2.hr/denis/oracle/10g1install_fedora3_en.html#n4_4
          # chkconfig: 
          35 95 1
          # description: init script to start/stop oracle database 10g
          , TNS listener, EMS
          #

          # match these values to your environment:
          export ORACLE_BASE
          =/u01/app/oracle
          export ORACLE_HOME
          =$ORACLE_BASE/10.2.0/db_1
          export ORACLE_SID
          =dssdb
          export PATH
          =/home/oracle/bin:$ORACLE_HOME/bin:$PATH
          export ORACLE_USER
          =oracle

          # see how we are called:
          case $
          1 in
              start)
              su - 
          "$ORACLE_USER"<<EOO
              dbstart
          EOS
              emctl start dbconsole
          EOO
              
          ;;

              stop)
              su - 
          "$ORACLE_USER"<<EOO
              dbshut
          EOS
              emctl stop dbconsole
          EOO
              
          ;;

              *)
              echo 
          "Usage: $0 {start|stop}"
              
          ;;
          esac


          ==========================

          打開終端執行:
          chown oracle.oinstall /etc/rc.d/init.d/dbora
          chmod 
          755 /etc/rc.d/init.d/dbora

          使用chkconfig 設置運行權限
          chkconfig dbora reset

          檢查
          chkconfig --list dbora
          結果如下:
          ora10            
          0:off   1:off   2:off    3:on    4:off    5:on    6:off

          這時你可以試試手動啟動及關閉oracle服務:
          service dbora start
          service dbora stop

          總結:
          現在的服務器配置越來越高,我的這臺機器是dell2950,4核CPU×2,8G內存,64位。因為沒有64位的redhat系統盤,只好操作系統及oracle都裝的32位的,這點很不爽。所以64位的硬件最好還是裝64位的系統及軟件,否則硬件上會有限制,不能充分利用。

          posted @ 2008-01-26 17:38 George Gong 閱讀(1894) | 評論 (1)編輯 收藏

          Oracle Server - Enterprise Edition - Version: 9.2.0.1 to 10.2.0.3
          Linux x86

          Symptoms

          ORA-27102, Out of memory error


          Cause

          For 32 bit system running smp kernel, we cannot have SGA > 1.7 GB directly. This is because of
          limitation of 32 bit systems of not being able to address memory > 4GB directly by a user process.
          If SGA is kept higher than 1.7 GB, it will results in ORA 27102 errors.

          While invoking dbca or creating starter database, by default it takes 40% of memory for SGA.
          Hence the size can accidentally exceed 1.7 GB




          Solution

          The workaround is to create a new database, and specify the size of SGA approximate to be 1.5 to
          1.7 GB.


          References

          Note 260152.1 - Summary About the Large SGA & Address Space on RH Linux

          Errors

          ORA-27102 out of memory

          posted @ 2008-01-26 15:17 George Gong 閱讀(1355) | 評論 (0)編輯 收藏
               摘要: http://www.theserverside.com/tt/articles/article.tss?l=IntrotoSpring25 October 2007                   ...  閱讀全文
          posted @ 2007-10-31 09:23 George Gong 閱讀(1219) | 評論 (0)編輯 收藏
          僅列出標題
          共4頁: 上一頁 1 2 3 4 下一頁 
          主站蜘蛛池模板: 泉州市| 绥化市| 景洪市| 普兰店市| 泊头市| 甘谷县| 保靖县| 巨鹿县| 定安县| 金湖县| 保康县| 大化| 普洱| 奇台县| 本溪| 固阳县| 嘉荫县| 乡宁县| 双鸭山市| 浮梁县| 邢台市| 阜新| 万宁市| 昭平县| 上栗县| 陇西县| 江油市| 桂东县| 睢宁县| 兴海县| 天门市| 松滋市| 巴彦淖尔市| 休宁县| 拉萨市| 佳木斯市| 上林县| 库尔勒市| 驻马店市| 长武县| 清苑县|