将数据库启动到mount模式,设置为归档模式
alter database archivelog;
alter database open;
在mount模式或者open模式下执行以下命令
alter system set log_archive_dest_1='location=/oradata/orabak1' ;
alter system set log_archive_dest_2='location=/oradata/orabak2' ;
alter system set log_archive_dest_3='location=/oradata/orabak3' ;
alter system set log_archive_dest_4='location=/oradata/orabak4' ;
alter system set log_archive_dest_5='service=d11 mandatory' ;
将前4组设成本地,第5组设为远程,并且为mandatory。
create pfile from spfile;
查看pfile,在$ORACLE_HOME/dbs下。
*.log_archive_dest_1='location=/oradata/orabak'
*.log_archive_dest_2='location=/oradata/orabak2'
*.log_archive_dest_3='location=/oradata/orabak3'
*.log_archive_dest_4='location=/oradata/orabak4'
*.log_archive_dest_5='service=d11 mandatory'
将LOG_ARCHIVE_DEST_5指定为强制归档
然后多执行几次切换日志操作
alter system switch logfile;
进行归档操作。
create table t1 as select * from dba_object;
insert into t1 select * from t1;
连续多执行几次,发现insert操作卡住了,
再执行别的ddl操作或者insert,update操作,发现都卡住了,
就是说 oracle夯住了。
只可以执行select操作。
可以看看oracle的alert日志
11G的alert日志位置
alert log XML 文件位置:
SQL> select value from v$diag_info where name ='Diag Alert';
VALUE
---------------------------------------------------------------
d:/app/administrator/diag/rdbms/mynewccs/mynewccs/alert
Alert log 文本文件位置:
SQL> select value from v$diag_info where name ='Diag Trace';
在alter日志的最后行可以看到
ORA-00312: online log 7 thread 1: '/oradata/ora11g/redo07b.log'
ARC0: LGWR is actively archiving destination LOG_ARCHIVE_DEST_5
ORA-12154: TNS:could not resolve the connect identifier specified
PING[ARC3]: Heartbeat failed to connect to standby 'd11'. Error is 12154.
可以看出LOG_ARCHIVE_DEST_5无法完成归档。
执行 alter system set log_archive_dest_5='';
将log_archive_dest_5置为空
然后发现卡住的操作可以继续啦。
总结:log_archive_dest_n 设置为mandatory 时,如果此目标无法完成归档,则oracle将会夯住。