这两天开始研究一个韩国人写的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 阅读(1084) |
评论 (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 阅读(2425) |
评论 (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 阅读(292) |
评论 (0) |
编辑 收藏
摘要:
PagePlayer.Properties
General SCP Properties
PagePlayerProperties.version=7.0.1
...
阅读全文
posted @
2009-05-20 16:08 George Gong 阅读(590) |
评论 (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 阅读(3450) |
评论 (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 阅读(508) |
评论 (0) |
编辑 收藏
链接为:http://www.zw1840.com/oracle/translation/concepts/index.htm
收藏之
posted @
2008-01-30 17:39 George Gong 阅读(410) |
评论 (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 阅读(1883) |
评论 (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 阅读(1352) |
评论 (0) |
编辑 收藏
摘要: http://www.theserverside.com/tt/articles/article.tss?l=IntrotoSpring25
October 2007 ...
阅读全文
posted @
2007-10-31 09:23 George Gong 阅读(1206) |
评论 (0) |
编辑 收藏