本文档实施目标 AIX 表空间:ITDB 方式:裸设备方式扩容方案 作者:johncoco 日期:2016/1/29
1、查询oracle数据库表空间ITDB使用到的裸设备文件,注意裸设备文件( 开头带r)与裸设备(不带r)的区别
查询表空间已使用的裸设备文件名称
>select * from DBA_DATA_FILES where tablespace_name = 'ITDB';
/dev/rora_uip_tbs01
.
.
/dev/rora_uip_tbs27
这些裸设备文件对应的裸设备(lv)为ora_uip_tbs*
2、查看VG卷组信息
# lsvg
rootvg
datavg
dmvg
data02vg
3、这些裸设备LV位于data02vg卷组
#lsvg -l data02vg
ora_uip_tbs15 raw 16 16 1 open/syncd N/A
.
.
ora_uip_tbs27 raw 16 16 1 open/syncd N/A
#lsvg data02vg
data02vg信息
PP大小为:256MB 共有PPs为: 799个 共有容量为:204544MB=256MB*799=199.25GB
可用PPs为: 165个 可用容量为:42240MB=41.25GB
4、新的LV(卷)从ora_uip_tbs28开始建立,建立三个LV,每个10GB,每个LV的pp_size=256MB PPs_number=10GB/256MB=40
5、新建3个裸设备(LV)
AIX 的裸 设备跟 LINUX 有些不一样, 建立完 LV 会在 /dev/ 下生成跟 LV 名称前加 R的文件, 它就是 LV 的裸设备文件。
命令格式: mklv -y LVname -T O -w n -s n -r n VGname NumPPs
#mklv -y ora_uip_tbs28 -t 'raw' -T O -w n -s n -r n data02vg 40
#mklv -y ora_uip_tbs29 -t 'raw' -T O -w n -s n -r n data02vg 40
#mklv -y ora_uip_tbs30 -t 'raw' -T O -w n -s n -r n data02vg 40
6、查看参考属性修改rlv块设备权限
#ls -l /dev/ora_uip_tbs*
按照参考修改
#chown oracle:dba ora_uip_tbs28
#chown oracle:dba ora_uip_tbs29
#chown oracle:dba ora_uip_tbs30
7、然后添加三个裸设备文件到表空间ITDB(注意放入裸设备文件的数据文件略小于裸设备容量 10200MB<10240MB)
sqlplus>
>ALTER TABLESPACE "ITDB" ADD DATAFILE '/dev/rora_uip_tbs28 ' SIZE 10200M REUSE;
>ALTER TABLESPACE "ITDB" ADD DATAFILE '/dev/rora_uip_tbs29 ' SIZE 10200M REUSE;
>ALTER TABLESPACE "ITDB" ADD DATAFILE '/dev/rora_uip_tbs30 ' SIZE 10200M REUSE;
使用裸设备作为oracle的数据文件的注意事项
1、一个裸设备只能放置一个数据文件
2、数据文件的大小不能超过裸设备的大小
如果是日志文件,则裸设备最大可用大小=裸设备对应分区大小 - 1 * 512 (保留一个redo lock)
如果是数据文件,则裸设备最大可用大小=裸设备对应分区大小 - 2 * db_block_size(保留两个block)
为了简单起见,对所有的文件设置称比裸设备小1M即可。
3、数据文件最好不要设置称自动扩展,如果设置称自动扩展,一定要把maxsize设置设置为比裸设备小
4、linux下oracle不能直接把逻辑卷作为裸设备,也要进行绑定。unix下就不需要。