视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle闪回区满(ORA-16014)
2020-11-09 10:28:12 责编:小采
文档


一台老的测试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

下载本文
显示全文
专题