admin 管理员组文章数量: 1087139
2024年4月18日发(作者:局部变量和成员变量的区别)
问题描述:近日需要将测试数据库中的数据全部导出然后导入本地安装在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.
例:# /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/' size 5m autoextend on next 10m
maxsize unlimited;
6. 导入数据
imppcrs/**********.10.3:1521/pcrsfull=yfile=D:ore=y
注意:exp的源数据库的表空间应该和TEST一致 表空间是可以指定多个存储文件的,
如果上例中新挂的/dev/sdb1也用完了,可以按照前面的步骤再挂载一块硬盘到文件系统,
假设新挂载:
C代码
mount /dev/sdc1 /oracledata2
mount /dev/sdc1 /oracledata2
那么可以再给TEST表空间追加新的存储文件,假设叫做/oracledata2/,sql如下:
Sql代码
alter tablespace TEST add datafile '/oracledata2/' size 5m autoextend on next 10m
maxsize unlimited;
alter tablespace TEST add datafile '/oracledata2/' size 5m autoextend on next 10m
maxsize unlimited;
ps:如果想让linux每次启动时自动挂载新硬盘,可以vi编辑 ' /etc/fstab ' 文件,在该文件
末尾追加:
C代码
/dev/sdb1 /oracledata ext3 defaults
0 0
/dev/sdc1 /oracledata2 ext3 defaults
0 0教你如何用WORD文档 (2012-06-27 192246)转载▼
标签: 杂谈
版权声明:本文标题:一个linux虚拟机上oracle数据库磁盘空间不足的解决办法 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/b/1713416584a633547.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论