oralce删除归档
今天去别的系统帮忙了,觉得事情虽然小,但遇上了还是写下吧,万一哪天用的上呢?
查询后空间使用率97%,归档占用45%(计算出来的)
1.rman和sqlplus登录失败
报错超出了最大进程数150
首先kill掉了一些无关的oracle进程:
ps -ef| grep oracle
kill -9 进程号(注意选择local=no/yes的进程)
稍等一会儿即可进入
2.删除归档
rman target /
DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
做完这个删除,本人建议马上进行全备份数据库,不过系统好像不太重要,没人理(尴尬)
crosscheck archivelog all;
delete expired archivelog all;
此时查看空间剩余55%,ok
3 修改最大连接数
alter system set processes=500 scope=spfile;
重启数据库查看,修改成功
【注:sessions是个派生值,由processes的值决定,公式sessions=1.1*process + 5】
附:自己操作下面
如何查询数据库当前进程的连接数?
select count(*) from v$process;
如何查看数据库当前会话的连接数?
select count(*) from v$session;
如何查看数据库的并发连接数?
select count(*) from v$session where status='ACTIVE';
如何查看当前数据库建立的会话情况?
select sid,serial#,username,program,machine,status from v$session;
如何查询数据库允许的最大连接数?
select value from v$parameter where name = 'processes'; --查询数据库允许的最大连接数:
select value from v$parameter where name = 'sessions'; --原则上是进程数量控制了client的连接数量 ,会话数应该大于进程数:
或
select resource_name,max_utilization,limit_value from v$resource_limit where resource_name in('processes','sessions');