How to resize ACFS and change the mountpoint

关于如何创建ACFS,参看我的上一篇文章:How to create ASM filesystem(ACFS) in Oracle 11gR2

在创建完ACFS之后如果想更改挂载点(mountpoint)以及修改卷的大小,该如何操作呢?

–检查当前ACFS文件系统状态。ACFSDG是ACFS所在的磁盘组,总大小614400M,还有409491M空闲。

$ asmcmd lsdg
State    Type    Rebal  Sector  Block       AU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Voting_files  Name
MOUNTED  EXTERN  N         512   4096  1048576    614400   409491                0          409491              0             N  ACFSDG/
MOUNTED  EXTERN  N         512   4096  1048576      4886     4490                0            4490              0             Y  CRSDG/
MOUNTED  EXTERN  N         512   4096  1048576    488288    90536                0           90536              0             N  DATADG/
MOUNTED  EXTERN  N         512   4096  1048576    223623   221834                0          221834              0             N  FRADG/

–检查ACFSDG上的卷(Volume)。Volume Device是挂载时要指定的设备名称,Usage和Mountpoint仅仅是描述,并不是表明其真正用途和真正的挂载点。
–可以使用asmcmd volset来修改usagestring和mountpath。

$ asmcmd volinfo -G ACFSDG -a
Diskgroup Name: ACFSDG

         Volume Name: ACFSDGVOL1
         Volume Device: /dev/asm/acfsdgvol1-57
         State: ENABLED
         Size (MB): 204800
         Resize Unit (MB): 256
         Redundancy: UNPROT
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage: To Store RMAN backupsets
         Mountpath: We should mount this volume as /backup

–检查ACFS挂载点,可以看到当前Mount Point并不是/backup而是/acfsmounts/acfsdg_acfsdgvol1,后面我们就要修改这个挂载点。

# acfsutil registry -l /dev/asm/acfsdgvol1-57
Device : /dev/asm/acfsdgvol1-57 : Mount Point : /acfsmounts/acfsdg_acfsdgvol1 : Options : none : Nodes : all : Disk Group : ACFSDG : Volume : ACFSDGVOL1 

–创建新的挂载点

# mkdir /backup

–先尝试用asmcmd volresize命令修改卷大小,报ORA-15476错误,实际上这里的意思是说,在卷处于mount状态时,是无法用volresize命令修改卷大小的,必须用acfsutil size命令。volresize命令只能在文件系统被卸载之后才能使用。

ASMCMD> volresize -G acfsdg -s 614400M ACFSDGVOL1
ORA-15032: not all alterations performed
ORA-15476: ACFS volumes must be resized with the 'acfsutil size' operating system command. (DBD ERROR: OCIStmtExecute)

–卸载当前已经挂载的文件系统

# umount -a -t acfs

–修改ACFS Registry,修改这个信息并不会自动挂载文件系统,而只是为了让下次Oracle Clusterware重启的时候可以自动地将文件系统挂载到正确路径下。

# acfsutil registry -d /dev/asm/acfsdgvol1-57
acfsutil registry: successfully removed ACFS volume /dev/asm/acfsdgvol1-57 from Oracle Registry
# acfsutil registry -a /dev/asm/acfsdgvol1-57 /backup
acfsutil registry: mount point /backup successfully added to Oracle Registry
# acfsutil registry -l /dev/asm/acfsdgvol1-57
Device : /dev/asm/acfsdgvol1-57 : Mount Point : /backup : Options : none : Nodes : all : Disk Group : ACFSDG : Volume : ACFSDGVOL1

–在文件系统被卸载之后,尝试使用volresize命令修改大小。报ORA-15041错误,因为我们尝试指定之前在asmcmd lsdg命令中显示的该磁盘组的Total_MB,但是由于ADVM Volume在创建时会有额外的空间开销,因此报空间不足。当然,如果这里我们将大小降低1G左右,volresize命令是可以运行成功的。本例中在后面选择使用acfsutil size来修改大小。

$ asmcmd volresize -G acfsdg -s 614400M ACFSDGVOL1
ORA-15032: not all alterations performed
ORA-15041: diskgroup "ACFSDG" space exhausted (DBD ERROR: OCIStmtExecute)

–手动挂载文件系统到新目录下。

# mount -v -t acfs /dev/asm/acfsdgvol1-57 /backup
mount.acfs: volume: /dev/asm/acfsdgvol1-57, mount point: /backup
mount.acfs: options: rw
mount.acfs: verbose option specified
mount.acfs: command string: /bin/mount -i -t acfs -o ,rw /dev/asm/acfsdgvol1-57 /backup -v.
/dev/asm/acfsdgvol1-57 on /backup type acfs (rw)

–修改挂载点属主

# chown oracle:oinstall /backup 

–acfsutil size命令可以在文件系统仍然被使用的时候进行扩容,+/-符号表示要在当前基础上增加或者减少多少,这比volresize命令更灵活。

# acfsutil size +400000M /backup
acfsutil size: new file system size: 634312982528 (604928MB)
# acfsutil size +8000M /backup
acfsutil size: new file system size: 642902917120 (613120MB)
# acfsutil size -3000M /backup
acfsutil size: new file system size: 639950127104 (610304MB)

java.lang.InternalError when using Xming

正在逐渐将机器上的所有盗版转成正版,实在找不到替代品的准备购买。之前一直在使用盗版的Xmanager做远程X桌面转发,现在开始使用free的Xming。

在使用Xming安装Oracle软件的时候,可能会遇到如下错误,图形界面无法正常打开。
Exception java.lang.InternalError: java/langNullPointerException occurred..

这是因为少安装了额外的Xming font package,安装完毕以后,错误将消失。记录以备忘。

关于Xming及Xming font package的安装,可以参看这里

Oracle User Group Leader Summit Ending

Update@2011-02-10
Yupoo还有外链流量限制?就算有吧,那我这名不见经的个人blog能有多少流量呢?国内完全没有一个好的图片托管服务提供商。以后还是全部放在Picasa Web Album中了,不会翻墙的看不到图片的就不管了。Flickr中,似乎Flickr现在是逃脱了GFW魔掌的。

原文@2011-02-05
从旧金山回到三亚已经好多天了,懒啊懒啊,但是总觉得还是要为这次美国之旅划个句号。

会议的第二天,很抱歉的我跟eygle逃出来了,蹭了Steven的车跑到旧金山市内游览。为此,要对Bambi说Sorry,但是如果不是这么一天,真是没时间完成那些购物清单上的条目了。

吃完早点大约9点到Union Square,Macys(梅西百货)还没开门,四处闲逛了一下,旧金山的Apple店也是熙熙攘攘,售价比起国内略便宜,实际上后来发现回国入关的时候根本没有检查行李,早知道可以入手一个MBP。
Apple Shop@SF

再次回到Macys,完成了兄弟姐妹以及老婆大人交代的化妆品购买任务,我很想问,为什么国内的收入低但是物价却要贵?这个问题,无数次地出现在之后的行程中,最终只有一个四字词语可以形容这样的感受:情何以堪。

购物完毕跳上叮叮车,直接开往Pier 39。叮叮车带领我们翻越一个又一个陡坡。在后来我们骑完4个小时的自行车,为了看一眼夜晚的九曲花街,沿着叮叮车的路线走回去的时候,深切地感受到了什么是陡坡。旧金山还真是建在山上面的啊。
Cable car

在Pier 41看到小学生的课外活动,集体合作将一根沉重的缆绳挪动位置,在中国,能合作的恐怕只有期末考试时候的作弊了吧,哦,寒暑假的作业大约也能合作一下。
Pier 41

蓝天,碧海,帆船,桅杆,长桥。我们为了这样的景色要飞机火车汽车风尘仆仆赶去风景区,他们走出家门就是。
Pier 41

租了自行车,往返Pier 39和金门大桥,花了4个小时的时间。也算是骑行旧金山吧。
Golden Bridge - kamus

从金门大桥北岸骑回来的时候,正值黄昏,夕阳照在大桥桔红的铁锁上,无限温暖。
Golden Bridge

会议的第三天,也是最后一天,上午参加了闭幕式,下午还是托Steven的福,载我们去了斯坦福大学,我跟Eygle闲逛在这个举世闻名的学府中,屡屡感叹唏嘘。
IStanford

再过一天,从旧金山回北京,在SFO机场遇上了Checkin柜台全体计算机瘫痪的故障,我们拿到了人生第一张手写的登机牌。
Handwriting Ticket

无意于做更多比较,仅仅看一下中国和美国的吃穿住行:
1. 房子,这可能是我们这代人,我们的下一代人心中永远的痛吧。旧金山房价中等偏高地区的一幢联排别墅(包括别墅下土地的永久所有权)的价格在北京只能买100多平米的房子,这房子是一层数户的20多层高楼中的一户,而且只有70年所有权。
2. 车,跟房子比起来,车就不说了。
3. 仔裤,Levis在北京卖1000元一条,在美国可以买到三条。
4. In-N-Out Burger,一顿套餐与北京的麦当劳相差无几。

情何以堪。