oracle简单运维

2018-01-04 14:15:09来源:http://www.live-in.org/archives/2801.html作者:天使羊波波闪耀光芒人点击

分享

oracle数据库磁盘满了,常用的处理方法:


1)清空无用的大表


2)删除日志


3)转移表空间文件


一、准备工作


0、切换到oracle用户


su - oracle

1、查看oracle安装目录


echo $ORACLE_HOME
/u01/oracle/product/10.2.0/db_1

2、查看实例名称


echo $ORACLE_SID
pbcssit

二、清空无用的大表


1、查看数据占用大小


select * from dba_segments where owner = 'NPBCS';

plsql在BYTES列,右键 - Column Totals - Sum



可以看到数据占用了6G多的空间


建议:按照BYTES大小降序排列,查看是否有历史表、临时表可以清空


2、查看表空间文件


select * from dba_data_files;

查看表空间文件占用磁盘大小,关闭自增功能,修改AUTOEXTENSIBLE为NO


因为有些表自动扩展是无限制的,会把磁盘都占满,测试环境可以把表空间初始值设置的大一点,如果满了手工添加



3、查看表空间剩余大小


select * from dba_free_space;

三、删除日志


1、cd到oracle安装目录下



du -sh *
4.8M
adump
5.5G
bdump
73M
cdump
8.0K
dpdump
8.0K
pfile
3.0G
udump

删除365天前的文件:


find . -name "*" -mtime +365 -exec rm -rf {} /;

四、转移表空间文件


通过软链接把表空间文件移动到有空闲空间的磁盘。



五、oracle状态查询


1、查看oracle自有进程


ps -ef | grep ora_

2、查看oracle SID


echo $ORACLE_SID

3、查看oracle安装目录


echo $ORACLE_HOME

4、查看oracle连接数


ps -ef | grep oracle

看 (LOCAL=NO) 数量,表示不是本地连接,为外部连接进来的



5、查看系统session数量


select * from v$session;

6、查看参数文件配置


select * from v$parameter;


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台