生产上oracle扩展表空间,oracle基于裸设备(raw device)扩充表空间
首先在oracle中查詢表空間的使用情況,確認(rèn)是哪個(gè)表空間不足。
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分區(qū)系統(tǒng)中術(shù)語(yǔ),類似于物理硬盤)
vgdisplay
會(huì)顯示所有的卷組的詳情
vgdisplay? -v? 具體的卷組名
會(huì)顯示該具體卷組的詳情
包括卷組下面的邏輯卷(LVM分區(qū)系統(tǒng)中術(shù)語(yǔ),類似于硬盤分區(qū))
2、從邏輯卷組中分出一個(gè)邏輯卷
lvcreate –L 10240m -n lvName11 vgName2
vgName就是邏輯卷組的名字,假設(shè)這個(gè)卷組下已經(jīng)有l(wèi)vName1 lvName2 lvName3 lvName4…共10個(gè)邏輯卷了,那么你就創(chuàng)建lvName11好了
你劃分好了之后,會(huì)生成一個(gè) /dev/vgName2/lvName11 文件
3、查看當(dāng)前所有的裸設(shè)備
raw -qa
你會(huì)看到所有的raw裸設(shè)備,假設(shè)有/dev/raw/raw1 /dev/raw/raw2 /dev/raw/raw3…假設(shè)有10個(gè)
4、把劃分的邏輯卷綁定到一個(gè)新的裸設(shè)備上
raw /dev/raw/raw11 /dev/vgName2/lvName11
5、改變裸設(shè)備的屬主為oracle,保證oracle·用戶可以使用
hown oracle:oinstall /dev/raw/raw11
6、登陸oracle,把裸設(shè)備添加到空間不足的表空間上
sqlplus / as sysdba
ALTER TABLESPACE tablespaceName ADD DATAFILE ‘/dev/raw/raw11’ SIZE 10200M REUSE
注意這里的大小 不能用10240M,一定要略小于邏輯卷的大小,一個(gè)邏輯卷分出來之后,剩余的大小是小于指定大小的,
如果你把整個(gè)邏輯卷的大小指定給表空間,上面的sql語(yǔ)句會(huì)報(bào)空間不足的錯(cuò)誤。
總結(jié)
以上是生活随笔為你收集整理的生产上oracle扩展表空间,oracle基于裸设备(raw device)扩充表空间的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 日期格式无法识别 oracle,Orac
- 下一篇: oracle catalog命令,db2