生产上oracle扩展表空间,oracle基于裸设备(raw device)扩充表空间

首先在oracle中查询表空间的使用情况,确认是哪个表空间不足。

select df.tablespace_name “Tablespace”,df.bytes/(1024*1024) “Total Size(MB)”, sum(fs.bytes)/(1024*1024) “Free Size(MB)”, round(sum(fs.bytes)*100/df.bytes) “% Free”, round((df.bytes-sum(fs.bytes))*100/df.bytes) “% Used”  from dba_free_space fs, (select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name ) df  where fs.tablespace_name = df.tablespace_name  group by df.tablespace_name, df.bytes;

1、查看所有逻辑卷组(LVM分区系统中术语,类似于物理硬盘)

vgdisplay

会显示所有的卷组的详情

vgdisplay  -v  具体的卷组名

会显示该具体卷组的详情

包括卷组下面的逻辑卷(LVM分区系统中术语,类似于硬盘分区)

2、从逻辑卷组中分出一个逻辑卷

lvcreate –L 10240m -n lvName11 vgName2

vgName就是逻辑卷组的名字,假设这个卷组下已经有lvName1 lvName2 lvName3 lvName4…共10个逻辑卷了,那么你就创建lvName11好了

你划分好了之后,会生成一个 /dev/vgName2/lvName11 文件

3、查看当前所有的裸设备

raw -qa

你会看到所有的raw裸设备,假设有/dev/raw/raw1 /dev/raw/raw2 /dev/raw/raw3…假设有10个

4、把划分的逻辑卷绑定到一个新的裸设备上

raw /dev/raw/raw11 /dev/vgName2/lvName11

5、改变裸设备的属主为oracle,保证oracle·用户可以使用

hown oracle:oinstall /dev/raw/raw11

6、登陆oracle,把裸设备添加到空间不足的表空间上

sqlplus / as sysdba

ALTER TABLESPACE tablespaceName ADD DATAFILE ‘/dev/raw/raw11’ SIZE 10200M REUSE

注意这里的大小 不能用10240M,一定要略小于逻辑卷的大小,一个逻辑卷分出来之后,剩余的大小是小于指定大小的,

如果你把整个逻辑卷的大小指定给表空间,上面的sql语句会报空间不足的错误。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值