当我们在 Linux 下写了一个 Shell 做某些操作时,可能在一个终端运行了该脚本还没停止,然而又可能在另一个终端再一次执行了它,会有两个或多个实例在运行。或者是把这个 Shell 安排在 Cron 中,想让它每隔5分钟执行一次,有可能执行时间较长,正在执行当中,下一个5分钟的时刻到了,又在启动一次,这同样也会造成同一个 Shell会同时跑出多个实例来。
同时跑的多个实例就有可能对同一资源的操作造成数据的不可思异。这就要有一种方法来保证同一时刻同一脚本只能有一个实例在运行,借用很多软件的做法,比如 MySQL、Apache 等,在启动的时候生成一个临时的文件向后来者明确指示:有一个实例正在执行,不能执行第二个实例了。等到执行结束(可能被 Kill掉,被 Shutdown等),就把临时文件删除,以后可以运行新的实例了。
可以把某个 Shell 的执行权当作一个独占资源,只有获取锁(没有临时文件,并且建立它)时才有权执行它,执行完后释放锁(把临时文件删除)。 Read More- 原址:http://blog.sina.com.cn/u/4a8238ac01000638
下面是我从书中抽取出来的,也希望能和你有共鸣
1.无论是什么好方法,贵在理解与灵活运用,而不可当成灵丹妙药,不象"吃了脑黄金或脑白金,就能使一亿人先聪明起来。
2.不要让人觉得程序员只管钻研技术,可以不懂世事并且应该自由散漫。程序员不该因为幼稚而显得单纯,应该是成熟了才变得单纯,才配得上这个充满活力的职业。 Read More - rem 这需要 统计某个具体用户的"Table,index,column,constraits"
rem================================================================
rem 全部表-列定义 table_cols.txt
set lin 110 pages 3000
column table_name format a30
column data_type format a12
column data_default format a8
column column_name format a22
column Cid format 999 Read More
用户的管理
一、ORACLE的安全域
1、TABLESPACE QUOTAS:表空间的使用定额
2、DEFAULT TABLESPACE:默认表空间
3、TEMPORARY TABLESPACE:指定临时表空间。
4、ACCOUNT LOCKING:用户锁
5、RESOURCE LIMITE:资源限制
6、DIRECT PRIVILEGES:直接授权 Read More- 一、ORACLE的表的分类:
1、REGULAR TABLE:普通表,ORACLE推荐的表,使用很方便,人为控制少。
2、PARTITIONED TABLE:分区表,人为控制记录的分布,将表的存储空间分为若干独立的分区,记录按一定的规则存储在分区里。适用于大型的表。
二、建表
1 CREATE TABLE 表名 (EMPNO NUMBER(2),NAME VARCHAR2(20)) PCTFREE 20 PCTUSED 50
STORAGE (INITIAL 200K NEXT 200K MAXEXTENTS 200 PCTINCREASE 0) TABLESPACE 表空间名称 Read More - 1、查看表空间的名称及大小
select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size
from dba_tablespaces t, dba_data_files d
where t.tablespace_name = d.tablespace_name
group by t.tablespace_name;
2、查看表空间物理文件的名称及大小 Read More - 1. 查看数据库的版本
select @@version
2. 查看数据库所在机器操作系统参数
exec master..xp_msver
3. 查看数据库启动的参数
sp_configure Read More - 因为工作的需要,在某些时候又要拣一拣令我生厌的VB,是要在别人代码的基础上进行修改。看人家代码都是写连接字符串、用户名和密码都写两套,开发时用一套,注释另一套,发布时反过来,更加了VB还只能行注释。我一看就嫌这麻烦,宁愿多思考思考,看看有啥好办法能偷偷懒,当这事,条件编译了。
以前就没怎么用过VB,更别提VB中条件编译了,Goole搜,发现VB中可以用几个预编译指令: #Const、#If .Then ...#ElseIf.Then...#Else...#End If
#Const 声明一个常量,相当于宏定义,用#Const定义的只能被当前模块识别。例如定义常 DebugVer =1,标明是调试版本:
#Const DebugVer = 1
然后,数据库连接串写成
#If DebugVer = 1 Then '或者是#If DebugVer Then VB和C、C++也一样,非零为真
connStr = "Provider=OraOLEDB.Oracle;Data Source=Fraud-Test;User Id=Unmi;Password=testpwd;"
#Else
connStr = "Provider=OraOLEDB.Oracle;Data Source=Fraud;User Id=user;Password=pwd";
#End If
要发布到正式环境时编译前只需要把 #Const DebugVer = 1 改为 #Const DebugVer = 1 就 OK 了。 Read More - 今天晚上,忙了好一阵把中国博客网一多篇文章挪到博客天中去,因为几乎半年以来,我现在这个博客网打开页面都无比的慢,相信任何人都无法忍受,一直都是以为中国博客网就是很慢的,也没太在意为什么别人在中国博客网上的博客也很快的。
也试过学着博客天下默认方式那样,每篇文章显示前约500字,再看看首页,并没明显示改善,况且进入完整内容页总还是如此之慢的,补充这里可能慢的概念,可能20分钟后还看不到内容。 Read More