连接用户无响应,查询v$locked_object视图未响应(buffer busy waits或者log file switch (archiving needed))

一、发现问题

连接scott用户无响应(卡住),查询v$locked_object视图一直未响应(卡住)后查看/u01/app/oracle/diag/rdbms/chenmu/chenmu/trace/alert_chenmu.log文件发现没有任何错误或警告,后通过ls -lrth查询当天的chenmu_dia0_12295_base_1.trc发现以下问题,显示和阻塞相关的是sid为10,serial#为42263的会话,sql查询该会话的进程号是12301,查询进程号发现与日志写进程相关。

select username,lockwait,process from v$session where sid='10' and serial#='42263';  //查询得到process=12301
ps -ef |grep 12301;   //在系统界面查询该进程,发现与日志写进程相关

发现磁盘空间没有满,查看日志归档信息,Archive destination=USE_DB_RECOVERY_FILE_DEST,即/u01/app/oracle/fast_recovery_area/CHENMU/archivelog,想起在安装数据库时开启了归档,但是没有设置归档路径,ORACLE默人归档日志路径,进入该路径发现只归档到2022-08-05,之后的没有归档。

archive log list;  //Archive destination USE_DB_RECOVERY_FILE_DEST
show parameter db_recovery;  //显示/u01/app/oracle/fast_recovery_area
cd /u01/app/oracle/fast_recovery_area/CHENMU/archivelog;  //系统命令进入归档日志路径
du -sh *; //查看归档日志信息

 

从上面可以看出是归档日志空间不足造成的,修改日志归档路径。

 

二、解决问题

1、创建日志归档路径

mkdir /home/oracle/arch;
ll;  //查看目录所属用户和所属组,oracle和oinstall
chmod -R 775 /home/oracle/arch;

 

2、SQL命令修改日志归档路径

alter system set log_archive_dest_1='location=/home/oracle/arch';
alter system switch logfile; //可以看到 /home/oracle/arch有文件

//还没有进行正式产生数据的时候可以不用开启归档模式
shutdown immediate;
startup mount;
alter database noarchivelog;
alter database open;

 

posted @ 2022-08-09 20:24  微风徐徐$  阅读(340)  评论(0编辑  收藏  举报