ORA-19502: write error on file "", blockno (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

今天,在测试环境启动数据库时,报错:

SQL> startup;

ORACLE instance started.

Total System Global Area  285212672 bytes

Fixed Size     1218992 bytes

Variable Size    75499088 bytes

Database Buffers   205520896 bytes

Redo Buffers     2973696 bytes

Database mounted.

ORA-16038: log 2 sequence# 36 cannot be archived

ORA-19502: write error on file "", blockno  (blocksize=)

ORA-00312: online log 2 thread 1: '/disk/redofile/redo02.log'

ORA-00312: online log 2 thread 1: '/disk/redofile/redo02b.log'

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

磁盘空间满了,100%使用率,需要扩容。

扩展逻辑卷:

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

报错,这是因为卷组没有空间了。

当初划分磁盘空间的时候逻辑卷组rootvg的大小已经固定了。卷组的大小确定后是不能更改的。只有通过往卷组中添加物理卷来扩大卷组的空间。而物理卷要由新的分区/磁盘来创建。

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

关掉Linux,扩容。

--------------------------下面是扩容步骤------------------------

1:给当前虚拟机的虚拟硬盘扩容

找到VBoxManage所在安装位置:

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

找到你要扩容的虚拟硬盘的位置:

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

进入VirtualBox安装位置:

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

扩大虚拟硬盘容量(这里是扩展到30G):

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

报了上面那个错误。

出错原因:虚拟机用的是vmdk格式,这个命令只能支持vdi格式。

解决办法:克隆(将.vmdk格式的虚拟硬盘克隆成.vdi格式)。

如:

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

详细请参考http://www.cnblogs.com/yabingshi/p/3912554.html

继续上面的扩大虚拟硬盘容量:

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

--注意:vdi文件所在路径不能包含空格或是中文。

打开虚拟机,‘设置’->‘存储’,点击虚拟硬盘所在的控制器,点添加虚拟硬盘的按钮->选"使用现有的虚拟盘"->选中扩容后的vdi文件,确定后就看见控制器下多了一个硬盘图标。

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

删除原来的vmdk虚拟盘,

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

点击确定。

-----------------------------另外一个报错插曲------------------------

启动虚拟机,报错

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

之前是SATA 端口 2,改成端口0之后,可以正常启动了。

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

----------------------至此,插曲结束-------------------------

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

这时发现硬盘有空间了

2:添加物理分区:

[root@pc ~]# fdisk /dev/sda

如图:

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

现在查看一下,看到了新建的分区

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

重启:reboot

3:新加物理卷

[root@pc ~]# pvcreate /dev/sda3

Physical volume "/dev/sda3" successfully created

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

4:为卷组VolGroup00添加新的物理卷sda3来增大卷组的容量

[root@pc ~]# vgextend VolGroup00 /dev/sda3

Volume group "VolGroup00" successfully extended

5:扩展逻辑卷大小

[root@pc ~]# df -h

Filesystem            Size  Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

18G   17G  3.9M 100% /

/dev/sda1              99M   12M   82M  13% /boot

tmpfs                 506M     0  506M   0% /dev/shm

[root@pc ~]# lvextend -L +3G /dev/mapper/VolGroup00-LogVol00

Extending logical volume LogVol00 to 20.88 GB

Logical volume LogVol00 successfully resized

6:resize2fs命令

[root@pc ~]# resize2fs /dev/mapper/VolGroup00-LogVol00

--注意:resize和2fs之间没有空格。

resize2fs 1.39 (29-May-2006)

Filesystem at /dev/mapper/VolGroup00-LogVol00 is mounted on /; on-line resizing required

Performing an on-line resize of /dev/mapper/VolGroup00-LogVol00 to 5472256 (4k) blocks.

The filesystem on /dev/mapper/VolGroup00-LogVol00 is now 5472256 blocks long.

ORA-19502: write error on file "", blockno  (blocksize=)/linux下磁盘空间满了解决办法--Virtualbox

由原先的18G变成了现在的21G。

如果还是不够用的话,就再新建几个分区,添加对于的物理卷,为卷组扩容,扩展逻辑卷即可。

--本篇文章主要参考:http://wenku.baidu.com/link?url=XflbX2zH5epbdi1a6qTe3AGOiRkGs330zGtqw6XKocnJnL0DBjdbr_N8H5TsCiM99jyHz3ykXRIKaDYzTJemfYo7NO9BK8Wecb5k2GLaMoa

上一篇:CPU:chip、core 和 processor 的关系


下一篇:float之脱离文档流