Sun Solaris系统添加裸设备对表空间进行扩容的大体操作步骤。
1、查看当前卷组信息
--查看当前卷组信息
#vxdg list
--查看当前卷组中物理磁盘的使用情况
#vxdg free |grep dg_name
--查看当前分配给Oracle用户的卷组
#df -g
--用于查物理磁盘的信息
#vxdisk list
--用于查看所有卷的信息
#vxprint -vt
--查看dg_name的磁盘使用信息
#vxdisk -g dg_name list
--查看dg的条带数
#vxprint -g dg_name -ht
2、扫盘命令
--查看当期硬盘分区情况
metastat -p -c -a
--重新扫描磁盘设备
#devfsadm
--查看磁盘集状态
#metaset -s disk_sets
--查看是否认出新磁盘
#format
3、添加逻辑卷(整理一)
1)确认目前的磁盘空间是否足够
#vxassist -g dg_name maxsize layout=stripe-mirror,nolog
Maximum volume size: 1121720320 (547715Mb)
可以看出dg_name能作raid10的逻辑卷最大能到(547715Mb),空间足够;
2)增加逻辑卷
#vxassist -g dg_name make oradata2_lv 5100m layout=stripe,nolog c2t4d0 c2t5d0 c2t8d0 c2t9d0 c2t10d0 c2t11d0 c2t12d0 c2t13d0
3) 进行逻辑卷镜像
#vxassist -g dg_name mirror oradata2_lv c3t4d0 c3t5d0 c3t8d0 c3t9d0 c3t10d0 c3t11d0 c3t12d0 c3t13d0
4) 逻辑卷条带化
#vxassist -g dg_name convert oradata2_lv layout=stripe-mirror,nolog
5) 设置逻辑卷日志方式
#vxassist -g dg_name addlog oradata2_lv
6) 设置逻辑卷的宿主和权限
#vxedit -g dg_name set user=oracle group=dba mode=0660 oradata2_lv
7) 下面这步比较关键,否则双机切换后因为卷信息不同步将会出问题
#scconf -c -D name=dg_name,sync
4、添加dg及逻辑卷lv(整理二)
metaset语法:
metaset: 只允许在多属主磁盘集上使用-M 选项
用法: metaset -s 集名称 -a [-A enable | disable] -h 主机名...
metaset -s 集名称 -a [-M] -h 主机名...
metaset -s 集名称 -a [-M] [-l 长度] [-L] 驱动器名称...
metaset -s 集名称 -d [-M] -h 主机名...
metaset -s 集名称 -d [-M] -f -h 所有主机名
metaset -s 集名称 -d [-M] [-f] 驱动器名称...
metaset -s 集名称 -d [-M] [-f] 主机名...
metaset -s 集名称 -A enable | disable
metaset -s 集名称 -t [-f]
metaset -s 集名称 -r
metaset [-s 集名称] -j [-M]
metaset [-s 集名称] -w [-M]
metaset -s 集名称 -P [-M]
metaset -s 集名称 -b [-M]
metaset -s 集名称 -o [-M] [-h 主机名]
metaset [-s 集名称]
主机名 = /etc/nodename 的内容驱动器名称 = cNtNdN 无盘片[-M] 对于多属主集是可选的,但在创建集时例外。
注:关于不能使用-M项,-M是用来创建多属主主机磁盘的,就是在同一时间两节点都可以对磁盘集有读写的权限,这是sun cluster for ORACLE RAC的东西,要满足一定要件才能创建成功。
--查看激活的磁盘组
metaset -s dg_name -t
--创建DG
metaset -s dg_name -a -h ${nodename1} ${nodename2};sleep 2 --添加磁盘到DG里
metaset -s dg_name -a /dev/did/rdsk/d5;sleep 2 --创建Mediator
metaset -s dg_name -a -m ${nodename1} ${nodename2} --创建条带和镜像
metainit -s dg_name d510 1 1 /dev/did/rdsk/d5s0;sleep 2 --创建软分区
--从D500中P出来4个分区
metainit -s dg_name d501 -p d500 8000m;sleep 2
metainit -s dg_name d502 -p d500 8000m;sleep 2
metainit -s dg_name d503 -p d500 4000m;sleep 2
metainit -s dg_name d504 -p d500 4000m;sleep 2
5、新建文件系统
例如:
--创建文件系统,并将其mount到/oradata2路径下
#newfs /dev/rdsk/c3t50060E80342B7B24d1s7
#cd /
#mkdir oradata2
#mount /dev/dsk/c3t50060E80342B7B24d1s7 /oradata2
6、编辑vfstab文件
--将自动挂载注释掉
more /etc/vfstab
vi vfstab
7、修改权限
chown -R oracle:dba /oradata2
chmod -R 755 /oradata2
8、验证测试
--查看文件系统使用情况
#df -g
--建一个test表空间
SQL>create tablespace test datafile '/oradata2/oracle/test.dbf' size 10M autoextend off; --创建成功,表示没问题,可以给表空间进行追加数据文件了。
9、官方参考
创建新磁盘集。
# /usr/sbin/metaset -s setname -a -h nodename1 nodename2
如果该磁盘集是多所有者磁盘集,请使用以下命令创建新磁盘集。 /usr/sbin/metaset -s setname -aM -h nodename1 nodename2
在创建了磁盘集的同一主机上,根据需要添加中介主机(仅限双节点)。
/usr/sbin/metaset -s setname -a -m nodename1 nodename2
从该主机将相同磁盘添加回磁盘集。
/usr/sbin/metaset -s setname -a /dev/did/rdsk/diskname /dev/did/rdsk/diskname
如果清除了磁盘集并要重新创建该磁盘集,卷目录 (Volume Table of Contents, VTOC) 应该保留在磁盘上,使您可以跳过此步骤。
但是,如果正在重新创建要恢复的磁盘集,应根据 /etc/lvm/diskname.vtoc 文件中保存的配置格式化磁盘。
例如:
# /usr/sbin/fmthard -s /etc/lvm/d4.vtoc /dev/global/rdsk/d4s2
# /usr/sbin/fmthard -s /etc/lvm/d8.vtoc /dev/global/rdsk/d8s2
您可以在任何节点上运行此命令。 在现有 /etc/lvm/md.tab 文件中检查每个元设备的语法。
# /usr/sbin/metainit -s setname -n -a metadevice
根据保存的配置创建每个元设备。
# /usr/sbin/metainit -s setname -a metadevice
如果元设备上存在文件系统,请运行 fsck 命令。
# /usr/sbin/fsck -n /dev/md/setname/rdsk/metadevice
如果 fsck 命令仅显示几个错误,例如超级块计数,则表明设备很可能已经正确重建。然后您可以运行不带 -n 选项的 fsck 命令。如果出现多个错误,请检验您是否正确重建了元设备。
如果是,则查看 fsck 错误,确定是否能够恢复文件系统。如果不能,您应该从备份中恢复数据。 将所有群集节点上的所有其他元集串联到 /etc/lvm/md.tab 文件,然后串联本地磁盘集。
# /usr/sbin/metastat -p >> /etc/lvm/md.tab