今天有位同事来找我,说他自己搭建的Oracle 9i数据库在运行procedure一段时间后会hang住,除了SYS用户能登录外其他用户都不能登录,而且使用SYS用户登录后有些V$表还不能查询
我首先测试一下同事所说的情况,确实是这样
然后我查看alert文件,看到有些online redo log member错误
我又查看了初始化参数,总算找到的hang的原因--没有设置自动归档
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/9.2.0/dbs/arch
Oldest online log sequence 46
Next log sequence to archive 46
Current log sequence 48
SQL> show parameter log_archive_start
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
log_archive_start boolean FALSE
看到上面的log_archive_start为FALSE,说明Oracle 9i不会自动归档,当online redo log写满后,数据库将会停止在那里,解决方法是先手动归档这个online redo log,再更改这个参数为TRUE(要重启数据库)
SQL> alter system archive log current;
System altered.
SQL> alter system set log_archive_start = true scope=spfile;
System altered.
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
log_archive_start这个参数在Oracle 9i中是必须要设置成TRUE的,而在10g中,这个参数已经被废弃
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8745319/viewspace-589384/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8745319/viewspace-589384/