aiirii's profile孤独的狙击手PhotosBlogLists Tools Help

Blog


    3/28/2008

    oracle修改用户名

    conn as user1_rtt
    SQL> SELECT COUNT(*) FROM USER_OBJECTS;
     
    conn as sys
    SQL> select user#, name from user$;
    SQL> update user$ set name='USER1_RTT' where name='USER2_RTT'; 
    SQL> commit;
    SQL> alter system checkpoint;
    SQL> alter system flush shared_pool;
    SQL> select user#, name from user$;
    SQL> alter user USER2_RTT identified by "testttt";
     
    conn as user2_rtt
    SQL> SELECT COUNT(*) FROM USER_OBJECTS;

    ORA-38760: This database instance failed to turn on flashback database

          今天重启数据库的时候,发现如下错误:
    ORA-38760: This database instance failed to turn on flashback database
           数据库环境:linux 64x86 + oracle 10.2.3
           在metalink找到解决方法,过程表达的很详细:
    Subject:  Unable To Turn Off Database Flashback
      Doc ID:  Note:416929.1

    Symptoms

    there are problems with flashback database, however, unable to turn off flashback database so that
    the database can be opened:
    SQL> alter database flashback off;

    Database altered.

    SQL> alter database open;
    alter database open
    *
    ERROR at line 1:
    ORA-38760: This database instance failed to turn on flashback database
    .

    Cause

    there is a restore point in the database

    checked v$restore_point
    .

    Solution

    check whether restore points exist:
    SQL> select flashback_on from v$database;
    SQL> select name from v$restore_point;

    If so, drop them:
    SQL> drop restore point <name>;
    SQL> alter database flashback off;
    SQL> select flashback_on from v$database;
    SQL> alter database open;
          总结,手工创建 flashback 的 restore_point 要小心,过了一段时间,要及时删除。
     
    3/27/2008

    Amazing tour of Shangri-la

           虽然使用了Shangri-la做标题,但其实这次四天的行程,有三分之二是在丽江,三分之二的精彩也在丽江,发生的故事,也在丽江古城。
           带我们团的导游,是个小姑娘,后来听说才19岁,漂亮天真,很有亲和力,就是经验似乎不足,但一路上,还是和大家打成一片,很开心。
     
           出发的早上,倾盆大雨,搞得很多人都淋湿着身子上旅游车,大家都开玩笑说贵人出门多遇雨。大家在机场候机的时候,有说有笑,开始互相拍照,已经逐渐进入状态。
           过安检的时候,一个老大哥被截住了,要求脱掉鞋检查,原来他穿的厚厚底的军靴,鞋底是衬有铁片加固的。
     
           到过的地方,很多已经遗忘名字,只是精彩还遗留在心中。遗憾的是,丽江这种地方,应该是花一个月到几个月的时间在这里慢慢消磨品尝才能体会其中的幽静清闲。
           丽江,香格里拉风景的优美,其实应该不亚于九寨沟,但由于到的第一天天色昏暗,下着雨,大打折扣,所以,始终让我觉得九寨的优美更胜一筹,相对的,这里的人文气息重了点,导游可讲述发挥的地方比较多。另外,这里的本地人似乎还比较纯朴(相对而言),东西不算贵,也没强买强卖的事情发生。
           
           下来飞机,已经是下午5点多,来了个本地的导游负责接待我们,这个后来被我们称为“坏女人”的导游,一路给我们介绍一些本地风俗习惯,如本地以胖,黑为美,帅哥美女在这里的称号是:胖金哥,胖斤妹,而一般太瘦不受欢迎的就叫:二两肉,苹果这里经常音误为:屁股,买银器经常简称为:卖yin, 再见为:泪多多(纳西话),到了香格里拉,又有了新称呼:卓玛、扎西,扎西德乐(藏语)。大家听得很有趣,很多同事还和她打趣。到了旅馆稍事休息,就来到了丽江古城,天下着微雨,但并没有减少我们的游兴,转了一圈后,就被带到古城里面一家小院吃饭。
       吃饭的时候,发生一些插曲,两个同事不见了,打手机也都没接,搞得有点急,不过,他们都是小男孩,大家觉得问题不大,继续吃。旅途劳累,都很饿了,上了饭,大家都抢着装饭,一个同事shu, 慢了点,没装到饭,刚好上汤,他很开心:嘻嘻,你们碗里都装饭,我可以先盛汤喝! 那知道,下一盘上了一小盘肉,大家一拥而夹,一下就空了,shu汤还没喝完了,没夹到肉,很郁闷,而大家就以此为话题,笑他。有了先例,大家对下一个要上的菜都严阵以待,是一盘炒鸡蛋,bin哥刚拿起盛饭的勺子舀了一勺饭,shu的汤还没喝完,上来的已经变成一个空盘了,搞得他们哇哇大叫,大家越发开心,
           吃完饭,外面继续下着雨,大家自由活动,各自走散在古城里面逛街购买东西。我和几个同事转了一圈了,来到一个驴友之家的酒吧,嗯,酒比较贵,小瓶的也需要30多块一瓶。其他同事,也陆续到来,我们来的人比较多,坐了4张台。聊天,喝酒,蹦迪,仍旧过得很开心。我由于感冒,不想太劳累,11点多就和几个同事先回,那知道,错过了后来发生的很多故事、“艳遇”,可惜,只能看同事的照片体会兼流口水!

           第二天一早六点多起床了,旅游团就这个不好,本来是出来玩的,偏偏要辛辛苦苦一早起来去赶景点,然后中间又带去购物浪费时间。导游带我们参观了一个东巴文化的地方,这里也发生很多趣事,有个祭祀的地方,中间很多壁画似的写实图案沿着台阶向上蜿蜒,记载着各种因果报应,人类起源,宇宙原理等,左边是鬼区,禁止拍照,右边是神区,就可自由拍照。

       我们被带到一个东巴神庙,学了一个新的规矩,只有神照人,不能人照(相)神。听一个高级喇嘛给我们讲解一些神谕之类的东西,然后,逐一和我们握手,如果他看顺眼(有缘人),这个师傅就会送一个经卷(丝状,卷成一卷)给对方,据说就可得到赐福保佑,我没得到,后来听一个得到的同事说,得到经卷的,需要捐香火钱,他掏了5块钱,另外一个低级别的喇嘛一下就捉着他的手:施主,至少必须捐100块,否则那个经卷要收回。呵呵,置之一笑。

       下午吃完饭,坏女人导游跟我们说,无法上玉龙雪山,封山了无法上,就算不封山,也需要排2、3个小时队才能上缆车,所以取消登山计划。直接带我们去看张艺谋编写的印象丽江表演,其实又是去购物。大家很不爽,毕竟这是这次旅游的三大点之一,派了一个同事去查探,手机给我们反馈,根本没封山,也很少人不需排队。得到消息后,我们立马和导游交涉,并且决定放弃观看谋兄的情景剧,选择去登山。“坏女人”的称号就这样得来,欺骗我们的感情,欺骗我们的钱。

       在入口处,有租棉衣和麦氧气筒的,我由于感冒,感觉体力有点不支,所以也和大家一样配备了相关设备以策完全。缆车道算比较长和险。
           上了雪山,立马被人忽悠了,购买了一堆到此一游,立此为证的证书什么的(一张纸,盖个戳)。到了山上刚好下着大雪,雪深及膝,很开心,很久没见到下这么大的雪了,大家都在玩雪仗,滑雪,当然还有照相,嗯,还有吸氧。

            晚上向香格里拉出发,据说近年这个香格里拉的归属之争,才由原来叫中甸的地方得到,这边主要就是看自然风观了。六个小时的车程,一路热闹不说,到了某个地方,车子突然停下来,然后就见到很多的军车经过,还有很多军人列队走过,接着,同车的一个同事,又在说香港台报道了香格里拉那里发生暴动,搞得大家都很紧张,我也发短信给几个我觉得经常上网,而且可能会帮到我的朋友,要求帮忙了解下,发给8个人,居然只有4个回复,搞得我比较郁闷,怎么关键时候,有些人就不理我了。回复的,都是没查到什么异常。 继续前进,后来想想,接我们的卓玛导游就是当地人,如果有问题,肯定不会不知道,肯定不会希望我们出事的。很晚才到达酒店。

           早上照样是早早起床,到了普达措国家森林公园,这里就是纯景色自然风光,现在还积着雪,据说到了5,6月满地绿草,才是最美的时候。
           下午到了虎跳峡,长江的源头部分,虽然是属于旱水季节,但水流依然很急。香格里拉这边,主要是纯景色,很不错,但主要是眼睛的享受,表达出来比较难。

            晚上又长途跋涉回到了丽江,在香格里拉的时候,由于听到暴动的信息,而导游又警告我们深夜外出不安全,所以,我们在那边都老老实实留在酒店休息。等回到了丽江,又恢复了“本色”,放下行李袋,又杀向古城,这次目标比较明确,只奔酒吧一条街,挑选了一会,选中了“千里走单骑”这间,发现我们的几个经理领导已经先坐在里面了,呵呵,又不用买单了,开始我们大概有10个人,一张台不够坐,大家就去蹦迪。过了会,一些年纪大点的同事先走,终于到了我们的时间,大家都睁大眼睛寻找”艳遇“的目标,最后锁定在隔壁台的几个女孩子,kv自告奋勇,过去邀请人家,聊了一会,一个人回来,以为失败了,那知道人家说过一会再过来。我们继续自己的喝酒聊天,过了一会,隔壁女孩子那桌的几个男性先走了(kv真是厉害,人家都带有男性朋友,还被他搞定,呵呵),然后我们重新找了张大桌,终于开始进入正题。

            几个女孩子似乎很会玩,不断教我们赌酒的新玩法,很多我都不懂,老实说。从最简单传统的剪刀石头布到复杂的5轮牌九show hand定胜负,到最后大家都喝多了,不想费神计算,又回复简单的剪刀石头布,她们似乎有骗酒喝的嫌疑,经常作弊,还是经常输,比我们喝多很多,呵呵。我开始输多赢少,但都是一口口喝的,中间,有一局show hand,我拿到的是顺子,而别人牌面上显示的只有一对,那不论对方拿到的是三条还是两对,我都是赢的。赌注也越来越大,8个人,好像有6个人都陆续主动放弃,只有一个女孩子还在坚持,最后,赌注升到2瓶酒,开牌,呵呵,结果,等对方喝完,感觉对方开始醉了。玩到很晚,直到酒吧都打烊了良久,才出来,大家依依不舍,又在古城入口处聊了很久才分开,...,

          最后一天,就在古城附近闲逛,去了几个地方,比如黑龙潭,相对前几天的劳碌奔波,这一天轻松了很多。       
          

    3/21/2008

    RMAN备份出现ORA-12162错误

        检查日志,发现在contab 中执行的rman备份出现如下错误:
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    ORA-12162: TNS:net service name is incorrectly specified
        而手工执行该脚本是执行成功的。
        第一个想到的就是环境变量的问题,在网上也找到同样的解释:
    ORA-12162 TNS:net service name is incorrectly specified
    The error message ORA-12162 "TNS:net service name is incorrectly specified", is very misleading.
    It suggests that there is a problem with the tnsnames.ora file contents, but in reality the message ORA-12162 "TNS:net service name is incorrectly specified" results from improperly setting your ORACLE_SID value.
    To fix this error in Windows, set your $ORACLE_HOME:
    c:> set ORACLE_SID=fred
    In Linux, these commands sets ORACLE_HOME and $ORACLE_SID as follows:
    ORACLE_HOME=/u01/oracle; export ORACLE_HOME
    ORACLE_SID=asdb; export ORACLE_SID
           原来在脚本里面,忘记 export ORACLE_SID
     
     
    另外一个问题解决,exp 远程一个数据库的时候,出现:oracle EXP-00091: Exporting questionable statistics.
    解决方法:
    select * from nls_database_parameters t where t.parameter=’NLS_CHARACTERSET’
    or
    select * from v$nls_parameters  where parameter=’NLS_CHARACTERSET’;
    查询值为:ZHS16CGB231280
    然后vi /home/oracle/.bash_profile
    export NLS_LANG=american_america.ZHS16CGB231280
    source /home/oracle/.bash_profile
     
    我是直接在exp 的 sh  脚本写下export NLS_LANG=american_america.ZHS16GBK
    3/19/2008

    杂谈-后知后觉

         最近几件事,发觉自己真的比较愚钝,都是事后才发觉原来是这样,或者我应该那样反应处理更好。 性格决定命运?还是? 也许,最后的事态发展,可以给我上一课,看是人定胜天,还是天意已定。
         另外,沟通也是个问题,最近连续失误,难道是太累导致反应迟钝的缘故?随便举几个:
         第一件事,负责的一个项目,直接就群发邮件宣布选择结果,后来想了下,应该和领导沟通汇报下,再发邮件,也许结果都是一样的,但效果就大不一样,进一步,应该是开个会,几个同事表决,这样更加安全合理,上次邮件系统项目已经吃过这个亏了,出了问题,都推说是我的决定,出问题,项目负责人是走不掉的,但至少不用授人于柄,减少一些攻击。
         这个项目很多微妙的东西掺杂在一起,比较麻烦;但归根到底,还是我不够机智去协调好各种关系;
         另外一件事,我觉得一些很好的设备,必须购买来解决当前的问题,但就是无法说服领导同意,应该也算是自己的失败,事前也许需要些伏笔铺垫,这样才会顺利些。
     
         最近另外一个体会就是,不是我不明白,这个世界变化得太快。也许自己真的有点老了吧。
     
         最近同事dd的行动,给我的体会,积极主动些,会给自己创造多些成功的机会,甚至败中取胜。嗯,结果如何,拭目以待吧,谁都无法确定明天的事情。但这种积极的精神,我还是要多学学,也许这样自己得到的机会也多些。
     
         火箭终止了连胜,意料之中,但还是失望,潜意识还是期待奇迹发生的。但失败不是终结,还要看接下来的战绩,才能判定这支球队是否已经是强队了。
     
         周六公司组织去旅游,在四川九寨和云南丽江中,我选择了去云南,这个周六出发。但总有点还没准备好,就要出发的感觉。
         CSDN在北京的开发大会,也邀请我参加,一直没下定决心去,如果去,那应该是下个周五出发,比较劳累。
     
          最近,负责的系统,又是故障频频,出了n多问题,能力 + 运气,还是度过了很多难关。
          不知道为何想到一句歌词“你看到我假装的不在意,听不到我在夜里独自哭泣”,也许可以修改成:“你看到业务系统的流畅运行,却不知道我夜里独自加班”。
          还是潜在很多隐忧,但现在这个形势,只能一步一步来吧。
     
          同事小L, 最近工作岗位调动过来帮我手后,还是分担了一部分工作,第一个月,也积极主动多了,但还是那个老毛病,有事情不汇报,发现问题,自己不能解决,没有及时反馈。 我对他的期望有两个:第一,能够帮忙做到事,毕竟,这是工作,不是学校,需要成果;第二,希望能够学到新的知识,渐渐独立处理一些工作;
    3/10/2008

    linux lvm动态管理空间

         LVM逻辑盘卷管理应该是一个系统磁盘管理的趋势,可以减少系统安装规划的难度,linux的lvm虽然和aix使用上相比还差很多,但也可以减轻一些系统管理员工作,避免一次就将所有的磁盘容量分配掉,造成个别空间的浪费,而个别空间运行一段时间后又剩余空间不足!
         可能日常使用比较多就是建立vg, lv, 扩展lv空间,特别是最后一个。之前测试过,都很正常,在上周操作,却老是出现错误,后来,发觉是一个低级的错误造成。
         简单的测试如下:

    一些帮助命令

    [root@jxdb2 ~]# lvm help
    [root@jxdb2 ~]# lvm version
      LVM version:     2.02.21-RHEL4 (2007-03-26)
      Library version: 1.02.17-RHEL4 (2007-02-02)
      Driver version:  4.5.5

    [root@jxdb2 ~]# lvm lvresize --help

     

    检查当前分区大小

    [root@jxxdb2 ~]# df -h

    Filesystem            Size  Used Avail Use% Mounted on

    /dev/mapper/VolGroup00-LogVol00

                           15G  3.7G  9.9G  27% /u01/oracle/oradata

     

    [root@jxxdb2 ~]# cat /etc/fstab

     

    检查vg还有多少空间没有分配以及当前lv的大小

    [root@jxxdb2 ~]# vgdisplay | egrep "Volume group|VG Name|Alloc PE|Free  PE"

      --- Volume group ---

      VG Name               VolGroup00

      Alloc PE / Size       610 / 19.06 GB

      Free  PE / Size       11107 / 347.09 GB

     

    [root@jxxdb2 ~]# lvdisplay | egrep " Logical volume|LV Name|VG Name|LV Size"

      --- Logical volume ---

      LV Name                /dev/VolGroup00/LogVol00

      VG Name                VolGroup00

      LV Size                14.50 GB

      --- Logical volume ---

      LV Name                /dev/VolGroup00/LogVol01

      VG Name                VolGroup00

      LV Size                4.56 GB

     

     

    离线操作,如果umount 不行,确定服务停止的情况下,使用umount -l

    [root@jxxdb2 ~]# umount /u01/oracle/oradata

     

    动态增加2G的大小

    [root@jxxdb2 ~]# lvextend -L+2G /dev/VolGroup00/LogVol00

      Extending logical volume LogVol00 to 16.50 GB

      Logical volume LogVol00 successfully resized

     

    或者直接指定大小,用如下:

    [root@jxxdb2 ~]# lvextend -L 18G /dev/VolGroup00/LogVol00

     

    检查分区并自动调整文件系统到分区的新容量

    [root@jxxdb2 ~]# e2fsck -f /dev/VolGroup00/LogVol00

     

    [root@jxxdb2 ~]# resize2fs /dev/VolGroup00/LogVol00

     

    重新mount分区

    [root@jxxdb2 ~]# mount /u01/oracle/oradata

     

    检查修改后的大小

    [root@jxxdb2 ~]# df -h

    Filesystem            Size  Used Avail Use% Mounted on  

    /dev/mapper/VolGroup00-LogVol00

                           17G  3.7G   12G  24% /u01/oracle/oradata

     

     

    [root@jxxdb2 ~]# lvdisplay | egrep " Logical volume|LV Name|VG Name|LV Size"

      --- Logical volume ---

      LV Name                /dev/VolGroup00/LogVol00

      VG Name                VolGroup00

      LV Size                17.0 GB

      --- Logical volume ---

      LV Name                /dev/VolGroup00/LogVol01

      VG Name                VolGroup00

      LV Size                4.56 GB

     
    直接在线操作 
    http://www.redhat.com/magazine/009jul05/features/lvm2/
    lvextend -L+10G /dev/myvg/homevol
    ext2online /dev/myvg/homevol
     
    减少逻辑卷大小
    先执 e2fsck, 再执行 resize2fs,然后才 lvreduce
    [root@jxdb2 /]# umount /vm
    [root@jxdb2 /]# e2fsck -f /dev/VolGroup00/LogVol02
    [root@jxdb2 /]# resize2fs /dev/VolGroup00/LogVol02 20G
    [root@jxdb2 /]# lvreduce -L 20G /dev/VolGroup00/LogVol02
      WARNING: Reducing active logical volume to 20.00 GB
      THIS MAY DESTROY YOUR DATA (filesystem etc.)
    Do you really want to reduce LogVol02? [y/n]: y
     
    [root@jxdb2 /]# mount /vm
    [root@jxdb2 /]# cd /vm
    [root@jxdb2 vm]# ls
    [root@jxdb2 /]# du -sm /vm
    检查数据无丢失,但这个操作要很很小心,提示也说可能:MAY DESTROY YOUR DATA
     
    删除逻辑卷以前首先需要将其卸载,然后删除:
    # umount /dev/VolGroup00/LogVol02
    # lvremove /dev/VolGroup00/LogVol02

    3/6/2008

    oracle:segmentation fault

          装过好多次,起码20-30次oracle 10g x86-64 了,包括4-5个生产环境,印象中一直都比较顺利,那知道今晚错误连连。
      本次环境是 rhel 4.5 x86-64 + oracle 10.2.0.1 + patch 10.2.0.3
          首先是安装到85%的时候,老是link出错,提示:Error in invoking target 'client_sharedlib' of makefile .../network/lib/ins_net_client.mk, 想想,这次机器安装配置,唯一不同的就是oradata分区使用了LVM,但还没到建库的时候,怎么可能出现这个错误。照之前的经验,如果link有问题,一般是安装少了某个包,或者版本不对,浪费了两个小时在分析,包括反复检查是否安装少了那个rpm,还有lvm是否和oracle之间有bug, 后来在metalink查到,有一个安装grid control agent的类似错误,提到必须安装对应操作系统位数的版本。
          检查了下,发觉我不小心,copy了一个32位的oracle安装包,难怪出错。重新上传一个64位的oracle 10.2.0.1安装包,一路顺利安装下来。
     
          以为很快可以解决问题,那知道,建库的时候,dbca最后一步,按OK,老是没反应。
          运行    lsnrctl start  出现 segmentation fault,这个错误,之前是9i才经常出现,是gcc版本有问题。
          按以前网上的提示:
    1. cd /usr/bin (as root)
    2. mv gcc gcc.script
    3. mv g++ g++.script
    4. ln -s gcc32 gcc
    5. ln -s g++32 g++
    6. login as oracle software owner (make sure environment is correct)
    7. cd $ORACLE_HOME/bin
    8. relink all
       重新运行dbca, 终于正常。推断,前面检查是否安装gcc包的时候,可能不小心,重复安装了一次32位的,导致gcc版本出问题,以致出现了本次错误。浪费了不少时间。

    人性的弱点续之招商信用卡电话陷阱

          今天又接到那个保险公司MM的电话,聊天中,给了我一个她们的服务电话(4008188168),我刚好在电脑前,边和她聊天,边google了一下,发觉真的有问题,公司是:中美大都会人寿保险股份有限公司,链接如下:
    担心招商信用卡电话陷阱(用了四张信用卡的感觉)
     
     
    招行的论坛,无数的投诉讨论:
     
    摘录如下:
    但是有一天下午我在上班时间接到一个电话,023-63009555的说是招商银行信用卡中心的,向我推销一项中美大都会的保险,说中美大都会是全球500强企业(听都没听说过,天知道是不是)说这个通话是通过电话录音的,问我要不要答应,我想,人家银行也是为了安全嘛,就没有在意。他说这份保险以后可以当做保养保险的,一个月只需要存进去300块零花钱。(向他们这样的富人居然把300块说成是只需要,还是零花钱?那你给我300块零花钱咋样?)就能得到一份价值十万的保险(对于推销保险的都是把保额说得特诱惑人,这些我早看穿了),你看是不是要我寄过来一份保单看一下?我想,不寄白不寄,反正寄了也白寄。就跟我确定了一下地址,最后问我卡号的时候,我当时手没有空,就说,卡落在家里了,看不到,就这样结束了通话。
       
         但是没想到晚上当我一回家一上网搜索才知道原来上当了,搜索到好多关于招商银行利用电话录音作为证据,在没有寄保单通过客户的签字确认就直接在信用卡上扣除保险金,还一次性扣两个月的,天啦,这不等于是抢劫么?如果你打电话去退,他还不让,还要扣一年的,扣了一年后如果你不打电话再去确认,他还默认你会续约,再扣一年的保险金。当时一看都给吓呆了,招商银行就等于是TMD强盗。当时就想对策怎么退保,一定要退,不管电话里人家推销得再厉害再诱惑人,其实我对保险一点兴趣都没有的,只是没想到人家会利用电话录音做为证据。这不等于是抢钱么。招商银行居然会做出这样有损自己名声的事。
        
        不知道真假如何,留待其它人去验证!
        我很忙,无心和对方纠缠,就在电话里面明确说明,我不想参加任何付费的项目,就挂了。    
     
     
    3/5/2008

    更改esx console的物理IP地址及esx console命令

      今天安装了另外一台esx 3.5 测试,安装完成后,发觉设置错了网段,本来想用修改linux网卡Ip的方法操作,后来,上网找了下,有专用的命令可用,很简单,如下:
    列出当前网卡信息
    esxcfg-vswif -l
     
    删除原来的配置vswif0, 没有修改的命令,该文件应该在:/etc/sysconfig/network-scripts/ifcfg-vswif0
    esxcfg-vswif -d vswif0
     
    新增配置
    esxcfg-vswif -a vswif0 -p "Service Console" -i 172.28.2.2 -n 255.255.255.0 -b 172.28.2.255
    (也可使用-i命令直接修改,没测试过)
     
    检查修改后配置是否正确
    esxcfg-vswif -l
     
    修改原来hosts的IP, 及网关
    vi /etc/hosts
    vi /etc/sysconfig/network
     
    附:vmware esx 上的命令行
    esx上特有的命令很多,有些是很方便,就用这个来记录我平时在esx上用到的命令
    1:看你的esx版本。
    vmware -v
    2:列出esx里知道的服务
    esxcfg-firewall -s
    3:查看具体服务的情况
    esxcfg-firewall -q sshclinet
    4:重新启动vmware服务
    service mgmt-vmware restart
    5: 修改root的密码
    passwd root
    6:列出你当前的虚拟交换机
    esxcfg-vswitch -l
    7:查看控制台的设置
    esxcfg-vswif -l
    8:列出系统的网卡
    esxcfg-nics -l
    9:添加一个虚拟交换机,名字叫(internal)连接到两块物理网卡,(重新启动服务,vi就能看见了)
    esxcfg-vswitch -a vSwitch1
    esxcfg-vswitch -A internal vSwitch1
    esxcfg-vswitch -L vmnic1 vSwitch1
    esxcfg-vswitch -L vmnic2 vSwitch1
    10:删除交换机,(注意,别把控制台的交换机也删了)
    esxcfg-vswitch -D vSwitch1
    11:删除交换机上的网卡
    esxcfg-vswitch -u vmnic1 vswitch2
    12:删除portgroup
    esxcfg-vswitch -D internel vswitch1
    13:创建 vmkernel switch ,如果你希望使用vmotion,iscsi的这些功能,你必须创建( 通常是不需要添加网关的)
    esxcfg-vswitch -l
    esxcfg-vswitch -a vswitch2
    esxcfg-vswitch -A "vm kernel" vswitch2
    esxcfg-vswitch -L vmnic3 vswitch2
    esxcfg-vmknic -a "vm kernel" -i 172.16.1.141 -n 255.255.252.0
    esxcfg-route 172.16.0.254
    14:打开防火墙ssh端口
    esxcfg-firewall -e sshclient
    esxcfg-firewall -d sshclient
    15: 创建控制台
    esxcfg-vswitch -a vSwitch0
    esxcfg-vswitch -A "service console" vSwitch0
    esxcfg-vswitch -L vmnic0 vSwitch0
    esxcfg-vswif -a vswif0 -p "service console" -i 172.16.1.140 -n 255.255.252.0
    16: 添加nas设备(a 添加标签,-o,是nas服务器的名字或ip,-s 是nas输入的共享名字)
    esxcfg-nas -a isos -o nas.vmwar.cn -s isos
    17:列出nas连接
    esxcfg-nas -l
    18: 强迫esx去连接nas服务器(用esxcfg-nas -l 来看看结果)
    esxcfg-nas -r
    esxcfg-nas -l
    19:连接iscsi 设备(e:enable q:查询 d:disable s:强迫搜索)
    esxcfg-swiscsi -e
    20:设置targetip
    vmkiscsi-tool -D -a 172.16.1.133 vmhba40
    21:列出和target的连接
    vmkiscsi-tool -l -T vmhba40
    22:列出当前的磁盘
    ls -l /vmfs/devices/disks
    There are two ways you can change the IP address:
    From the VI Client
    Or, from the Physcial Console Connection
    See the following sections for details on each method.

    From the VI Client

    Using the Virtual Infrastructure Client, the DNS information (Configuration tab > DNS and Routing) can be changed on the fly. Similarly, the gateway address (routing subtab of the DNS and Routing window) and the hostname (DNS Configuration subtab of DNS and Routing) can be changed through the user interface. Hostname and domain changes through the VI Client do not take place until the ESX host is rebooted.

    From the Physical Console Connection

    Changing the IP for the service console must be done from a physical console connection, either at the host, through a KVM or other remote console connection. If you make changes through a network connection such as SSH, network connectivity to the service console will disconnect because the service console's network interface will change.
    For this example, it is assumed that vswif0 is the service console adapter that is the interface to which to apply the IP address change. Running the command

    esxcfg-vswif -i x.x.x.x vswif0

    will set the IP address to the value substituted for x.x.x.x in the command. You will need to edit the /etc/hosts file and change it so that it reflects the new IP address in use for the service console.
    The gateway address and hostname are in /etc/sysconfig/network.

    After you edit these files, you must reboot the host or restart the network service using the following command:

    service network restart

    Note: This command breaks any current network connections to the service console.

    You can also dynamically change the host name using the command:

    hostname newname

    Note: This command creates a temporary host name change. This change is lost when the system is rebooted.

    To change the DNS server settings, edit the /etc/resolv.conf file and update the nameserver IPs and search domain if applicable.
    3/4/2008

    人性的弱点

          突然发觉,很多问题,困惑,难于选择,被骗等等,都是因为“人性的弱点”导致。最近遇到的一些问题,归根到底,都是这个原因。
          题外话,弟弟之前推荐的一本书《How to Win Friends & Influence People》,中文也译为《人性的弱点》,内容很不错,教人如何和别人相处,获得别人的支持赞同,可惜我一直没看完。
     
          什么是人性的弱点呢?我想,不外乎欲望,恐惧这两样,有了这两种情感,不经意间,会做错很多事,选择错很多东西。
          大事不谈(虽然最近身边也有类似的事),谈谈发生的几件小事。中午吃饭的时候,手机接到一个电话,自称是某某保险公司的,根据随机的抽选,选中我,赠送我半年的意外险,这半年内无论发送什么意外,撞车了,生病阿什么的,都可以得到适当的赔偿。我一时也没多加反应,对方要求我提供一个地址,可以邮寄保单给我,然后,邮寄当然要姓名,又闲聊多几句,又问到年龄生日,身份证之类,不觉中,我的隐私,毫无防备的,被一步步的套了出来,饵就是那个看不见的保单,也许根本不会送达,也许本来是几块钱就可得到的东西。
          其实,这些个人信息,在某种情况下,对社会,对地球来说,是毫无影响的,但对具体我自己这个人,却是很重要的,现在很多自动服务,如电话服务,网上银行等等,只需在其中输入个人的身份证号,就可办理某些业务,虽然有些还需要密码。总之,个人的各种信息,泄露得越多,办的信用卡,网上银行业务的等财务,信用,名誉有关的资源的潜在危险就越大。
          退而其次,对方并没有盗取的意图,那只要将这些完整的信息输入到某个信息库,或者卖给别人,那么,下次,当一个人打我手机,熟悉的称呼我的名字的时候,我可能会戒心大减,也许会不经意透露更多的个人信息,或者接受一些推销。
     
          下午,又是另外一个自称是招行信用卡中心的人,很专业的和我聊天,称呼我的名字,过程还提示为保证XXX, 整个过程会录音等等,很正规专业的感觉。恭维我一番后,又要赠送我东西,但这次似乎有前提,如果付多些钱,可能会得到更多的好处,这次我学乖了点,我说,我在电话里面无法确定,如果真的有诚意,请将相关信息发邮件给我确认,对方表示无电子文档可发邮件,我又说,那好吧,你发传真吧,我必须看清楚相关提示,并且确认后,再做任何决定,最后对方放弃了。
     
          后来,多心的我,做了如下的判断,某骗子或业务员随机打某个手机号码,比如这次是我的,先以A公司,以免费赠送XXX东西的名义,以小利套取个人信息。然后,以一家大公司工作人员的名义,比如招商银行,说因为我的信用好,特地要给我奖励,因为是大公司,而且我确实有使用它们的业务,而且一接电话,就清楚的说出我的姓名以及一些个人信息,然后在我几乎没有戒心怀疑的情况下,要求我付费购买某些东西,也许,有些人会中招,至于损失,不得而知,因为我没走到最后。
         也许我的推论并不是真实发生,但确实是一个合理的可能。总之,看得到的保证,才能相信,不能凭别人的口头承诺等来轻易相信陌生人的信息,最后,专业的机构,来电号码,短信服务号码,可能都比较特别的,而昨天来电的号码,就是很普通的手机号码,也许是50块的神州行而已。
        
          在这个社会,某些时候,需要坦荡的对待他人,但有些时候,确实又需要留多个心眼。且记莫贪小利。
          另外一个骗子的故事,大伯说到,某一次,在路上走,有个年轻人,突然跑过来,很亲热的称呼他伯父,他记不起是谁,推想是某个远房亲戚,然后,那个聊了几句,说刚才买东西,带少了钱,问大伯父能否借点,大伯父就掏出身上的钱借给他了,好像是几百壹千,后来,人走了,一回神,才明白被骗了。

    nagios 安装

    nagios 安装

    quickstart installation guides
    http://nagios.sourceforge.net/docs/3_0/quickstart.html
    nagios Fedora Quickstart
    http://nagios.sourceforge.net/docs/3_0/quickstart-fedora.html

    一篇不错的安装文档:
    http://supersun.biz/2007/12/nagios.html

    --增加相应组,用户,在单独的用户下安装,感觉安全点,但安装稍微麻烦点,需要切换几次不同的用户
    # groupadd nagcmd
    # useradd -G nagcmd nagios
    # passwd nagios
    # usermod -L nagios

    # chown -R nagios:nagcmd /home/nagios/

    # su - nagios
    $ tar zxvf nagios-3.0rc3.tar.gz
    $ tar zxvf nagios-plugins-1.4.11.tar.gz
    $ cd nagios-3.0rc3/
    $ ./configure --prefix=/home/nagios --with-command-group=nagcmd
    $ make all
    $ make install
    $ su -
    # make install-init

    # su - nagios
    $ make install-config
    $ make install-commandmode
    $ cd /home/nagios/etc/objects
    $ vi contacts.cfg
    修改 define contact中的email联系人


    --root下
    [root@racdb1 nagios-3.0rc3]# cd /home/nagios/nagios/nagios-3.0rc3/
    [root@racdb1 nagios-3.0rc3]# make install-webconf


    [root@racdb1 conf]# su - nagios
    [nagios@racdb1 ~]$ htpasswd -c /home/nagios/etc/htpasswd.users nagiosadmin

     

    --编译nagios-plugin

    $ ./configure --prefix=/home/nagios/ --with-nagios-user=nagios --with-nagios-group=nagios
    $ make
    $ make install
    $ chmod 775 /home/nagios

    --检查配置文件是否有错:
    $ /home/nagios/bin/nagios -v /home/nagios/etc/nagios.cfg


    # service nagios start
    # /usr/sbin/apachectl restart

    --登录检查
    http://192.168.3.201/nagios/
    输验证所需的用户名和密码,就可点击页面右边的相关连接来查看各种状态

    官方文档:
    http://www.nagios.org/docs/

    有用的参考:
    Nagios远程监控软件的安装与配置详解
    http://www.51cto.com/art/200706/48728.htm

    Monitoring Publicly Available Services
    http://nagios.sourceforge.net/docs/3_0/monitoring-publicservices.html

    Monitoring Windows Machines
    http://nagios.sourceforge.net/docs/3_0/monitoring-windows.html
    Monitoring Routers and Switches
    http://nagios.sourceforge.net/docs/3_0/monitoring-routers.html

    3/3/2008

    升级到oracle 10.2.0.4

    关闭数据库及listener
    SQL> shutdown immediate
    lsnrctl stop

    关闭ASM
    [oracle@racdb1 ~]$ sqlplus "/ as sysdba"
    SQL> shutdown immediate

    [root@racdb1 ~]# $ORACLE_HOME/bin/crsctl stop crs
    安装补丁
    unzip p6810189_10204_Linux-x86.zip
    runInstall

    [root@racdb1 ~]# $ORACLE_HOME/root.sh

    [root@racdb1 ~]# $ORACLE_HOME/bin/crsctl check cssd
    CSS appears healthy

    [oracle@racdb1 ~]$ echo $ORACLE_SID
    +ASM
    [oracle@racdb1 ~]$ sqlplus "/ as sysdba"
    SQL> startup
    ASM instance started

    Total System Global Area   83886080 bytes
    Fixed Size                  1265912 bytes
    Variable Size              57454344 bytes
    ASM Cache                  25165824 bytes
    ASM diskgroups mounted

    [oracle@racdb1 Disk1]$ echo $ORACLE_SID
    orc1
    [oracle@racdb1 Disk1]$ sqlplus "/ as sysdba"
    SQL> startup upgrade
    SQL> spool upgrade_info.log
    SQL> @?/rdbms/admin/utlu102i.sql
    SQL> spool off

    Rem    DESCRIPTION
    Rem      This script provides information about databases to be
    Rem      upgraded to 10.2.
    Rem
    Rem      Supported releases: 8.1.7, 9.0.1, 9.2.0, and 10.1.0


    SQL> spool patch.log
    SQL> @?/rdbms/admin/catupgrd.sql
    SQL> spool off

    Rem    NAME
    Rem      catupgrd.sql - CATalog UPGraDe to the new release
    Rem
    Rem    DESCRIPTION
    Rem     This script is to be used for upgrading an 8.1.7, 9.0.1, 9.2
    Rem     or 10.1 database to the new release.  This script provides a direct
    Rem     upgrade path from these releases to the new Oracle release.


    SQL> shutdown immediate
    SQL> startup
    SQL> @?/rdbms/admin/utlrp.sql

    Rem    NAME
    Rem      utlrp.sql - Recompile invalid objects
    Rem
    Rem    DESCRIPTION
    Rem     This script recompiles invalid objects in the database.

    SQL> select * from UTL_RECOMP_ERRORS; 

    SQL> col comp_name format a30
    SQL> col version format a20
    SQL> col status format a20
    SQL> set line 200
    SQL> select comp_name, version, status from sys.dba_registry;

    COMP_NAME                      VERSION              STATUS
    ------------------------------ -------------------- --------------------
    Oracle Workspace Manager       10.2.0.4.3           VALID
    Oracle Enterprise Manager      10.2.0.4.0           VALID
    Oracle Database Catalog Views  10.2.0.4.0           VALID
    Oracle Database Packages and T 10.2.0.4.0           VALID

     

    ASM工具asmcmd测试

         ASM附带一个工具:asmcmd, 很容易使用,但目前似乎用途只在查看一些系统参数,类bash shell的操作,可能主要是提供给系统管理员使用;
    http://www.dba-oracle.com/t_asmcmd.htm
    The asmcmd utility supports all common Linux commands:
    ASMCMD> ls -alt -- list directory contents
    ASMCMD> cd -- change directory
    ASMCMD> mkdir -- create (make)directory
    ASMCMD> du -- display directory space
    ASMCMD> find -- standard UNIX find command
    ASMCMD> rm -- remove file/directory
    ASMCMD> lsdg -- list diskgroups
    ASMCMD> pwd -- display current directory
    ASMCMD> lsct -- list all connected Oracle instances

    [oracle@racdb1 ~]$ export ORACLE_SID=+ASM
    [oracle@racdb1 ~]$ asmcmd
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    Linux Error: 2: No such file or directory (DBD ERROR: OCISessionBegin)
    -- 还没有启动asm实例,所以出错
    [oracle@racdb1 ~]$ sqlplus "/ as sysdba"
    SQL> startup
    ASM instance started
    ASM diskgroups mounted
     
    [oracle@racdb1 ~]$ asmcmd -p
    ASMCMD [+] > help
            asmcmd [-p] [command]
            commands:
            --------
            cd
            du
            find
            help
            ls
            lsct
            lsdg
            mkalias
            mkdir
            pwd
            rm
            rmalias
     
    ASMCMD [+] > lsdg
    State    Type    Rebal  Unbal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name
    MOUNTED  NORMAL  N      N         512   4096  1048576      6138     4296             1027            1634              0  DGDATA/
     
    ASMCMD [+] > lsct
    --没启动oracle, 所以没有连接上来的实例
     
    ASMCMD [+DGDATA/ORC1] > lsct
    DB_Name   Status        Software_Version  Compatible_version  Instance_Name
    +ASM      CONNECTED           10.2.0.3.0          10.2.0.0.0  +ASM
    orc1      CONNECTED           10.2.0.3.0          10.2.0.3.0  orc1
     
    ASMCMD [+] > du
    Used_MB      Mirror_used_MB
        837                1680
    ASMCMD [+] > pwd
    +
    ASMCMD [+] > ls
    DGDATA/
    3/2/2008

    10g ASM(Automatic Storage Management)测试

          这两天,在自己的机子启了一个vmware测试下10g ASM(Automatic Storage Management),很久没在本机运行vmware,现在基本上都在服务器上测试,但其实笔记本上运行速度还行;
          ASM可以说很简单,网上的例子,有些一页就部署完毕,但实际使用也还是很多细节需要留意。 摘录了部分笔记,整理过但还是比较乱。
    参考的一些有用的链接:
    管理ASM磁盘组一定需要ASMlib这些支持库么
    http://www.itpub.net/viewthread.php?tid=930411&extra=&page=1
    回答是不一定!
    ASM using ASMLib and Raw Devices
    http://www.oracle-base.com/articles/10g/ASMUsingASMLibAndRawDevices.php
    ASMLib的用处:
    Project: ASMLib Kernel Driver
    http://oss.oracle.com/projects/oracleasm/
    ASMLib allows an Oracle Database using ASM more efficient and capable access to the disk
    groups it is using.
    ASMlib不是必须的,但是安装了可以增加ASM磁盘组管理的简便性。
    ASMLib 令使用 ASM 的 Oracle 数据库更加高效,并能够访问它正在使用的磁盘组。

    检查本机的内核版本
    [root@racdb1 ~]# uname -r
    2.6.9-55.ELsmp
    1、安装Oracle ASMLib
    下载地址:http://www.oracle.com/technology/software/tech/linux/asmlib/rhel4.html
    [root@racdb1 asm]# rpm -ivh oracleasm-support-2.0.3-1.i386.rpm
    [root@racdb1 asm]# rpm -ivh oracleasm-2.6.9-55.0.12.EL-2.0.3-1.i686.rpm
    [root@racdb1 asm]# rpm -ivh oracleasmlib-2.0.2-1.i386.rpm
    2、配置ASMLib
    [root@racdb1 asm]# /etc/init.d/oracleasm configure
    Default user to own the driver interface []: oracle
    Default group to own the driver interface []: dba
    Start Oracle ASM library driver on boot (y/n) [n]: y
    Fix permissions of Oracle ASM disks on boot (y/n) [y]: y
    Writing Oracle ASM library driver configuration: [  OK  ]
    Creating /dev/oracleasm mount point: [  OK  ]
    Loading module "oracleasm": Unable to load module "oracleasm"
    [FAILED]
    最后出现错误,检查
    [root@racdb1 asm]# tail -100 /var/log/messages
    [root@racdb1 asm]# rpm -qa | grep oracleasm
    [root@racdb1 asm]# uname -rm
    [root@racdb1 asm]# rpm -qa | grep kernel
    发觉是安装的版本不对,开始以为满足kernel的大版本就可
    [root@racdb1 asm]# rpm -e oracleasmlib-2.0.2-1
    [root@racdb1 asm]# rpm -e oracleasm-2.6.9-55.0.12.EL-2.0.3-1
    注:rpm若一定要删除,可以使用:#rpm -e XXX --nodeps
    下载安装正确的版本:
    [root@racdb1 asm]# rpm -Uvh oracleasm-2.6.9-55.EL-2.0.3-1.i686.rpm
    [root@racdb1 asm]# rpm -Uvh oracleasmlib-2.0.2-1.i386.rpm
    [root@racdb1 asm]# rpm -ivh oracleasm-2.6.9-55.ELsmp-2.0.3-1.i686.rpm
    添加init文件使系统启动时自动加载ASMLib
    [root@racdb1 rc3.d]# ll *oracleasm
    lrwxrwxrwx  1 root root 19 Mar  1 12:26 S29oracleasm -> ../init.d/oracleasm
    #cd /etc/rc3.d
    #ln -s ../init.d/oracleasm K01oracleasm

    重新启动系统,确认ASMLib已经可以自动加载
    #lsmod |grep oracleasm
    #dmesg |grep oracleasm
    就我的理解,如果是单个磁盘,或容量比较小的,直接只用如 /dev/sda, /dev/sdb就可,
    如果容量比较大,才需要分区(比如外置磁盘柜的lun),使用如/dev/sda1, /dev/sda2

    修改磁盘所有者:
    [root@racdb1 dev]# chown oracle /dev/sdd*
    [root@racdb1 dev]# chmod 660 /dev/sdd*
    [root@racdb1 dev]# ll /dev/sdd*
    如果之前ASM已经使用过该磁盘,可以清除掉head信息:
    [root@racdb1 ~]# dd if=/dev/zero of=/dev/sdc bs=1M count=1024
    [root@racdb1 ~]# dd if=/dev/zero of=/dev/sdd bs=1M count=2024
    如果用fdisk之类工具对磁盘重新分区,让系统重新扫描磁盘分区:
    [root@racdb1 raw]# partprobe

    创建ASM磁盘:
    [root@racdb1 ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdc1
    Marking disk "/dev/sdc1" as an ASM disk: [  OK  ]
    [root@racdb1 ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdc2
    Marking disk "/dev/sdc2" as an ASM disk: [  OK  ]
    [root@racdb1 ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sdd1
    Marking disk "/dev/sdd1" as an ASM disk: [  OK  ]
    [root@racdb1 ~]# /etc/init.d/oracleasm createdisk VOL4 /dev/sdd2
    Marking disk "/dev/sdd2" as an ASM disk: [  OK  ]
    [root@racdb1 ~]# /etc/init.d/oracleasm listdisks
    VOL1
    VOL2
    VOL3
    VOL4
    如果要删除ASM磁盘通过以下命令
    #/etc/init.d/oracleasm deletedisk VOL4
    On all other RAC nodes, you just need to notify the system about the new ASM disks:
    如果有多节点的rac
    [root@racdb1 ~]# /etc/init.d/oracleasm scandisks
    Scanning system for ASM disks: [  OK  ]
    [root@racdb1 disks]# /etc/init.d/oracleasm status
    Checking if ASM is loaded: [  OK  ]
    Checking if /dev/oracleasm is mounted: [  OK  ]
    注意mount在 /dev/oracleasm

    安装oracle, 打补丁
    运行netca
    运行dbca
    选择 asm
    按提示运行, 安装crs:
    [root@racdb1 ~]# /u01/oracle/product/db_1/bin/localconfig add
    创建磁盘组
    参考:http://www.oracle-base.com/articles/10g/AutomaticStorageManagement10g.php
    磁盘组名称
    - 输入磁盘组名称,如 DATA1。
    冗余
    - High 镜像数据两次(三份数据)。
    - Normal 镜像数据一次(两份数据)。
    - External 不镜像 ASM 中的数据。如果外部 RAID 阵列提供冗余,则通常使用此选项。
    选择成员磁盘
    - 您必须手动指示 ASM 到什么地方查找 ASMLib 磁盘,因此,单击 Change Disk Discovery Path
    - 弹出一个窗口,提示输入磁盘发现路径。如下所示将磁盘发现路径更改为"/dev/sd*". “ORCL:*”。
      在这里,我只有输入"/dev/oracleasm/disks/VOL*"才能找到磁盘
    - 单击 OK 继续。
    您将返回到 Select Member Disks 窗口。您的所有 ASMLib 磁盘现在应显示在此窗口中。
    单击该行开头的框,选择加入磁盘组的磁盘。完成后单击 OK。

    管理ASM Disk Groups
    登录及启动关闭:
    $ ORACLE_SID=+ASM; export ORACLE_SID
    $ sqlplus "/ as sysdba"
    SQL> startup
    SQL> shutdown immediate;
    解决错误:
    ORA-15032: not all alterations performed
    ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DATA1"
    清除已经移除物理磁盘的DISKGROUP
    [oracle@racdb1 dbs]$ strings spfile+ASM.ora | more
    SQL> alter system set asm_diskgroups=DGDATA scope=spfile;
    SQL> alter system set asm_diskgroups=DGDATA scope=spfile sid='+ASM';

    两个很有用的检查disk group信息的SQL,下面的设置会反复用到:
    SQL> col state format a10
    SQL> col name format a15
    SQL> col failgroup format a20  
    SQL> set line 200
    SQL> select STATE,REDUNDANCY,TOTAL_MB,FREE_MB,NAME,FAILGROUP from v$asm_disk;
    SQL> select GROUP_NUMBER,NAME,STATE,TYPE,TOTAL_MB,FREE_MB,UNBALANCED from v$asm_diskgroup;
    -- 创建新的diskgroup
    SQL> create diskgroup dgtest normal redundancy
      2  failgroup dgtest_0001 disk '/dev/oracleasm/disks/VOL5' name dgtest_0001
      3  failgroup dgtest_0002 disk '/dev/oracleasm/disks/VOL6' name dgtest_0002;
    -- 删除diskgroup
    SQL> drop diskgroup dgtest including contents;
    -- 为diskgroup增加disk
    SQL> alter diskgroup dgdata add disk '/dev/oracleasm/disks/VOL5' name
    dgdata_0004,'/dev/oracleasm/disks/VOL6' name dgdata_0005;
    -- 从diskgroup删除disk
    SQL> alter diskgroup dgdata drop disk DGDATA_0004;
    -- 取消删除disk的命令,只能在上述命令没执行完成的时候有效
    The UNDROP DISKS clause of the ALTER DISKGROUP statement allows pending disk drops to be
    undone. It will not revert drops that have completed, or disk drops associated with the
    dropping of a disk group.
    ALTER DISKGROUP disk_group_1 UNDROP DISKS;
    SQL> show parameter asm_power_limit
    这个参数 ASM_POWER_LIMIT 参数控制 ASM 后台进程 ARBx 的数量。ARBx 进程用来进行 ASM 磁盘数据重新分布打散。ASM_POWER_LIMIT 取值 从 0 到 11(据说从 10gR2 开始可以设置为 0 ). 当新添加磁盘或者删除磁盘后,ASM 会启动 ARBx 进行 IO 分散操作,这是个非常消耗资源的动作,所以一定要选择系统空闲的时候进行。

    SQL> alter diskgroup dgdata rebalance power 5;
    Disk groups can be rebalanced manually using the REBALANCE clause of the ALTER DISKGROUP statement. If the POWER clause is omitted the ASM_POWER_LIMIT parameter value is used. Rebalancing is only needed when the speed of the automatic rebalancing is not appropriate.
    其它一些手动mount命令
    ALTER DISKGROUP ALL DISMOUNT;
    ALTER DISKGROUP ALL MOUNT;
    ALTER DISKGROUP dgdata DISMOUNT;
    ALTER DISKGROUP dgdata MOUNT;

    数据文件的管理
    Aliases allow you to reference ASM files using user-friendly names, rather than the fully
    qualified ASM filenames.
    -- Create an alias using the fully qualified filename.
    ALTER DISKGROUP disk_group_1 ADD ALIAS '+disk_group_1/my_dir/my_file.dbf'
      FOR '+disk_group_1/mydb/datafile/my_ts.342.3';
    -- Create an alias using the numeric form filename.
    ALTER DISKGROUP disk_group_1 ADD ALIAS '+disk_group_1/my_dir/my_file.dbf'
      FOR '+disk_group_1.342.3';
    -- Rename an alias.
    ALTER DISKGROUP disk_group_1 RENAME ALIAS '+disk_group_1/my_dir/my_file.dbf'
      TO '+disk_group_1/my_dir/my_file2.dbf';
    -- Delete an alias.
    ALTER DISKGROUP disk_group_1 DELETE ALIAS '+disk_group_1/my_dir/my_file.dbf';
    -- Drop file using an alias.
    ALTER DISKGROUP disk_group_1 DROP FILE '+disk_group_1/my_dir/my_file.dbf';
    -- Drop file using a numeric form filename.
    ALTER DISKGROUP disk_group_1 DROP FILE '+disk_group_1.342.3';
    -- Drop file using a fully qualified filename.
    ALTER DISKGROUP disk_group_1 DROP FILE '+disk_group_1/mydb/datafile/my_ts.342.3';
    -- create datafile
    SQL> create tablespace users2 datafile '+TESTDB_DATA1' size 100m;
     
    另外一个链接也不错:
    可惜被伟大的GFW封了,需要用firefox + Web PHP Proxy 才能访问