常用操作:
-- 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 阅读(619) |
评论 (0) |
编辑 收藏
位置:
http://xfire.codehaus.org/HTTP+Transport
posted @
2008-03-13 14:58 liunix 阅读(526) |
评论 (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 阅读(224) |
评论 (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 阅读(202) |
评论 (0) |
编辑 收藏
posted @
2008-03-03 16:21 liunix 阅读(916) |
评论 (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 阅读(180) |
评论 (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 阅读(125) |
评论 (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 阅读(151) |
评论 (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 阅读(161) |
评论 (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 阅读(372) |
评论 (0) |
编辑 收藏