ORACLE 目录磁盘空间不足解决方法
2012-04-21 16:38
453 查看
问题描述:
今天周六, 没想到还接到开发人员的电话说是需要给分区表增加一个索引字段(这是个大分区表共1T多数据1亿多行,1天做1个分区共190个分区),可能因为是菜鸟吧,对ORACLE了解得不够深,因此会遇到各种问题,还有很多东西需要学习的。我想,对整个表删除重建索引,定会需要很长时间,因此想着能不能给单个分区增加字段索引,在网上查了些资料没有找到相关资料,然后又打电话给开发人员,他们的建议是利用PL/SQL工具添加字段时(PL/SQL在进行大数据量增加字段索引时慎用,容易造成temp文件异常过大),于是我照做了,开始是反应特别慢,过了些时间再PL/.SQL报错,提示发生至命错误。于是检查ORACLE
发现登录不进去了,再检查磁盘,空间满了,du -sh /u01/* 列了一下 temp01.dbf 40多G。
环境说明:
RHEL6.2+ORACLE11_R2
分区:/ 200G,/u01 50G, /archvielog 500G , /app 3.0T
分区还得从规划磁盘空间使用说起,在规划之前其实就觉得/u01 空间太小,本以为50G就足够了,可后来证明是错误的,主要是TEMP,UNDO文件占用太大空间(有些方法可以必免产生undo,如:1, insert /*+ append */ into table_name, 2, 把表设置为不写日志,TEMP文件的必免产生的方法还没需要研究)
解决方法:
1,如果建立的是lvm,可以扩大分区的大小(具体操作找谷歌或度娘)
2, 创建一个临时表空间并将它设置为用户默认的临时表空间。
3,将/u01 下面的oracle 目录拷贝到一个空间比较大的分区上面(这里是使用移动目录做软链接实现)。
1), cp -r -p /u01/oracle /u01_bak/ #-r 拷目录 -p 保留权限 注意:用root用户拷贝
watch -n 1 du -sh /u01_bak # 这个命令可以查看拷贝情况
2), rm -rf /u01/oracle #确定拷贝完,或者把它移动到其它地方
3), ln -s /u01_bak/oracle /u01/oracle #这是重要的一步建立软链接
注意:rm -rf 删除软链接名加 "/"和不加"/"的区别, 加 '/'为删除软链接及软链接目录下面的所有文件,这里千万要注意。
=============================================================================================================
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任! 谢谢合作!
QQ: 164798858@qq.com
Sina: weibo.com/kaijunfeng
Yahoo: fffygapl@yahoo.com.cn
今天周六, 没想到还接到开发人员的电话说是需要给分区表增加一个索引字段(这是个大分区表共1T多数据1亿多行,1天做1个分区共190个分区),可能因为是菜鸟吧,对ORACLE了解得不够深,因此会遇到各种问题,还有很多东西需要学习的。我想,对整个表删除重建索引,定会需要很长时间,因此想着能不能给单个分区增加字段索引,在网上查了些资料没有找到相关资料,然后又打电话给开发人员,他们的建议是利用PL/SQL工具添加字段时(PL/SQL在进行大数据量增加字段索引时慎用,容易造成temp文件异常过大),于是我照做了,开始是反应特别慢,过了些时间再PL/.SQL报错,提示发生至命错误。于是检查ORACLE
发现登录不进去了,再检查磁盘,空间满了,du -sh /u01/* 列了一下 temp01.dbf 40多G。
环境说明:
RHEL6.2+ORACLE11_R2
分区:/ 200G,/u01 50G, /archvielog 500G , /app 3.0T
分区还得从规划磁盘空间使用说起,在规划之前其实就觉得/u01 空间太小,本以为50G就足够了,可后来证明是错误的,主要是TEMP,UNDO文件占用太大空间(有些方法可以必免产生undo,如:1, insert /*+ append */ into table_name, 2, 把表设置为不写日志,TEMP文件的必免产生的方法还没需要研究)
解决方法:
1,如果建立的是lvm,可以扩大分区的大小(具体操作找谷歌或度娘)
2, 创建一个临时表空间并将它设置为用户默认的临时表空间。
3,将/u01 下面的oracle 目录拷贝到一个空间比较大的分区上面(这里是使用移动目录做软链接实现)。
1), cp -r -p /u01/oracle /u01_bak/ #-r 拷目录 -p 保留权限 注意:用root用户拷贝
watch -n 1 du -sh /u01_bak # 这个命令可以查看拷贝情况
2), rm -rf /u01/oracle #确定拷贝完,或者把它移动到其它地方
3), ln -s /u01_bak/oracle /u01/oracle #这是重要的一步建立软链接
注意:rm -rf 删除软链接名加 "/"和不加"/"的区别, 加 '/'为删除软链接及软链接目录下面的所有文件,这里千万要注意。
=============================================================================================================
版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任! 谢谢合作!
QQ: 164798858@qq.com
Sina: weibo.com/kaijunfeng
Yahoo: fffygapl@yahoo.com.cn
相关文章推荐
- windows server 2008安装Oracle 11g r2先决条件检查失败,提示oracle 交换空间不足的解决方法
- Excel Access 新建空白文档/打开已有文档 提示内存或磁盘空间不足的解决方法--验证
- MSSQL errorlog 引起磁盘空间不足的解决方法
- undo retention Oracle 10g UNDO表空间过大导致磁盘空间不足的解决
- linux下安装Oracle时交换空间不足的解决方法
- [No0000115]打开Excel2016提示内存或磁盘空间不足的解决方法
- oracle undo表空间不足的解决方法
- fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法
- ubuntu下磁盘空间不足导致mysql无法启动的解决方法
- 瞎折腾导致/usr目录空间不足解决方法
- Oracle安装提示Oracle 主目录的磁盘空间不足.
- mysql-bin日志文件过大导致磁盘空间不足问题解决方法
- ubuntu弹出磁盘空间不足的解决方法
- mongodb所在目录空间不足解决方法
- excel导出时”内存或磁盘空间不足“错误的解决方法
- 安装大型SDK文件,C盘的磁盘空间不足的解决方法
- Oracle卸载方法和在XP下装Oracle9i遇到安装磁盘交换区没有足够空间的问题解决办法
- Excel导出时”内存或磁盘空间不足“错误的解决方法
- Excel导出时”内存或磁盘空间不足“错误的解决方法
- linux下安装Oracle时交换空间不足的解决方法