Oracle恢复全部激活

ecfdbz9o  于 2023-10-16  发布在  Oracle
关注(0)|答案(2)|浏览(82)

首先,我对成为一名OracleDba几乎一无所知。我负责管理使用第三方编写的Oracle 11 g的应用程序。我们的应用程序/数据库在过去7年中一直保持稳定。突然之间,我们遇到了数据库缓慢/锁定/崩溃。应用程序的开发人员似乎认为这与我们的重做日志有关。我不能说他是对还是错,但根据我阅读到目前为止,我们所有的日志文件都不应该是活动的。

似乎当这些日志填满时,我们会遇到各种问题。干净地停止和重新启动数据库确实会清除这些日志文件,应用程序再次变得可用,但这需要很长时间,并对我们的业务能力产生不利影响。
有没有想过为什么这些日志文件不切换和不活动?我们怎么找到病因?我们可以使用ALTER SYSTEM LOGFILE强制切换吗??
再说一次,我对Oracle DBA知之甚少,但我们的软件开发人员自周五以来一直无法解决这个问题,我非常需要帮助。期待了解更多关于这一点。
先谢了。

z4bn682m

z4bn682m1#

如果你写日志的目的地被填满了,那会冻结你的系统。
我会检查,看看是否有abd不寻常的尖峰每小时和每天的基础上。

Hourly Archive Log Generation :

set pages 1000
alter session set nls_date_format = 'DD-MON-YYYY HH24:MI:SS';

select trunc(COMPLETION_TIME,'HH') Hour,thread# , 
round(sum(BLOCKS*BLOCK_SIZE)/1024/1024/1024) GB,
count(*) Archives from v$archived_log 
group by trunc(COMPLETION_TIME,'HH'),thread#  order by 1 ;

Daily Archive Log Generation :

SQL> select trunc(COMPLETION_TIME,'DD') Day, thread#, 
round(sum(BLOCKS*BLOCK_SIZE)/1024/1024/1024) GB,
count(*) Archives_Generated from v$archived_log 
group by trunc(COMPLETION_TIME,'DD'),thread# order by 1;

其次,您可能需要考虑运行rman命令来释放空间,例如

DELETE expired;
DELETE obsolete;

最后,将警报日志上传到Oracle支持。在11g中,这可能是有问题的,因为该版本已被取消支持多年

j2datikz

j2datikz2#

假设你没有空间,阻塞会话或任何其他问题,只是对活动重做日志的问题。
状态ACTIVE意味着重做日志中的某些数据更改此时尚未写入数据文件。您可以执行检查点以强制将所有重做写入数据文件。

SQL> alter system checkpoint;

System altered.

检查点完成后,您可以再次检查所有重做日志的状态。他们现在应该不活跃。

相关问题