您好,欢迎访问一九零五行业门户网

Oracle闪回区满(ORA-16014)

一台老的测试aix服务器,没人理过,最近一看oracle闪回满了。清理了下。version: oracle 10gr2 for aix
一台老的测试aix服务器,,没人理过,最近一看oracle闪回满了。清理了下。
version: oracle 10gr2 for aix
现象:
sql> alter database open;
alter database open
*
error at line 1:
ora-16014: log 3 sequence# 157 not archived, no available destinations
ora-00312: online log 3 thread 1:
'/opt/oracle/software/oradata/orcl/redo03.log'
报这个错误是因为闪回区满了:
-- 扩大闪回区空间
sql> alter system set db_recovery_file_dest_size=3g scope=both;
system altered.
sql> alter database open;
database altered.
闪回区相关信息查询:
--查看归档模式
 sql> archive log list;
--归档空间使用率
sql> select * from v$flash_recovery_area_usage;
--闪回区所占用的空间
sql> select sum(percent_space_used)*3/100 from v$flash_recovery_area_usage;
释放空间:
--删除备份
crosscheck backupset;
delete noprompt expired backupset;
delete obsolete;
delete noprompt expired backup;
delete noprompt expired copy;
--清掉归档
--清掉过期的归档
crosscheck archivelog all;
delete noprompt expired archivelog all;
--要还不够,强制删除掉指定天数前的归档
delete noprompt archivelog all completed before 'sysdate-7';
除了在闪回区删文件,或扩空间的方式,还可以通过将归档指定到其它目录的方式来做。
sql> alter system set log_archive_dest_1='location=/nfsdisk/oraarc' scope=both ;
system altered.
sql> archive log list;
database log mode              archive mode
automatic archival            enabled
archive destination            /nfsdisk/oraarc
oldest online log sequence    161
next log sequence to archive  161
current log sequence          163
设完成后,测试一下:
sql>alter system switch logfile;
但我测试时,因为粗心,授权时没注意,导致执行时发现被卡住了,检查v$archive_dest,
发现log_archive_dest_1状态为error. 这个是目录权限问题引起的。
sql> col destination format a20
sql> col dest_name format a20
sql> select dest_id,dest_name,status,destination from v$archive_dest;
  dest_id dest_name            status            destination
---------- -------------------- ------------------ --------------------
        1 log_archive_dest_1  error              /nfsdisk/oraarc
        2 log_archive_dest_2  inactive
        3 log_archive_dest_3  inactive
        4 log_archive_dest_4  inactive
        5 log_archive_dest_5  inactive
        6 log_archive_dest_6  inactive
        7 log_archive_dest_7  inactive
        8 log_archive_dest_8  inactive
        9 log_archive_dest_9  inactive
        10 log_archive_dest_10  inactive
10 rows selected.
重新授权一下目录所属用户和权限:
# chown oracle:oinstall /nfsdisk/oraarc
# chmod -r 777 /nfsdisk/oraarc
其它类似信息

推荐信息