Byobu Terminal

装上ubuntu12.04 lts之后,查看安装的软件,发现一个好东东,叫byobu terminal,以前没用过,虽然别的终端用的也不一定熟,但是看了下简介貌似比ubuntu自带的那个terminal好用的样子。
简介保存下来,回头继续看。
—————————————————
screen 是 linux 下一个终端里实现多 session 的工具, byobu 是 ubuntu 下 screen 的一个封装 (wrapper)
byobu 其实就是利用 screen 强大的配置功能搞了很多有用的配置项. 它最大的特性一个是 key-binding, 将新窗口, 窗口切换, 重命名等操作绑定到了 F2~F9等键, 另外, F12键可以锁定终端, 输入登陆密码后才解锁. 另一个特性是屏幕底部显示一系列信息 (status), 有 cpu, 内存, 时间 等信息。
默认的快捷键主要有: F2: new window , F3/F4: switch , F5 reload, F6: Detach, F7: 回滚模式, F8: rename, F12:lockscreen
如果你用的是 putty, 它默认的按键绑定跟 byobu 的冲突. 在 putty的 Terminal => Keyboard 配置里选 “Xterm R6″ 后保存, 上面的快捷键就都可以用了
它默认的配置最底部左边是发行版信息, 右边是cpu等信息, 倒数第2行左边是窗口列表, 右边是登陆信息. 觉得它下边占了两行太浪费了, 我希望只占一行, 左边是窗口列表, 右边是 cpu等信息. 所以需要改它的profile 文件:
sudo vi ~/.byobu/profile
在这个文件最后找到 hardstatus 和 caption 开头的那两行, 注释掉, 然后加入两行:
hardstatus ignore
caption always ‘%12`%?%-Lw%50L>%?%{=r}%n*%f %t%?(%u)%?%{-}%12`%?%+Lw%?%11` %= %130`%135`%102`%101`%129`%131`%127`%114`%115`%108`%134`%128`%125`%126`%113`%119`%133`%117`%116`%106`%104`%103`%105`%107`%136`%123`%132`%120`%121`’
同目录下还有个 status 文件, 定义了哪些信息需要在右下角显示.
编辑完后按 F5 刷新配置文件, 显示如下图:
使用过程中还发现点问题. 你用 byobu -S yc 新建一个 session, 用完后按 F6 detach, 然后恢复的时候不能象 screen 那样用 -r 参数恢复. 查了下, 原来 byobu 使用了它自己默认的 -S byobu
所以需要对 byobu 脚本做点修改:
sudo vi `which byobu`
找到 NAME=”-S $PKG” 那行 (79行左右), 在下面加入一句:
[ “$#” = “2” ] && [ “$1” = “-r” ] && NAME=
意思是当指定了 -r 参数时不用 byobu 它自己的名字. 这样就可以用 -r 来恢复session 了
以上引自:
https://www.cnblogs.com/Dario67/archive/2011/12/11/2284294.html

继续安装系统

昨天花了挺长时间来捣鼓自己的笔记本,光盘始终不行,不能识别Windows的安装盘,我估摸着是因为把盘格式化时格式错误的原因,因为我使用一个redhat光盘安装的时候可以用。所以在尝试windows无果的时候,果断选择优盘安装Linux。
开始使用的是centos,结果当时有点犯二了,非得拿着一个bin的dvd去做优盘启动,那么大的文件,写入到优盘里,也把空间占的差不多了,后来发现硬盘里还有ubuntu系统,就拿来用了。
按照教程,用老毛桃制作了优盘启动。笔记本修改bios,把ust hdd+放到首选项,重启。好了,可以直接安装了,比硬盘要好弄一些,比光盘更好弄(可能是用光盘我有点不太习惯,也不熟悉),直接进入图形化安装界面。当以为万事大吉,直接各种点下一步就可以的时候,出现了不懂的地方。。。各种分区,跟Windows完全不一样啊,不过可以确定的是安装的系统肯定要在笔记本硬盘上,这个好辨认。当时能做到这个自己觉得还是可以的,虽然忘了一步挺重要的,就是启动引导所放的位置。现在当然能想到,因为碰到了安装系统后不插上优盘没法启动的问题。。。上网各种搜,总结下来发现是启动引导放的位置不对,我的应该是把引导安装在优盘里了。
必须得改啊,总不能总是一直插着优盘,虽然说启动后就可以拔下来了~~(忽然想到,是不是那种类似Ukey的东西,是不是就是使用这种类似的方式,让那些没有Ukey的人不能启动一些特殊的机器?好吧,其实只是猜想,自己并不清楚)
找了半天,没有找到适用的可以解决这个问题的方法,反正有时间,直接重做了一个优盘启动系统,这次做优盘启动系统的时候按照《https://www.linuxidc.com/Linux/2012-11/74695.htm》里的过程,修改了一下快捷启动方式,改成了syslinux,暂时还不知道这个起啥作用的,应该是在安装系统时候,把启动引导写入到系统所在盘吧。
在重新安装系统的过程中,这次到选择安装类型的时候,注意到了,需要选择安装系统到的盘,果断选择笔记本硬盘,然后选择继续的时候,会提示没有定义跟文件目录,百度之,根据《https://blog.sina.com.cn/s/blog_a66cf8120101awej.html》里的说明,给自己系统的sda1设置挂载点“/”,然后继续,果断可以。
现在正在安装中~~ 有点慢  不过有时间 慢慢等~

Oracle trigger

今天需要处理一个问题,大致为:原来的页面在上一个节点到本节点转换的时候会给表赋默认值,本页面显示默认值。但是如果将某个或某些字段强制清空后并保存,会将空值存到表中。在做下一期的时候,拷贝上期本表时,判断如果为空则重新赋值为默认值。这样导致前一期与后一期数据不一致。客户要求一致。那么,为了在不动程序的前提下搞定这个问题,就想到了写个触发器。
触发事件:引起触发器被触发的事件。 例如:DML语句(INSERT, UPDATE, DELETE语句对表或视图执行数据处理操作)、DDL语句(如CREATE、ALTER、DROP语句在数据库中创建、修改、删除模式对象)、数据库系统事件(如系统启动或退出、异常错误)、用户事件(如登录或退出数据库)。
触发时间:即该TRIGGER 是在触发事件发生之前(BEFORE)还是之后(AFTER)触发,也就是触发事件和该TRIGGER 的操作顺序。
触发操作:即该TRIGGER 被触发之后的目的和意图,正是触发器本身要做的事情。 例如:PL/SQL 块。
触发对象:包括表、视图、模式、数据库。只有在这些对象上发生了符合触发条件的触发事件,才会执行触发操作。
触发条件:由WHEN子句指定一个逻辑表达式。只有当该表达式的值为TRUE时,遇到触发事件才会自动执行触发器,使其执行触发操作。
触发频率:说明触发器内定义的动作被执行的次数。即语句级(STATEMENT)触发器和行级(ROW)触发器。
语句级(STATEMENT)触发器:是指当某触发事件发生时,该触发器只执行一次;
行级(ROW)触发器:是指当某触发事件发生时,对受到该操作影响的每一行数据,触发器都单独执行一次。
编写触发器时,需要注意以下几点:
触发器不接受参数。
一个表上最多可有12个触发器,但同一时间、同一事件、同一类型的触发器只能有一个。并各触发器之间不能有矛盾。
在一个表上的触发器越多,对在该表上的DML操作的性能影响就越大。
l 触发器最大为32KB。若确实需要,可以先建立过程,然后在触发器中用CALL语句进行调用。
在触发器的执行部分只能用DML语句(SELECT、INSERT、UPDATE、DELETE),不能使用DDL语句(CREATE、ALTER、DROP)。
触发器中不能包含事务控制语句(COMMIT,ROLLBACK,SAVEPOINT)。因为触发器是触发语句的一部分,触发语句被提交、回退时,触发器也被提交、回退了。
在触发器主体中调用的任何过程、函数,都不能使用事务控制语句。
在触发器主体中不能申明任何Long和blob变量。新值new和旧值old也不能向表中的任何long和blob列。
不同类型的触发器(如DML触发器、INSTEAD OF触发器、系统触发器)的语法格式和作用有较大区别。
———————
以上部分为需要注意的内容,但是相关内容更多,还是先不拷贝了。来源:
<https://www.cnblogs.com/huyong/archive/2011/04/27/2030466.html>