常用操作:
-- job 權限
grant create job to somebody;
-- job 創建
begin
dbms_scheduler.create_job (
job_name => 'AGENT_LIQUIDATION_JOB',
job_type => 'STORED_PROCEDURE',
job_action => 'AGENT_LIQUIDATION.LIQUIDATION', --存儲過程名
start_date => sysdate,
repeat_interval => 'FREQ=MONTHLY; INTERVAL=1; BYMONTHDAY=1;BYHOUR=1;BYMINUTE=0;BYSECOND=0', -- 按月,間隔為1個(月),每月1號,凌晨1點
comments => '執行代理商清分程序'
);
end;
/
-- job 執行時間測試
DECLARE
start_date date;
return_date_after date;
next_run_date date;
BEGIN
start_date := sysdate;--to_timestamp_tz('10-OCT-2004 10:00:00','DD-MM-YYYY HH24:MI:SS');
return_date_after := start_date;
FOR i IN 1..10 LOOP
DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING('FREQ=MONTHLY; INTERVAL=1; BYMONTHDAY=1;BYHOUR=1;BYMINUTE=0;BYSECOND=0',start_date, return_date_after, next_run_date);
DBMS_OUTPUT.PUT_LINE('next_run_date: ' || to_char(next_run_date,'yyyy-mm-dd HH24:MI:SS'));
return_date_after := next_run_date;
END LOOP;
END;
/
-- job 查詢
select owner, job_name, state from dba_scheduler_jobs;
select job_name, state from user_scheduler_jobs;
-- job 啟用
begin
dbms_scheduler.enable('BACKUP_JOB');
end;
/
-- job 運行
begin
dbms_scheduler.run_job('COLA_JOB',TRUE); -- true代表同步執行
end;
/
-- job 停止(不太好用)
begin
dbms_scheduler.stop_job(job_name => 'COLA_JOB',force => TRUE);
end;
/
-- job 刪除(對停job來說好用)
begin
dbms_scheduler.drop_job(job_name => 'COLA_JOB',force => TRUE);)
end;
/
posted @
2008-03-14 10:36 liunix 閱讀(624) |
評論 (0) |
編輯 收藏
位置:
http://xfire.codehaus.org/HTTP+Transport
posted @
2008-03-13 14:58 liunix 閱讀(533) |
評論 (0) |
編輯 收藏
1,一定不要下載.zip,而用tar.gz或bz2
2, 安裝到/usr/local/subverion時再啟apache
出現: /usr/local/subverion/lib/libaprutil-0.so.0: undefined symbol: gdbm_errno
解決:export LD_PRELOAD=/usr/lib/libgdbm.so.2 再執行 apachectl start(或 service httpd start)
可以將export這一行放入apachectl腳本中
3, 安裝可以自動更新apache中的moudle, 不用換rpm安裝剩下的svn等命令,這些只不過是服務器上的客戶端
只要以后執行/usr/local/subverion/bin下的命令即可(可以在profile中修改PATH)
posted @
2008-03-11 13:40 liunix 閱讀(228) |
評論 (0) |
編輯 收藏
1, 準備相關JAVA包
2, jce_policy-1_4_2.zip中的兩個jar到D:\jdk14\jre\lib\security
3, bcprov-jdk14-138.jar到D:\jdk14\jre\lib\ext并修改D:\jdk14\jre\lib\security\java.security加入
security.provider.6=org.bouncycastle.jce.provider.BouncyCastleProvider
posted @
2008-03-07 20:13 liunix 閱讀(208) |
評論 (0) |
編輯 收藏
posted @
2008-03-03 16:21 liunix 閱讀(926) |
評論 (0) |
編輯 收藏
一,基本安裝
如果不能獲得額外的IP
vmware-tool的安裝:
0, 將fc5安裝CD中的kernel-devel安裝上
1,將CD-ROM置為默認狀態
2, 在菜單中選取安裝vmware-tool
3,將cd mount上
4, install
5, 運行vmware-any-any-update101.tar.gz中的runme.pl(改其中的路徑/etc/vmware --> /etc/vmware-tools /usr/bin/vmware-config.pl -->/usr/bin/vmware-tool-config.pl)
-- 下面這個可能依賴前一項的成功
vm:網卡配置選nat
vm的linux中:netconfig 指定與"VMware Network Adapter VMnet8"相同的IP網段地址和子網
vm的linux中:子網默認網關和edit->virtual network setting->nat 中的網關地址一樣(還可以在neat中加上路由)
vm的dns: 和主機相同
vm的linux中:service network restart
二、添加硬盤
基本知識:
硬盤命名規則-----hda代表硬盤名,hda1則代表hda上的第1個分區
過程如下:
0, 在vmware中用新增硬盤向導添加一塊硬盤,下面就是操作linux的fdisk的事情了
1, fdisk -l ----------查看當前硬盤的分區情況
2, fdisk /dev/hdb --為指定硬盤分區
3, m -----------查看幫助
4, n -----------新建分區(要選主分區,不知何為)
5 w -----------寫入磁盤的分區表
6, mkfs -t ex2 /dev/hdb1 --為新建分區創建文件系統(或mkfs.ex2 /dev/hdb1,都是mkfs.$type 命令系列)
##7, mount /hdb1 /dev/hdb1 加載新建文件系統
若使用了邏輯卷管理器:則用system-config-lvm調整,可以將新建的分區邏輯地加到原來的
mount點下,等于動態擴展了原來的磁盤(比較好用)
posted @
2008-02-27 09:19 liunix 閱讀(184) |
評論 (0) |
編輯 收藏
xplanner 進度
bugzilla(--jira) bug
eclipse mylyn 任務
emma 覆蓋
cs 集成
SVN 版本
ant 構建
selenium 黑盒測試
--wiki 文檔
junit 白盒測試
ant 構建
--powerdesigner 數據庫設計
--rose/vision UML/流程圖工具
--word 文檔工具
人個schedule qorganizer
說明: --為收費工具
posted @
2008-02-26 11:07 liunix 閱讀(128) |
評論 (0) |
編輯 收藏
ant
<?xml version="1.0"?>
<project name="PGAgent" basedir="." default="default">
<target name="default" depends="deploy" description="代理商平臺構建" />
<property name="build.path" value="build" />
<tstamp>
<format property="date.MMdd" pattern="MMdd"/>
</tstamp>
<filterset id="filter.test">
<filter token="dataSource.url" value="jdbc:oracle:thin:@1.2.3.4:1521:p5dbb1"/>
<filter token="dataSource.username" value="gagent"/>
<filter token="dataSource.password" value="gagent"/>
<filter token="log4j.path" value="/home/xuzhijin/logs/pgagent/pgagent.log"/>
</filterset>
<filterset id="filter.deploy">
<filter token="dataSource.url" value="null"/>
<filter token="dataSource.username" value="null"/>
<filter token="dataSource.password" value="null"/>
<filter token="log4j.path" value="null"/>
</filterset>
<target name="deploy" depends="test_tidy,deploy_tidy">
<antcall target="clean_before" />
<zip destfile="${build.path}/${ant.project.name}_test_${date.MMdd}.zip" basedir="${build.path}/test" />
<zip destfile="${build.path}/${ant.project.name}_deploy_${date.MMdd}.zip" basedir="${build.path}/deploy" />
<antcall target="clean_after" />
</target>
<target name="deploy_tidy">
<copy todir="${build.path}/deploy/${ant.project.name}/">
<fileset dir="${basedir}/WebRoot/">
<exclude name="**/.svn"/>
<exclude name="**/.svn/*.*"/>
</fileset>
</copy>
<copy todir="${build.path}/deploy/${ant.project.name}/WEB-INF/classes" overwrite="true" >
<fileset dir="${basedir}/buildFilter/">
<include name="*.properties"/>
</fileset>
<filterset refid="filter.deploy" />
</copy>
</target>
<target name="test_tidy">
<copy todir="${build.path}/test/${ant.project.name}/">
<fileset dir="${basedir}/WebRoot/">
<exclude name="**/.svn"/>
<exclude name="**/.svn/*.*"/>
</fileset>
</copy>
<copy todir="${build.path}/test/${ant.project.name}/WEB-INF/classes/" overwrite="true" >
<fileset dir="${basedir}/buildFilter/">
<include name="*.properties"/>
</fileset>
<filterset refid="filter.test" />
</copy>
</target>
<target name="clean_after">
<delete dir="${build.path}/test" />
<delete dir="${build.path}/deploy" />
</target>
<target name="clean_before">
<delete file="${build.path}/${ant.project.name}_test_${date.MMdd}.zip" />
<delete file="${build.path}/${ant.project.name}_deploy_${date.MMdd}.zip" />
</target>
</project>
bash:
#!/bin/bash
file_prefix=PGAgent_test
dest_dir=/usr/local/ciecc/webapps/
today=`date +%m%d`
rm -rf $dest_dir${file_prefix%_*}
unzip -d $dest_dir $file_prefix'_'$today.zip
tail -f /home/xuzhijin/logs/pgagent/pgagent.log
posted @
2008-02-22 20:28 liunix 閱讀(155) |
評論 (0) |
編輯 收藏
String.prototype.trim = function() {
return this.replace(/^\s+|\s+$/g,"");
}
String.prototype.isBlank = function() {
return this == null || this == "";
}
function validate_required(form){
for(var i=0;i<form.elements.length;i++){
var element = form.elements[i];
if(null != element.getAttribute('required') && 'TRUE' == element.getAttribute('required').toUpperCase()){
if(element.value.trim().isBlank()){
alert('所有必填項都不能為空');
return false;
}
}
}
return true;
}
function validate_pattern(form){
for(var i=0;i<form.elements.length;i++){
var element = form.elements[i];
if(null != element.getAttribute('pattern')){
if( !element.value.trim().isBlank() && !new RegExp(element.getAttribute('pattern').split("/")[0]).test(element.value.trim())){
alert(element.getAttribute('pattern').split("/")[1]);
return false;
}
}
}
return true;
}
-- 校驗不必填的傳真只填一半的特殊情況
function validate_other(form){
if(form.cpFaxPart1.value.isBlank() != form.cpFaxPart2.value.isBlank()){
alert('公司傳真未填寫完整(也可完全不填)');
return false;
}
return true;
}
function validate(form){
return validate_required(form) && validate_pattern(form) && validate_other(form);
}
posted @
2008-02-15 15:52 liunix 閱讀(165) |
評論 (0) |
編輯 收藏
alter session set max_dump_file_size=unlimited;
alter session set timed_statistics=true;
alter session set events '10046 trace name context forever, level 12';
select 'Hello, world; today is '||sysdate from dual;
exit;
tkprof card_ora_13226.trc trace.txt print=100 record=sql.txt sys=no
然后查年trace.txt就是分析內容了
posted @
2007-11-06 09:52 liunix 閱讀(378) |
評論 (0) |
編輯 收藏