- 论坛徽章:
- 0
|
<div id="blog_text" class="cnt"><p>今天数据库在重启后,打开数据库时发生以下错误:<br>
SQL> alter database open;<br>
alter database open<br>
*<br>
ERROR at line 1:<br>
ORA-16038: log 1 sequence# 62 cannot be archived<br>
ORA-19504: failed to create file ""<br>
ORA-00312: online log 1 thread 1: '/oracle/oradata/zcglapp/redo01a.log'</p>
<p>原来是有一个日志不能归档,查看是那个日志组的文件不能归档。<br>
SQL> select group#,sequence# from v$log;</p>
<p> GROUP# SEQUENCE#<br>
---------- ----------<br>
1 62<br>
3 64<br>
2 63</p>
<p>原来是日志组一的一个日志不能归档。刚上线的系统,没有业务在跑,先想办法把数据库打开再说:<br>
SQL> alter database clear unarchived logfile group 1;</p>
<p>Database altered.</p>
<p>SQL> alter database open;</p>
<p>Database altered.</p>
<p>查看归档位置:<br>
SQL> show parameter archive</p>
<p>NAME TYPE VALUE<br>
------------------------------------ ----------- ------------------------------<br>
archive_lag_target integer 0<br>
log_archive_config string<br>
log_archive_dest string<br>
log_archive_dest_1 string location=/archive<br>
log_archive_dest_10 string<br>
log_archive_dest_2 string<br>
log_archive_dest_3 string<br>
log_archive_dest_4 string<br>
log_archive_dest_5 string<br>
log_archive_dest_6 string<br>
log_archive_dest_7 string<br>
...</p>
<p># ls -l |grep archive<br>
drwxr-xr-x 2 root system 256 Oct 28 13:12 archive<br>
原来归档位置权限问题,oracle用户没有往该目录写文件的权限。</p>
<p>更改该目录的权限:<br>
# chown oracle:oinstall /archive<br>
# chmod 775 /archive<br>
# ls -l |grep archive<br>
drwxrwxr-x 2 oracle oinstall 256 Oct 28 13:12 archive<br>
更改好后,再试一下:</p>
<p># su - oracle<br>
$ sqlplus / as sysdba<br>
SQL> alter system switch logfile;</p>
<p>System altered.<br>
SQL> exit<br>
$ ls -l /archive<br>
total 193816<br>
-rw-r----- 1 oracle oinstall 60623872 Nov 12 11:19 1_63_668354505.dbf<br>
-rw-r----- 1 oracle oinstall 13322240 Nov 12 11:19 1_64_668354505.dbf<br>
-rw-r----- 1 oracle oinstall 25272320 Nov 12 11:19 1_65_668354505.dbf</p>
<p>可见问题以解决。原来是目录权限导致的以上错误!</p></div> |
|