• DAnalyzer 1.2发布啦 -- Weblogic与Directory协议分析工具

  • SQLView -- 可视化的Weblogic JDBC DEBUG

/Articles

用getopts处理全部的选项和参数

用getopts可以编写出像模像样的很规范的获取命令行参数/选项的参数。根据它的使用方法,命令参数列表存放在 optstring 中,变量名为name,后续还可以跟上参数。 getopts: usage: getopts optstring name [arg] 命令行的选项还分两种 带值的选项 不带值得选项(其实就是flag开关) 所以获取命令行需要处理三种数据 带值的选项 不带值得选项 参数列表 比如构造一段opt.sh,带值的选项有 -a -b -c, flag选项有 -x -y -z ,参数列表为 hello和world 执行opt.sh可能的情形为:...

权限转换的Shell脚本

使用chmod可以使用+,-或者=符号给u,g和o三组赋予权限。虽然字面上非常好理解,但是我还是最喜欢直接用八进制组一次性赋值。分享2个自己写的脚本,用来解析权限在字面和八进制之间的快速换算。 字面到八进制组的转换 命令方式为: p2o.sh permission_text 比如:p2o.sh rwxr-xr-- # p2o.sh # permission to octal # usage: p2o.sh rwxr-xr-- # author: jiechencn@qq.com permission=$1 for (( i=0; i<${#permission};...

标准输入和参数的管道传输

一个进程通过管道把自己的标准输出流作为标准输入流传输给第二个进程,这是最常用的。但是有时候第二个进程不支持接受标准输入流,只接受普通参数,这就需要对标准输入流做转换。 pipe 假设当前目录下有几个txt文件 $ find *.txt chinese.txt english.txt maths.txt name.txt 通过管道传输,find *.txt 的结果成为标准输出流,管道转换后,成为 grep 的标准输入流vvvv。这相当于把find的结果(多行字符串)作为输入流,传输给grep。所以grep对这个输入流(字符串)进行正则查找。 $ find *.txt | grep...

grep或sed快速定位大日志文件

客户的系统日志常常几个G以上,全部拿过来再分析的话网络传输非常耗时间,而且里面大部分日志都是很早之前的。介绍有两个非常简单好用又快速的方法,只截取大文件中有用的部分数据。 grep关键字的正则查询 我们总能知道一些错误日志的关键字。所以grep首先是最先想到。下面的过程就是怎么一步步优化grep命令,精确找到匹配项。 比如我们有个错误 “Node -1 does not exist in the cache”。找到它,很容易。 $ grep "^.\+Node -1 does not exist in the cache." stdout.log...

用Join像SQL Outer Join一样合并多文件

曾今处理过一个问题,帮助用户合并多个CSV文件,不需要编程(编程一定会涉及到又是循环又是匹配再填充),Linux下一个join命令,逐步调优,再重定向输出。 Shell一定是一个逐步调整优化的过程,没有人能完整记住所有参数 join命令的设计和SQL中的等值连接非常类似,默认它是一个自然联结。它支持: 默认:自然联结 - 以两个文件的第一列字段为key进行等值联结 inner join -a 1: 左外联结 left outer join -a 2: 右外联结 right outer join -a 1 -a 2: 全联结 full outer join...

cd目录的快速跳转

cd命令非常简单,日常使用其实也没有什么需要特别技巧的东西。但是下面的一些小技巧,非常有利于操作效率。 回到主目录 cd ~ 回到前一个访问过的目录 cd - 多次执行 'cd -',只会在当前目录和前一个目录中来回切换。 跨目录快速跳转 CDPATH环境变量为cd命令定义一个cd自己的查找目录。然后如果想要进入这个目录的子目录,可以直接 'cd 子目录',无论当前pwd是在哪个目录下。 比如,定义CDPATH的查找目录列表为:当前目录;主目录;/home/oracle/temp/p1/目录和/home/oracle/temp/p2/目录 export...

用/dev/null和/dev/zero更改文件

/dev/null的行为和/dev/zero看起来,有相反的作用,有时又相似。/dev/null就像无底洞,吃掉被指定的重定向。而/dev/zero能为目标文件提供连续的数据流填空。他们的作用可能还不止这些。但是我一般用它们做下面最常用的用途。 /dev/null清空文件 /dev/null常常用来吞掉被重定向的数据。反过来,它可以被当作输入流的空文件。 在分析系统故障时,日志文件会有大量的数据产生。重现问题的时候,首先过滤掉无用的信息,再比对时间戳信息。日志文件太大,非常不好处理。最好的方法是:使用/dev/null把日志文件清空(不删除)。 cat /dev/null...

Oracle数据库学习-Sequence序列值

Sequence序列值大量应用在表中需要设置ID自动增长作为主键的地方,在当前数据库中属于全局级别。本文简单介绍Sequence的使用。 创建 根据Oracle的SQL定义,sequence的创建语法非常清晰。我们用下面的例子演示最常见的创建方法。 SQL> create sequence myseq 2 increment by 10 3 start with 100 4 nomaxvalue 5 nocycle 6 cache 5; 序列已创建。 已用时间: 00: 00: 00.00 ** increment by表示步长 **...

Oracle数据库学习-索引及常规使用

创建index十分简单,本文简单讲述组合索引、位图索引以及函数所以以及压缩索引,以及如何查看索引的空间使用情况。 数据准备 我们先创建一个employee表。 SQL> create table employee( 2 id number not null, 3 name varchar2(200) not null, 4 title varchar2(200), 5 sex varchar2(1) not null 6 ); 表已创建。 同时插入女性员工和男性员工多名...

Oracle数据库学习-视图的写操作

对于视图的操作,我们最常见的是创建并使用select操作符,但其实视图也是可写的,只是可写的条件比较苛刻。视图写操作实际上是针对视图定义中最外层from从句中基表的操作。本文详细举例说明在各种条件下视图的insert,update以及delete操作的实验。 准备工作 在开始之前,我们先准备两个表和各自的数据,两个表用主外键相互引用。 create table class( cno number(4) primary key, cname varchar2(10), loc varchar2(10) ); create table student( sno...

Oracle数据库学习-表管理

Oracle中的表有很多类型,本文章涉及Heap-Organized的Table,External Table和临时表,以及Index-Organized Table。 Heap-Organized Table 最常见的表就是Heap-Organized Table,在创建之初,可以指定ORGANIZATION HEAP,或者直接忽略此参数。Heap-Organized表中数据无序存储,由rowid物理地址唯一地标识每一行记录。 Heap-Organized表的创建可以指定表空间,存储参数,比如下面例子。 SQL> drop tablespace ZIGZAG_TBS0 2...

Oracle数据库学习-tablespace和datafile

每个数据库都由一个或者多个tablespace组成,每个tablespace又由多个datafile组成。表、索引等数据都存储在某个tablespace内。 默认的表空间 每个数据库实例创建的时候都会有以下的默认表空间 SYSTEM,存储数据字典等 SYSAUX,辅助表空间,存储AWR, Statspack等 TEMP UNDOTBS1,undo的tablespace USERS 创建tablespace 过程为 创建tablespace以及指定datafile 赋予用户使用tablespace空间的权限 创建数据库时指定table/index等存储...

1 2 3 4 5 6 7 8 9 10