月度归档:2012年02月

TimesTen日志没有自动清除的原因之一

  TimesTen的日志文件最好单独划分一个分区来存储,因为很有可能被他产生的日志文件把磁盘占满。当然正常情况下是不存在这个问题的哈。
  官方网站上说,日志文件在下面几个事情没有完成前,是不会被删除的(参见Oracle官网):

  • All transactions writing log records to the transaction log file (or a previous transaction log file) have committed or rolled back.

  • All changes recorded in the transaction log file have been written to the checkpoint files on disk.

  • All changes recorded in the transaction log file have been replicated (if replication is used).

  • All changes recorded in the transaction log file have been propagated to the Oracle database if the IMDB Cache has been configured for that behavior.

  • All changes recorded in transaction log files have been reported to the XLA applications (if XLA is used).

所以当我们遇见日志文件在不断增长时,通常可以做如下一下操作:

1. 执行 call ttlogholds 查看是否有长事务(Long-Running Transaction)存在,如果存在,则考虑是否可以用ttxactadmin -xactIdRollback来回滚该事务。
   2. 检查配置文件中是否设置了系统定时做checkpoint,如果CkptFrequency的值为0,则表示不定时checkpoint,这时日志是不会自动删除的。如果没有设置定时Checkpoint,手动执行(call ckpt;)Checkpoint也未必可以让日志自动被清除。

【转】Drupal字符串截取函数 truncate_utf8()

      truncate_utf8($string, $len, $wordsafe = FALSE)

      该函数以安全的方式截取UTF-8编码格式的字符串,一直令我很头疼的评论标题问题主要就是它运用不合理造成的。
参数解释:
$string 想被截段的字符串。
$len 函数执行后返回字符串的长度上限。
$wordsafe 标志符。TRUE表示在最近的空格处截断并返回;FALSE则不。drupal的API参考指名默认FALSE。
返回值就是截取下来的字符串。

      之前参考的drupal论坛里的补丁均在用户没有留下评论标题(subject)的情况下,将评论内容字符串截取一段,然后作为“最新评论”栏里的标题。 但不知是何原因$wordsafe都被设置成TRUE,事实上这样很不合理,尤其是在中文情况下,一句话可能很长,在截取时容易出差错。 所以建议中文用户把第三个参数改成FALSE。至于第二个参数,就要看你想显示多长的标题了。

函数代码如下:

function truncate_utf8($string, $len, $wordsafe = FALSE) { 
    $slen = strlen($string); 
    if ($slen <= $len) { 
        return $string; 
    } 
    if ($wordsafe) { 
        while (($string[–$len] != ' ') && ($len > 0)) {}; 
    } 
    if ((ord($string[$len]) < 0x80) || (ord($string[$len]) >= 0xC0)) { 
        return substr($string, 0, $len); 
    } 
    while (ord($string[–$len]) < 0xC0) {}; 
    
    return substr($string, 0, $len); 
}

将如上函数添加到主题下面的template.php文件中,就可以直接调用了。截取中文的效果不错。
转自:i3 server的空间http://hi.baidu.com/i3server/blog/item/e93ed525aca89d3ac89559cc.html