查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

风之人生

人生如风,却无法如风般潇洒。

 
 
 
 
 
 

如何用好你的sed

2010-8-5 17:36:41 阅读232 评论0 52010/08 Aug5

      我估计有很多人在做shell开发时,不会用到sed这个工具,我们经常不回去使用它,即使使用,也常常是做查找替换来使用,但是他的确是一个很强大的工具,有很多功能我们可能常常忽略掉。

       先来看看sed一般的用法,就是我们最常用到的直接替换,在这里注意,sed是一个流编辑器,什么是流呢, 如果你经常用管道的话,应该就很熟悉,可以把输入输出看成像流水一样。这边是一些替换的例子。

sed s/white/black/ <old >new #把old文件里的white替换成black 输出到new文件里,或者

sed s/white/black/ old >new  #或者

echo white | sed s/white/black #仅作测试

从上面的例子看到,sed命令实际由这几部分构成:

s  替换命令

/../../  分隔符

white  查找字符,实际上应该是正则表达式

black  替换字符

我们再来看一个例子,如果我们把/usr/local/bin替换成/usr/bin

那么我们可以这样写 sed 's/\/usr\/local\/bin/\/usr/bin/' <old >new

天啊,太麻烦了,必须要这样写么,未必,我们的分隔符实际上可以用其他的字符来代替的。

作者  | 2010-8-5 17:36:41 | 阅读(232) |评论(0) | 阅读全文>>

一半火焰,一半海水

2010-7-29 14:27:46 阅读185 评论0 292010/07 July29

纵观这几天的我们的A股市场,真的是如坐了火箭一样的往上窜,真的是到了只怕你买不到,不怕你涨不起来的地步了。看到了这个中国经济的晴雨表,我很欣慰,中国经济真是好啊。然而真的是这样吗。随便看看新闻吧,给我们带来温暖的也只有股市了。中国现在面临自我出生以来最严重的洪水灾难,从东三省,华北,南方长江沿线,无一幸免。

曾几何时,我们引以为荣的三峡工程,现在除了拿出来被人戏谑调侃之外,大概也没有什么作用了吧。大连那边的污染还没清干净,松花江听说现在又有化学原料桶冲入到松花江内,不知道多少人的饮水要受到影响,而我在相关的报道里又看到了一句话,"对周围群众的生活影响不大",其实我早就料到影响不大了,但是这些周围的人最起码能够知道,对他们的生活影响到底有多大,即使真的是影响不大。他们不想像被紫金矿业弄死的鱼一样,翻白肚的时候还不知道为什么。

希望我们的那些受灾的人们,能够团结起来,克服困难,早日回到家园。

我们不缺火焰,但我们现在更多的是海水。

作者  | 2010-7-29 14:27:46 | 阅读(185) |评论(0) | 阅读全文>>

Oracle Mutex

2010-7-24 21:27:05 阅读534 评论0 242010/07 July24

在Oracle 10g release2里面,引入了一个新的锁机制,类似于以前的latch,叫做mutex.以下是关官方说明:

Mutex is the short form mutual exclusion object.

A mutex, similar to a latch, is a low-level serialization mechanism used to control access to a shared data structure in the SGA.

Serialization is required to avoid an object being:

- Deallocated while someone is accessing it

- Read while someone is modifying it

- Modified while someone is modifying it

- Modified while someone is reading it

Mutexes can be defined and used in different ways, as in the following examples:

- Each structure being protected by a mutex can have its own mutex (for example, a parent cursor has

作者  | 2010-7-24 21:27:05 | 阅读(534) |评论(0) | 阅读全文>>

Oracle EM重建

2010-7-7 20:30:44 阅读1736 评论0 72010/07 July7

最近比较忙,好久没有更新博客了,想想还是写一篇吧。

在oracle 10g中,EM是一个很重要的管理工具,由于种种原因,而我们经常会出现无法访问EM的情况,例如以下:

我们可以重建EM来解决这种类似的问题。解决方法如下

1. Drop the dbcontrol

[oracle@localhost ~]$ emca -deconfig dbcontrol db

STARTED EMCA at Jul 7, 2010 7:39:51 PM

EM Configuration Assistant, Version 10.2.0.1.0 Production

Copyright (c) 2003, 2005, Oracle.  All rights reserved.

Enter the following information:

Database SID: primary

Do you wish to continue? [yes(Y)/no(N)]: Y

Jul 7, 2010 7:39:59 PM oracle.sysman.emcp.EMConfig perform

INFO: This operation is being logged at /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/emca/primary/emca_2010-07-07_07-39-51-PM.log.

作者  | 2010-7-7 20:30:44 | 阅读(1736) |评论(0) | 阅读全文>>

SHELL入门(1)

2010-5-27 13:47:26 阅读278 评论0 272010/05 May27

这不是一篇正式的技术文档,只是一个入门的简介,大牛和技术高手请绕道,省的耽误您的时间。如果你觉得有哪里写的不对,希望指教。

1.shell 是什么?

       说这个问题之前,首先我要问你,如果你以前使用的是windows,你用什么方法和操作系统交互?大多数情况下,应该是鼠标的点击。那么,忘记以前你的那些习惯吧,欢迎来到Linux/Unix世界,我们对于操作系统内核,也就是其核心功能,我们使用的是另外一种全新的交互方式,我们通过shell(外壳)和kernel(内核)交互。那么很简单,shell就是我们和unix内核交互的工具,我们通过shell告诉os我们要做什么,他做完后再将结果返回给shell.如下图:

2. 为什么要用shell?

       在讲这个问题之前,有几个概念要提一下,在编程语言里,有一类叫做编译型语言,例如Pascal, C,C++,Java都属于这一类,他们的特点是高效,因为把源代码转化成目标代码后,就能运行,但是同时他们也具有很明显的缺点,他们由于运行在底层,多半是和一些字节,整数等对象打交道,所以例如文件操作很难用简单的代码来实现。而我们的shell属于解释型的语言,他由解释器读入程序代码,然后在通过他来进行转化,变成自己内部的形式,然后在执行。所以,如此一来,shell的优点和缺点就很容易想到了。缺点就是效率低,他的效率要远远低于编译型语言,所以我很不明白的是很多人经常用php和java来

作者  | 2010-5-27 13:47:26 | 阅读(278) |评论(0) | 阅读全文>>

Oracle Installation in fedora 12

2010-5-26 17:48:11 阅读205 评论0 262010/05 May26

1. Check the prerequisite software.

[root@coolma ~]# grep MemTotal /proc/meminfo

MemTotal:        1276452 kB

[root@coolma ~]# grep SwapTotal /proc/meminfo

SwapTotal:       2555896 kB

[root@coolma ~]# df -k /tmp

Filesystem           1K-blocks      Used Available Use% Mounted on

/dev/mapper/vg_coolma-lv_root

                      54964304   5825496  46346772  12% /

2. Configure network.

[root@coolma ~]# cat /etc/nsswitch.conf | grep hosts

#hosts:     db files nisplus nis dns

hosts:      files dns

[root@coolma ~]# hostname

coolma.sjtu.edu.cn

[root@coolma ~]# domainname

(none)

3. Create the user and group

[root@coolma ~]# /usr/sbin/groupadd oinstall

作者  | 2010-5-26 17:48:11 | 阅读(205) |评论(0) | 阅读全文>>

Oracle 的正则表达式

2010-5-12 18:38:28 阅读175 评论0 122010/05 May12

       做过开发的朋友可能都会对正则表达式这个东西不太陌生,一般的开发语言里面都有对正则表达式的支持,而在Oracle10g中,也加入了对正则表达式的支持。主要是通过4个函数来实现的:REGEXP_LIKE、REGEXP_INSTR、REGEXP_SUBSTR、和REGEXP_REPLACE。 它们使用POSIX标准的正则表达式代替了老的百分号(%)和通配符(_)字符。

     那么我们来看看这个正则表达式怎么用。

特殊字符:

'^' 匹配输入字符串的开始位置,在方括号表达式中使用,此时它表示不接受该字符集合。

'$' 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 'n' 或 'r'。

'.' 匹配除换行符 n之外的任何单字符。

'?' 匹配前面的子表达式零次或一次。

'*' 匹配前面的子表达式零次或多次。

'+' 匹配前面的子表达式一次或多次。

'( )' 标记一个子表达式的开始和结束位置。

'[]' 标记一个中括号表达式。

'{m,n}' 一个精确地出现次数范围,m=<出现次数<=n,'{m}'表示出现m次,'{m,}'表示至少出现m次。

'|' 指明两项之间的一个选择。例子'^([a-z]+|[0-9]+)$'表示所有小写字母或数字组合成的字符串。

作者  | 2010-5-12 18:38:28 | 阅读(175) |评论(0) | 阅读全文>>

日记账删除时FRM-40501

2010-5-11 21:20:02 阅读771 评论0 112010/05 May11

  今天,有个用户反映在删除batch时,出现了这么一个错误,FRM-40501 ORACLE error: unable to reserve record for update or delete.经过分析,估计是什么东西把一张基表锁住,就是JE_GL_BATCHES这张表。可以通过以下SQL来检查。

SELECT aob.object_name,

aob.object_id,

vob.process,

vob.session_id

FROM all_objects aob, v$locked_object vob

WHERE aob.object_id = vob.object_id

and aob.object_name like '%JE%GL%';

果然查处有个session将此表锁住,然后我们就可以找到这个session,v$seesion看了一下状态,是inactive,估计是客户端上的僵死进程,所以我们可以使用alter system kill session 'sid,serial#'来杀掉他。

DECLARE

v_sid NUMBER := &sid;

作者  | 2010-5-11 21:20:02 | 阅读(771) |评论(0) | 阅读全文>>

分手指南--(转自连岳)

2010-4-26 16:19:58 阅读256 评论0 262010/04 Apr26

1. 分手的可能性永远存在,任何行为与契约都保证不了,我跟他上床了,我跟他结婚了,我跟他有孩子了,我重病快死了,我长得帅,我有钱....任何一条或几条都绑不住人。爱人有腿,随时会走,这种危机感会让你时刻证明自己值得爱。

2. 没有绝对合理的分手理由。再烂的人也不会觉得:就是应该跟我分手。所以分手的理由生硬粗糙、无迹可寻是正常的,不过是“我不再爱你了”的变种。这说明主动提出分手的人,最好说:我不爱你了。别东拉西扯。

3. 不是“他们不爱你”,是他不爱你。你的价值不会下降,不要试图证明你可以更可爱,你证明过了,别做无用功。

4. 自残乃分手大忌,无论这个方法多么深受广大情人喜爱,也无论它在中国传统爱情关系中占据多么重要的地位。切记:我们绝不会因为一个人血肉模糊就爱他。

5. 也别违心的祝福他,以德报怨不是常人能做的事情,以直报怨即可,不要为了展示一时风度而懊恼。

6. 干净切割。不要尝试发现他“是不是还有一点爱我呢”?你多半找得到这种爱的遗迹,这会让你产生等候宠幸的侥幸心理;也不要尝试发现他“离开我是不是生活得 不开心呢”?你一定找得到他的不开心,就像你找得到任何人的不开心一样,这会让你产生他浪子回头的侥幸心理。侥幸催人老,人老更侥幸。

7. 不要过度倾诉,他人的不幸是我们的快乐源泉。像那句俏皮话所说的:有什么不开心的事?说出来让我们开心开心。

8. 不要迅速寻找替身。也许人人都有几个暗恋者,更有不少借着提供肩膀吃豆腐的小人。你若试图用一个新悲剧取代一个悲剧,总是会得到丰富的回报:你将得到两个悲剧。

作者  | 2010-4-26 16:19:58 | 阅读(256) |评论(0) | 阅读全文>>

如何在Linux下使用NTFS分区

2010-4-22 21:49:35 阅读1300 评论1 222010/04 Apr22

  在linux操作系统中,不支持直接挂载NTFS分区的磁盘,那么我们可以使用如下方法,来进行挂载。

   首先,去http://www.tuxera.com 这里下载一个NTFS-3G的软件,按照说明安装好了以后。

   然后 fdisk -l 找出我们的NTFS分区,例如:

   Disk /dev/sdb: 320.0 GB, 320072933376 bytes

255 heads, 63 sectors/track, 38913 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot      Start         End      Blocks   Id  System

/dev/sdb1   *           1       31871   256003776    7  HPFS/NTFS

/dev/sdb2           31872       38913    56564865    7  HPFS/NTFS

然后建立挂载点,并且挂载。

mkdir /dev/win1 /dev/win2

[root@blackbox ~]# mount -t ntfs-3g /dev/sdb1 /dev/win1

The disk contains an unclean file system (0, 1).

作者  | 2010-4-22 21:49:35 | 阅读(1300) |评论(1) | 阅读全文>>

非诚勿扰--一个操蛋的节目

2010-4-21 17:19:50 阅读192 评论2 212010/04 Apr21

  前几天我迷上了江苏卫视的非诚勿扰,从这个节目里,我们看到了一个个有情人牵手归去,而且在一个很狭隘的空间和时间内,我们实现了一种一见钟情似的速配,但是他很操蛋,这是一个音乐人在参加完非诚勿扰后写下的文章。

不得不说《非诚勿扰》是一个非常好看的电视节目。我家电视很土鳖,收的台非常少,所以我只能在网上看这个让人痛快的真人秀电视节目。让人痛快的是这里面有一个非常精彩的主持人,心理专家也非常可爱,这两个光头出尽了风头但是让人喜欢,有那么多美好的姑娘,最重要的是有那么多极品男。我常想,要是我去参加这个节目,24盏灯,能留下几盏,会不会所有24盏灯瞬间为我所灭。

自从我在豆瓣发了征友启事之后,小麦总在撺掇我,说:“黑刀你赶紧去参加《非诚勿扰》吧!”语气坚定,毫不调侃。我跟她解释说:“像我这样没房没车没存款没学历没身高没体重人老猪黄的农村大叔,参加这样的节目不是自取其辱是什么?”小麦很不屑我的回答,说:“你这个自卑的王八蛋,当年的你完全不是这样的。”我说:“过了30岁之后,其实我早就不自卑了,我只是看了这么多期节目之后,觉得在这个电视平台上,你的缺点会被瞬间放大,姑娘们在短短10多分钟里面完全不能了解到一个人的本质,她们更容易从你的基本外在条件上去判断一个人。像我这种内在非常美的老男人,她们不会想要的。”小麦骂了我一句“懦夫”之后说:“算了,我去睡了。改天去给你改善生活。”

我在想,我在豆瓣这么广阔的天地都没能征集到一位女友,在一个娱乐电视节目上怎么可能找到一位女朋友?我的朋友王磊同学虽然当时在节目中找到了一个姑娘跟他手拉手走下了舞台,但

作者  | 2010-4-21 17:19:50 | 阅读(192) |评论(2) | 阅读全文>>

使用SQL脚本给EBS用户增加职责(原创)

2010-4-19 15:55:09 阅读1239 评论2 192010/04 Apr19

那天有个哥们在问,他碰到了一道面试题,说是怎样用PL/SQL给用户加入一个新的职责,我听到这个问题的时候,第一反应就是,这个题目本身很无聊,但是对于IT民工,被人刁难也是正常的,就好比矿难死人是一件不好的是,我们很悲痛,而如果矿难经常死人,我们就不应该那么悲痛了。

       那么还是回到这个题目,这个功能其实oracle自带了一个程序包,就是FND_USER_PKG这个包,里面有很多方法,但是他调用的参数有些我们需要到数据库去查。一般的来讲,我们加一个职责,只要知道他的用户名,职责名,和实效日期就可以了,而且我们一般来讲我们的描述为空,安全组为STANDARD(注意这个假设),那就可以通过以下的代码来通过SQLPLUS来加职责了,和应用上操作一样简单。

       我建立了一个procedure,然后每次加的时候,直接调用即可

 create or replace procedure respadd(username varchar2,

                                        

作者  | 2010-4-19 15:55:09 | 阅读(1239) |评论(2) | 阅读全文>>

Oracle EBS 面试题

2010-4-19 10:17:47 阅读2889 评论0 192010/04 Apr19

In my first post i am planning to share whith you some applicatiosn DBA querstions that i have gathered from various sources.

1.How many ORACLE HOME are Oracle Apps and whats significance of each ?

There are three $ORACLE_HOME in Oracle Apps, Two for Application Tier (Middle Tier) and One in Database Tier.

# ORACLE_HOME 1 : On Application Tier used to store 8.0.6 techstack software. This is used by forms, reports & discoverer. ORACLE_HOME should point to this ORACLE_HOME which applying Apps Patch.

# ORACLE_HOME 2: On Application Tier used by iAS (Web Server) techstack software. This is used by Web Listener & contains Apache.

# ORACLE_HOME 3:

作者  | 2010-4-19 10:17:47 | 阅读(2889) |评论(0) | 阅读全文>>

Logminer 实践笔记

2010-4-16 15:16:44 阅读256 评论0 162010/04 Apr16

Logminer in action

1. 简介

在oracle数据库中,提供了一个很好的工具,使我们能够对于我们的重做日志文件来进行分析,使用这个工具我们可以很方便的对我们所做的所有动作来进行查看。首先来看看logminger能给我们带来什么好处。

1)明确的查找出我们确定的一种逻辑错误。

2)在我们细粒度的恢复中可以确定我们要做什么。

3)性能调优。

4)由于在我们的重做日志里面包含了DML和DDL,所以我们可以来进行审计。

2. 实现

那么如何来使用Logminer呢?

在实现时,必须要有一个源数据库,我们从源数据库来生成redo,或者说从源数据库取得redo,然后再到我们的mining数据库来进行分析(可以是源数据库或者不同的数据库),然后还需要一些内部的字典来帮助我们查看redo里的内容,把内部记录的数据转化成外部能够查看的数据。

比如说我们执行以下sql:

INSERT INTO HR.JOBS(JOB_ID, JOB_TITLE, MIN_SALARY, MAX_SALARY)  VALUES('IT_WT','Technical Writer', 4000, 11000);

如果我们没有logminer dictionary,就只能看到logminer里面的这些东西:

insert into "UNKNOWN"."OBJ# 45522"("COL 1","COL 2","COL 3","COL 4") values

作者  | 2010-4-16 15:16:44 | 阅读(256) |评论(0) | 阅读全文>>

EBS 11i中如何迁移个性化

2010-4-13 14:20:12 阅读419 评论0 132010/04 Apr13

在EBS中提供了一种很好的方法,就是对于我们的一个function,我们可以通过不同的参数,或者其他不同的行为,我们可以让这个function提供不同的功能。那就是我们的personalize(个性化),一般的来讲,我们可以在测试环境将个性化做好,然后通过我们的FNDLOAD工具将这些个性化的东西迁移到正式环境。

在我们迁移之前,一定要记住一句话“个性化是对function而言,而不是form。”关于function和form的关系,不是我们本文要讨论的问题,有时间我可以写一篇关于基本概念的文章,来讨论这个。

首先我们要做的第一步当然是--把长颈鹿从冰箱拿出来,我们要先从我们的测试或开发环境导出我们的客户化。FNDLOAD <userid>/<password> 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct <filename.ldt>    FND_FORM_CUSTOM_RULES function_name=<function name>

然后我们要去正式环境把他导入

FNDLOAD <userid>/<password> 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct <filename.ldt>

最后,别忘了关上冰箱门啊。

BTW: 关于这个个性化,有几个表你可以去看看。

作者  | 2010-4-13 14:20:12 | 阅读(419) |评论(0) | 阅读全文>>

查看所有日志>>

 
 
 
 
 
 
 
 

上海市 浦东新区 金牛座

 发消息  写留言

 
一介草民,苟活于上海滩,以甲骨文为生,偶尔对一些国家大事有些兴趣,日常无事常以丝竹之声为乐。
 
近期心愿He who dies with most toys dies.
博客等级加载中...
今日访问加载中...
总访问量加载中...
最后登录加载中...
 
 
 
 
 

日志分类

 
 
日志分类列表加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 
 
 
 
 
 
网易云音乐 曲目表歌词秀
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
心情随笔列表加载中...
 
 
 
 
 
 
 
列表加载中...
 
 
 
 
 
 
 
模块内容加载中...
 
 
 
 
 
 我要留言
 
 
 
留言列表加载中...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018

注册 登录  
 加关注