oracle 磁盘不分区吗,LINUX停ORACLE软件、数据文件等所在的磁盘分区空间不足的解决思路...
LINUX下ORACLE軟件、數據文件等所在的磁盤分區空間不足的解決思路
虛擬機中的ORACLE運行的久了,歸檔、數據文件不斷增長,原來安裝ORACLE的分區空間不足。
此時可以重新向虛擬機增加一塊硬盤,將ORACLE的數據文件或歸檔的目錄掛載到新增加的磁盤分區上。
--我這里未新增加磁盤,而是將原磁盤未劃分分區的部分重新分區、格式化來掛載使用。--原理和新增加磁盤來分區并格式化再掛載是一樣了。
1.磁盤空間使用情況的查看--需要經常關注磁盤空間使用情況
--如果空間使用達到100%,ORACLE數據庫正在運行會HANG住,此時通過SQLPLUS登陸,也會有出錯提示-具體提示未記錄。如未啟動,不能啟動**。
http://blog.csdn.net/q947817003/article/details/12308099?? 一次因磁盤空間不足歸檔無法完成導致DML操作HANG住。
[root@oel-01 ~]# df -h
Filesystem? ?? ?? ?? ?Size??Used Avail Use% Mounted on
/dev/sda2? ?? ?? ?? ???19G? ?13G??5.4G??71% /
/dev/sda1? ?? ?? ?? ???99M? ?21M? ?74M??22% /boot
tmpfs? ?? ?? ?? ?? ???3.0G??528M??2.5G??18% /dev/shm
/dev/sda5? ?? ?? ?? ? 4.6G??3.2G??1.2G??73% /backup
計劃重新掛載的就是這個目錄:---僅為測試,具體根據實際需要來確定需要掛載到新分區的目錄。
[root@oel-01 ~]# du -sh /home/oracle/rmanlog/
44K? ???/home/oracle/rmanlog/
[root@oel-01 ~]# ls /home/oracle/rmanlog/
back01.log? ? back11.log??back13.log??back22.log??back24.log
back02_1.log??back12.log??back21.log??back23.log??rmanarch2013061815-40.log
############
2.使用fdisk查看分對磁盤分區
--我這里因知道我的磁盤未使用完,直接就可以用fdisk來分區。如是新增加磁盤,可以使用? ?fdisk -l??來查看出新磁盤的名稱。 --fdisk用法可以百度。
開始分區:--軟件、系統提示為節約篇幅已經省略。
[root@oel-01 ~]# fdisk /dev/sda
Command (m for help): p
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot? ?? ?Start? ?? ?? ?End? ?? ?Blocks? ?Id??System
/dev/sda1? ?*? ?? ?? ???1? ?? ?? ? 13? ?? ?104391? ?83??Linux
/dev/sda2? ?? ?? ?? ???14? ?? ???2563? ? 20482875? ?83??Linux
/dev/sda3? ?? ?? ?? ?2564? ?? ???2824? ???2096482+??82??Linux swap / Solaris
/dev/sda4? ?? ?? ?? ?2825? ?? ???3916? ???8771490? ? 5??Extended
/dev/sda5? ?? ?? ?? ?2825? ?? ???3433? ???4891761? ?83??Linux
Command (m for help): n
First cylinder (3434-3916, default 3434):
Using default value 3434
Last cylinder or +size or +sizeM or +sizeK (3434-3916, default 3916): +100M? ???----測試用,所以只劃分了100M。
Command (m for help): p??--驗證已經劃分了新分區
Disk /dev/sda: 32.2 GB, 32212254720 bytes
255 heads, 63 sectors/track, 3916 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot? ?? ?Start? ?? ?? ?End? ?? ?Blocks? ?Id??System
/dev/sda1? ?*? ?? ?? ???1? ?? ?? ? 13? ?? ?104391? ?83??Linux
/dev/sda2? ?? ?? ?? ???14? ?? ???2563? ? 20482875? ?83??Linux
/dev/sda3? ?? ?? ?? ?2564? ?? ???2824? ???2096482+??82??Linux swap / Solaris
/dev/sda4? ?? ?? ?? ?2825? ?? ???3916? ???8771490? ? 5??Extended
/dev/sda5? ?? ?? ?? ?2825? ?? ???3433? ???4891761? ?83??Linux
/dev/sda6? ?? ?? ?? ?3434? ?? ???3446? ?? ?104391? ?83??Linux
Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.? ? ----重讀分區表失敗,用的扔是舊的分區表--直接格式時會出錯找不到新分區。
The new table will be used at the next reboot.
Syncing disks.
##################
3.格式化分區--附格式化時出錯解決
[root@oel-01 ~]# mkfs -t ext3 /dev/sda6
mke2fs 1.39 (29-May-2006)
Could not stat /dev/sda6 --- No such file or directory? ???---因為新分區表未被讀取
The device apparently does not exist; did you specify it correctly?
對于這個出錯提示:
方法一:重啟后系統重新讀取分區表即可解決。
方法二:使用partprobe命令,partprobe包含在parted的rpm軟件包中。partprobe可以修改kernel中分區表,使kernel重新讀取分區表。
因此,使用該命令就可以創建分區并且在不重新啟動機器的情況下系統能夠識別這些分區。
[root@oel-01 ~]# rpm -q parted
parted-1.8.1-29.el5
[root@oel-01 ~]# partprobe
Error: Error opening /dev/md0: No such file or directory
[root@oel-01 ~]# partprobe
[root@oel-01 ~]#mkfs -t ext3 /dev/sda6? ? ---使用這個語句來格式化新分區
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
26104 inodes, 104388 blocks
5219 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
2008 inodes per group
Superblock backups stored on blocks:
8193, 24577, 40961, 57345, 73729
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
This filesystem will be automatically checked every 32 mounts or
180 days, whichever comes first.??Use tune2fs -c or -i to override.
#####################################
4.掛載目錄的測試之直接掛載
這種方式不考慮原目錄下是否存在文件,原目錄有數據而未移出時直接掛載無法訪問到原目錄下數據
此時原目錄下文件仍在原目錄所在的磁盤上。
[root@oel-01 ~]# mount /dev/sda6 /home/oracle/rmanlog/
[root@oel-01 ~]# cd /home/oracle/rmanlog/
[root@oel-01 rmanlog]#ls
lost+found
[root@oel-01 rmanlog]# umount /dev/sda6? ???---不能在掛載的目錄內執行 umount
umount: /home/oracle/rmanlog: device is busy
umount: /home/oracle/rmanlog: device is busy
[root@oel-01 rmanlog]# cd
[root@oel-01 ~]# umount /dev/sda6
[root@oel-01 ~]# cd /home/oracle/rmanlog/
[root@oel-01 rmanlog]# ls
back01.log? ? back13.log??back24.log
back02_1.log??back21.log??rmanarch2013061815-40.log
back11.log? ? back22.log
back12.log? ? back23.log
###################################
4.掛載目錄之先移動數據再掛載
適用于所需要重新掛載的目錄下有文件
[root@oel-01 oracle]# pwd
/home/oracle
[root@oel-01 oracle]# mkdir rmanlogbak
[root@oel-01 oracle]# mv rmanlog/* ./rmanlogbak/
[root@oel-01 oracle]# ls ./rmanlogbak/
back01.log? ? back13.log??back24.log
back02_1.log??back21.log??rmanarch2013061815-40.log
back11.log? ? back22.log
back12.log? ? back23.log
[root@oel-01 oracle]# ls ./rmanlog/
[root@oel-01 oracle]#mount /dev/sda6 /home/oracle/rmanlog/
[root@oel-01 oracle]# ls ./rmanlog
lost+found
[root@oel-01 oracle]# mv ./rmanlogbak/* ./rmanlog? ? 把之前移出的數據再移動回來,
[root@oel-01 oracle]# ls ./rmanlog/? ? 查看文件都在,重新掛載完成。
back01.log? ? back13.log??back24.log
back02_1.log??back21.log??lost+found
back11.log? ? back22.log??rmanarch2013061815-40.log
back12.log? ? back23.log
[root@oel-01 oracle]# ls ./rmanlogbak/
[root@oel-01 oracle]# df -h
Filesystem? ?? ?? ?? ?Size??Used Avail Use% Mounted on
/dev/sda2? ?? ?? ?? ???19G? ?13G??5.4G??71% /
/dev/sda1? ?? ?? ?? ???99M? ?21M? ?74M??22% /boot
tmpfs? ?? ?? ?? ?? ???3.0G??528M??2.5G??18% /dev/shm
/dev/sda5? ?? ?? ?? ? 4.6G??3.2G??1.2G??73% /backup
/dev/sda6? ?? ?? ?? ???99M??5.6M? ?89M? ?6% /home/oracle/rmanlog
##############
5.修改/etc/fstab,實現開機自動掛載分區
紅色語句為新增的,因為格式時未指定LABEL,直接寫上分區名就可以。
[root@oel-01 ~]# vi /etc/fstab
LABEL=/? ?? ?? ?? ?? ???/? ?? ?? ?? ?? ?? ?? ???ext3? ? defaults? ?? ???1 1
LABEL=/boot? ?? ?? ?? ? /boot? ?? ?? ?? ?? ?? ? ext3? ? defaults? ?? ???1 2
tmpfs? ?? ?? ?? ?? ?? ? /dev/shm? ?? ?? ?? ?? ? tmpfs? ?defaults,size=3G? ?? ???0 0
devpts? ?? ?? ?? ?? ?? ?/dev/pts? ?? ?? ?? ?? ? devpts??gid=5,mode=620??0 0
sysfs? ?? ?? ?? ?? ?? ? /sys? ?? ?? ?? ?? ?? ???sysfs? ?defaults? ?? ???0 0
proc? ?? ?? ?? ?? ?? ???/proc? ?? ?? ?? ?? ?? ? proc? ? defaults? ?? ???0 0
LABEL=SWAP-sda3? ?? ?? ?swap? ?? ?? ?? ?? ?? ???swap? ? defaults? ?? ???0 0
LABEL=/backup? ?? ?? ???/backup? ?? ?? ?? ?? ???ext3? ? defaults? ?? ???0 0
/dev/sda6? ?? ?? ?? ?? ?/home/oracle/rmanlog? ? ext3? ? defaults? ?? ???0 0
"/etc/fstab" 10L, 634C written
[root@oel-01 ~]# mount -a? ???---這里沒有錯誤提示(執行語句無輸出)就證明寫入的語句沒問題。
[root@oel-01 ~]# mount -o remount,rw,auto /home/oracle/rmanlog??---同樣無出錯提示
注:mount -a? ?-a代表auto 是將 /etc/fstab 文件中的掛載內容全部重新掛載一次
mount -o remount,rw,auto /??-o remount 參數為重新掛載 rw為掛載為可讀寫 auto 是指定此文件系統是否以允許被mount -a 自動掛載查看分區及掛載,目錄已經掛載到新分區,進入掛載的目錄查看,文件都在。--完成。
[root@oel-01 ~]# df -h
Filesystem? ?? ?? ?? ?Size??Used Avail Use% Mounted on
/dev/sda2? ?? ?? ?? ???19G? ?13G??5.4G??71% /
/dev/sda1? ?? ?? ?? ???99M? ?21M? ?74M??22% /boot
tmpfs? ?? ?? ?? ?? ???3.0G??528M??2.5G??18% /dev/shm
/dev/sda5? ?? ?? ?? ? 4.6G??3.2G??1.2G??73% /backup
/dev/sda6? ?? ?? ?? ???99M??5.6M? ?89M? ?6% /home/oracle/rmanlog
[root@oel-01 ~]# cd /home/oracle/rmanlog
[root@oel-01 rmanlog]# ls
back01.log? ? back11.log??back13.log??back22.log??back24.log??rmanarch2013061815-40.log
back02_1.log??back12.log??back21.log??back23.log??lost+found
總結
以上是生活随笔為你收集整理的oracle 磁盘不分区吗,LINUX停ORACLE软件、数据文件等所在的磁盘分区空间不足的解决思路...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 网络编程详解一(IP套接字结
- 下一篇: linux 内核获取时间,Linux内核