一个Linux虚拟机上Oracle数据库磁盘空间不足的解决办法

问题描述:近日需要将测试数据库中的数据全部导出然后导入本地安装在linux虚拟机中的Oracle中,由于当时划给linux的磁盘空间只有8GB,现在剩余空间不足500MB,而从测试库导出的dmp文件有2GB多,这显然磁盘空间是不够的

解决办法:在linux虚拟机上再追加硬盘,分区格式化后,挂载到文件系统,然后把表空间指定到新的文件系统,再导入就ok啦,具体步骤如下:

1. 追加硬盘

关闭VM中的Linux操作系统,然后点击“编辑虚拟机设置”,然后追加一块硬盘(我试过了,好像追加的硬盘不能超过4GB,我追加了一块3.5GB的)

2. 给追加的硬盘分区并格式化

a. 启动VM中的Linux

b. 假定Linux中已经有一块硬盘/dev/sda,那么新增一块硬盘就是/dev/sdb,再增加一块就是/dev/sdc ...... 以此类推,

c. 以root用户登录

d. 使用 fdisk 命令对硬盘进行分区
fdisk /dev/sdb
p 打印分区表
t 转换分区表
w 写进分区表
n 新建分区 (最多4个主分区,第一个分区是/dev/sdb1,第二个是/dev/sdb2 ...... 以此类推)
d 删除分区
v 检查分区

e. 对新建的分区格式化
mkfs - 支持ext2,ext3,vfat,msdos,jfs,reiserfs等
用法1:mkfs -t
例:#mkfs -t ext3 /dev/sdb1
用法2:mkfs.
例:#mkfs.vfat /dev/sdb1

mke2fs-支持ext2/ext3文件系统
用法:mke2fs [-j]
例:#mke2fs -j /dev/sdb1
注: mke2fs加上-j的话,意思是加日志,就是ext3的分区。

3. 把追加的硬盘挂载到文件系统

mount /dev/sdb1 /oracledata
注: /oracledata目录要预先建好,如果前面的操作都成功了 df -am 命令就可以看到新挂载的硬盘了,这时候就可以正常使用了

4. 启动Oracle,删除原有表空间,假设表空间名是:TEST,sql如下:

drop tablespace TEST including contents and datafiles;

5. 在新硬盘上建立表空间

create tablespace TEST datafile '/oracledata/test.dbf' size 5m autoextend on next 10m maxsize unlimited;

6. 导入数据

imp pcrs/pcrs@10.10.10.3:1521/pcrs full=y file=D:\pcrs0918.dmp ignore=y

注意:exp的源数据库的表空间应该和TEST一致
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值