批处理获得系统当前时间之前n天的时间
@echo off::获得前一天的系统时间::时间处理部分来自互联网。SetLocal EnableDelayedExpansion::if "%1"=="" echo 示例: %0 20080102 5 && pause>nul && exit /Bset dd=%DATE:~8,2%set mm=%DATE:~5,2%set yyyy=%DATE:~0,4%set temp1=%yyyy%%mm%%dd%::set temp1=20090527set temp2=1set YE=%temp1:~0,4%set MO=%temp1:~4,2%set DA=%temp1:~6,2%set DG=%temp2%for %%i in (YE MO DA DG) do if "!%%i!"=="" echo Caution,Error Format & pause>nul & exit/bfor %%j i
mysql 5 安装时或者安装后设置字符集
启动前修改my.cnf ,加入default-character-set=utf8 或者在编译时指定字符集。记下备忘[@more@]=
摘--修改Linux内核参数,减少TCP连接中的TIME-WAIT sockets
新增的一组Apache服务器上线以来,我用netstat -an命令发现服务器中有大量状态为TIME-WAIT的TCP连接,于是用/sbin/sysctl -a查看了一下Linux的各项内核参数,并翻阅有关资料,决定修改其中的两项参数,以达到减少TCP连接中TIME-WAIT sockets的目的。 vi /etc/sysctl.conf 编辑/etc/sysctl.conf文件,增加三行:引用net.ipv4.tcp_syncookies = 1net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1 说明: net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻
oracle 中将unix/linux时间戳进行转换(转)
参照http://www.itjj.net/tech/DB/Oracle/anzhuangpeizhi/20080321/283050.html思路就是明白unix/linux时间戳是按照从格林威治时间1970年1月1日期计算的一个秒数(我粗俗的理解)。unix/linux 时间戳转换为标准时间格式(主要是注意时区问题):select TO_DATE('19700101','yyyymmdd') + 1235728935/86400 +TO_NUMBER(SUBSTR(TZ_OFFSET(sessiontimezone),1,3))/24 from dual,其中1235728935就是unix/linux时间戳,转换完之后就表示为 2009-2-27 18:02:15。反过来也一样,还是要考虑时区select (to_date('2009-2-27 18:02:15','yyyy-mm-dd
配置nginx+php+MT4.2总结
1、nginx+php的配置,…………,此处省略500字。参考http://blog.s135.com/post/366.htm#topreply ,按顺序一路ctl+c 再ctl+v就行了。不过中间在启动mysql的时候会有问题,参考错误日志,将my.cnf中对应的配置注释掉就ok.2、配置nginx支持cgi,这部分折腾了很长时间。分别用了http://wiki.codemongers.com/NginxSimpleCGI里的 cgiwrap-fcgi.pl.和网上找的 perl-fcgi.pl ,感觉cgiwrap-fcgi.pl 执行速度要慢很多,虽然内容差不多。perl-fcgi.pl内容:------------------------------------#!/usr/bin/perluse FCGI;#perl -MCPAN -e 'install
关于tomcat与jboss的缓存
tomcat的缓存是在tomcatworkCatalinalocalhost的目录下的工程jboss的缓存是在JBossserverdefaultworkjboss.weblocalhost的目录下。如果出现页面修改后没更新,就把目录下的工程删掉。[@more@]
使用SQLNET.ora文件限制Ip地址访问
可以在$ORACLE_HOME/network/admin/sqlnet.ora里面配置以下参数来实现验证客户端ip以限制访问tcp.validnode_checking=yes tcp.invited_nodes=(ip1,ip2......) --允许的ip列表tcp.excluded_nodes=(ip1,ip2......) --禁止的ip列表注意本机ip也要加入到这个列表中。另外设置命名方法:NAMES.DIRECTORY_PATH= (TNSNAMES, ONAMES, HOSTNAME)[@more@]
关于Dsicuz 的注册用户问题
最近有个项目需要把用户注册整合到Discuz注册部分。查了下网上的资料,Discuz的密码处理方式是用MD5(MD5('password')||随机码) (oracle的语法) 的方式保存,操作的是uc_members这个表。知道了密码方式,处理就方便了,在这个表或者另一个项目的用户表上加触发器就ok了,至于随机码,随便写一个就行了。然后用这个用户名和密码登录,会提示先激活,按提示完成后,就能正常使用了。顺便说一下使用的Discuz版本是6.1.0集成UCENTER版[@more@]
oracle中发邮件的存储过程--功能比较强(摘)
CREATE OR REPLACE PROCEDURE send_mail(P_TXT VARCHAR2, P_SUB VARCHAR2, P_SENDOR VARCHAR2, P_RECEIVER VARCHAR2, P_SERVER VARCHAR2, P_PORT NUMBER DEFAULT 25, P_NEED_SMTP INT DEFAULT 0, P_USER
关于使用exp按照条件导出数据的问题(摘)
http://www.heysky.net/archives/2007/09/exp_query_format.html昨天需要按照条件导出一个表,再导入另一个数据库,很自然想到了 exp 的 query 参数,本来以为可以很顺利完成,结果 query 参数的格式怎么也写不对,因为时间紧迫,最后通过 dblink 直接插入了另一个数据库。今天回过头来再研究了一下,发现其实也不复杂,按照文档还是能很好的解决的。希望导出测试表中日期为 2007-09-22 的一条数据:SQL> select * from skytest; SID DT---------- ----------------- 1 20070913 00:00:00 2 20070914 00:00:00
mysql5中使用过程实现行转列
简单到网上搜了一下,没有发现mysql有类似oracle 的decode函数实现行转列,有不少用过程实现动态行转列,试了一下,不适合我用,参考mysql5的帮助,写个个过程,记录备忘。其中用到了游标,关于游标的使用文档里给的例子也不错,反正我就只会那么用。。。DELIMITER $$DROP PROCEDURE IF EXISTS `hrb_yd`.`proc_hrb_yd_stat`$$CREATE DEFINER=`root`@`192.168.96.1` PROCEDURE `proc_hrb_yd_stat`(IN $G_id INTEGER(10))BEGINdeclare v_name VARCHAR(255);declare v INT DEFAULT 0;declare v1 INT DEFAULT 0;declare v2 INT DEFAULT
heartbeat安装配置实验
heartbeat的安装配置1:下载相关安装包,使用源码编译方式。 1.1 http://www.packetfactory.net/libnet/dist/ 下载 libnet.tar.gz 1.2 http://www.linux-ha.org/download/ 下载最新的稳定版tar.gz文件,注意是在页面下方提示有下载的地址 “ Alternatively, if you prefer to build from source or want to use specific version of the code not available on those sites, grab a tar-ball directly from our version control system, Mercurial. To do this, point your browser to a URL like: http://hg.linux-ha.org/dev/archi
tomcat 5.5的优化(摘)
http://www.blogjava.net/zpuser/archive/2007/04/archive/2007/04/29/114543.html<!--[if !supportLists]-->1.<!--[endif]-->精简Tomcat和配置文件1.删除不需要的管理应用和帮助应用,提高tomcat安全性。# 删除webapps下所有文件# rm –fr $CATALINA_HOME/webapps/*# 删除server/wenapps下所有文件# rm –fr $CATALINA_HOME/server/webapps/*2.精简sever.xml配置文件使用tomcat发布版本中的最小配置文件,提高性能,如果有功能上的需求,在逐个的加入功能配置。# 备份原来的server.xml为server.xml_bak# mv server.xml ser
linux下批量替换文件内容(摘)
如:把文件后缀为jsp的文件中,内容是 String v = "0,1,2,3,4"; 的,修改为String v = "1,2,3,4";(加单引号是为了查找内容中的" ")。find |grep .jsp | xargs perl -i -pe s%'String v = "0,1,2,3,4";'%'String v = "1,2,3,4";'%g 好像是用perl处理的。效率很高。[@more@]
修改Oracle process 和 session 的方法--摘
先备份spfile1.通过SQLPlus修改Oracle的sessions和processes的关系是sessions=1.1*processes + 5使用sys,以sysdba权限登录:SQL> show parameter processes;NAME TYPE VALUE------------------------------------ ----------- ---------------------------------------aq_tm_processes integer 1db_writer_processes integer 1job_queue_processes integer 10log_archive_max_processes integer 1processes integer 150SQL> alter system set processes=400 scope = spfile;系统已更改。SQL> show parameter processes;NAME TYP
使用exp导出小写表名的方法(from pub)
参见:http://www.itpub.net/viewthread.php?tid=928112&pid=9443577&page=2&extra=test case on windows:create table "t_tst_lower_case" as select * from dba_objects a where rownum < 10;edit a par file #parfile.txttables=('"t_tst_lower_case"')--注意格式是 单引号+双引号then runexp test/test file=test.dmp parfile=parfile.txt C:>exp test/test file=test.dmp parfile=parfile.txtExport: Release 9.2.0.4.0 - Production on Thu Jan 17 19:14:45 2008Copyright (c) 1982, 2002, O
摘-- 关于在函数或过程中 ref cursor 的用法
http://blog.itpub.net/post/16888/149516Oracle 存储过程返回结果集用 ref cursor 实现。试验步骤如下:1. 建立 ref cursor 类型和过程CREATE OR REPLACE PACKAGE typesAS TYPE ref_cursor IS REF CURSOR;END;/CREATE TABLE STOCK_PRICES( RIC VARCHAR(6) PRIMARY KEY, PRICE NUMBER(7,2), UPDATED DATE );/CREATE OR REPLACE FUNCTION sp_get_stocks(v_price IN NUMBER) RETURN types.ref_cursorAS stock_cursor types.ref_cursor;BEGIN OPEN stock_cursor FOR SELECT ric,price,updated FROM stock_prices W
关于lag函数的用法
参考oracle 10g手册,明白了lag函数的基本用法:LAG SyntaxDescription of the illustration lag.gifSee Also:"Analytic Functions" for information on syntax, semantics, and restrictions, including valid forms of value_exprPurposeLAG is an analytic function. It provides access to more than one row of a table at the same time without a self join. Given a series of rows returned from a query and a position of the cursor, LAG provides access to a row at a given physical offset prior to that posit
test
www
理解了row_number()over (partition by order by )的方法
有个统计,要把3个没有很直接关系的表连接在一起。多亏了itpub上热心人的帮忙http://www.itpub.net/viewthread.php?tid=922978,我也理解了 row_number()over (partition by order by )的用法。[@more@]