[20200114]关于log_archive_dest_1设置.txt --//别人问的问题,如果不设置log_archive_dest_1,实际上归档目的设置在log_archive_dest_10并且等于USE_DB_RECOVERY_FILE_DEST. --//我个人建议最好不要这样设置,因为这样如果产生大事务或者异常事务,会导致fast_recovery_area满了,归档日志无法归档,导致 --//系统挂起,维护管理非常被动。 --//启动数据库时可以发现如下信息: Using LOG_ARCHIVE_DEST_1 parameter default value as USE_DB_RECOVERY_FILE_DEST。 --//另外的问题就是如果设置log_archive_dest_1等于db_recovery_file_dest的值,为什么归档日志占用很大的磁盘空间,oracle不会出现 --//无法归档,系统挂起的情况。例子: 1.环境: xxxxx> @ ver1 PORT_STRING VERSION BANNER ------------------------------ -------------- -------------------------------------------------------------------------------- x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production xxxxx> show parameter recovery NAME TYPE VALUE -------------------------- ----------- ------ db_recovery_file_dest string +DATA ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ db_recovery_file_dest_size big integer 10G recovery_parallelism integer 0 --//db_recovery_file_dest_size设置太小。 xxxxx> show parameter log_archive_dest_1 NAME TYPE VALUE ------------------ ------- -------------- log_archive_dest_1 string LOCATION=+DATA --//log_archive_dest_1 值 等于 db_recovery_file_dest的设置。 2.查询: xxxxx> select * from v$flash_recovery_area_usage; FILE_TYPE PERCENT_SPACE_USED PERCENT_SPACE_RECLAIMABLE NUMBER_OF_FILES -------------------- ------------------ ------------------------- --------------- CONTROL FILE .06 0 1 REDO LOG 0 0 0 ARCHIVED LOG 0 0 0 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ BACKUP PIECE 0 0 0 IMAGE COPY 0 0 0 FLASHBACK LOG 0 0 0 FOREIGN ARCHIVED LOG 0 0 0 7 rows selected. --//注意下划线,可以发现FILE_TYPE='ARCHIVED LOG'. --//如果查询select view_definition from V$FIXED_VIEW_DEFINITION where view_name='V$RECOVERY_AREA_USAGE';。 --//注意显示是被截断的,view_definition仅仅显示4000字节。 --//你可以查询v$sql,查询包含fusg.file_type,字串的sql语句,发现如下 /* Formatted on 2020/1/14 17:41:47 (QP5 v5.269.14213.34769) */ SELECT fusg.file_type ,DECODE ( NVL2 (ra.name, ra.space_limit, 0) ,0, 0 ,ROUND (NVL (fusg.space_used, 0) / ra.space_limit, 4) * 100 ) ,DECODE ( NVL2 (ra.name, ra.space_limit, 0) ,0, 0 ,ROUND (NVL (fusg.space_reclaimable, 0) / ra.space_limit, 4) * 100 ) ,NVL2 (ra.name, fusg.number_of_files, 0) FROM v$recovery_file_dest ra , (SELECT 'CONTROL FILE' file_type ,SUM ( CASE WHEN ceilasm = 1 AND name LIKE '+%' THEN CEIL ( ( (block_size * file_size_blks) + 1) / 1048576 ) * 1048576 ELSE block_size * file_size_blks END ) space_used ,0 space_reclaimable ,COUNT (*) number_of_files FROM v$controlfile, (SELECT /*+ no_merge */ ceilasm FROM x$krasga) WHERE is_recovery_dest_file = 'YES' UNION ALL SELECT 'REDO LOG' file_type ,SUM ( CASE WHEN ceilasm = 1 AND MEMBER LIKE '+%' THEN CEIL ( (l.bytes + 1) / 1048576) * 1048576 ELSE l.bytes END ) space_used ,0 space_reclaimable ,COUNT (*) number_of_files FROM (SELECT group#, bytes FROM v$log UNION SELECT group#, bytes FROM v$standby_log) l ,v$logfile lf ,(SELECT /*+ no_merge */ ceilasm FROM x$krasga) WHERE l.group# = lf.group# AND lf.is_recovery_dest_file = 'YES' UNION ALL SELECT 'ARCHIVED LOG' file_type ,SUM (al.file_size) space_used ,SUM (CASE WHEN dl.rectype = 11 THEN al.file_size ELSE 0 END) space_reclaimable ,COUNT (*) number_of_files FROM (SELECT recid ,CASE WHEN ceilasm = 1 AND name LIKE '+%' THEN CEIL ( ( (blocks * block_size) + 1) / 1048576 ) * 1048576 ELSE blocks * block_size END file_size FROM v$archived_log, (SELECT /*+ no_merge */ ceilasm FROM x$krasga) WHERE is_recovery_dest_file = 'YES' AND name IS NOT NULL) al ,x$kccagf dl WHERE al.recid = dl.recid(+) AND dl.rectype(+) = 11 UNION ALL SELECT 'BACKUP PIECE' file_type ,SUM (bp.file_size) space_used ,SUM (CASE WHEN dl.rectype = 13 THEN bp.file_size ELSE 0 END) space_reclaimable ,COUNT (*) number_of_files FROM (SELECT recid ,CASE WHEN ceilasm = 1 AND handle LIKE '+%' THEN CEIL ( (bytes + 1) / 1048576) * 1048576 ELSE bytes END file_size FROM v$backup_piece, (SELECT /*+ no_merge */ ceilasm FROM x$krasga) WHERE is_recovery_dest_file = 'YES' AND handle IS NOT NULL) bp ,x$kccagf dl WHERE bp.recid = dl.recid(+) AND dl.rectype(+) = 13 UNION ALL SELECT 'IMAGE COPY' file_type ,SUM (dc.file_size) space_used ,SUM (CASE WHEN dl.rectype = 16 THEN dc.file_size ELSE 0 END) space_reclaimable ,COUNT (*) number_of_files FROM (SELECT recid ,CASE WHEN ceilasm = 1 AND name LIKE '+%' THEN CEIL ( ( (blocks * block_size) + 1) / 1048576 ) * 1048576 ELSE blocks * block_size END file_size FROM v$datafile_copy, (SELECT /*+ no_merge */ ceilasm FROM x$krasga) WHERE is_recovery_dest_file = 'YES' AND name IS NOT NULL) dc ,x$kccagf dl WHERE dc.recid = dl.recid(+) AND dl.rectype(+) = 16 UNION ALL SELECT 'FLASHBACK LOG' file_type ,NVL (fl.space_used, 0) space_used ,NVL (fb.reclsiz, 0) space_reclaimable ,NVL (fl.number_of_files, 0) number_of_files FROM (SELECT SUM ( CASE WHEN ceilasm = 1 AND name LIKE '+%' THEN CEIL ( (fl.bytes + 1) / 1048576) * 1048576 ELSE bytes END ) space_used ,COUNT (*) number_of_files FROM v$flashback_database_logfile fl ,(SELECT /*+ no_merge */ ceilasm FROM x$krasga)) fl , (SELECT SUM (TO_NUMBER (fblogreclsiz)) reclsiz FROM x$krfblog) fb UNION ALL SELECT 'FOREIGN ARCHIVED LOG' file_type ,SUM (rlr.file_size) space_used ,SUM ( CASE WHEN rlr.purgable = 1 THEN rlr.file_size ELSE 0 END ) space_reclaimable ,COUNT (*) number_of_files FROM (SELECT CASE WHEN ceilasm = 1 AND rlnam LIKE '+%' THEN CEIL ( ( (rlbct * rlbsz) + 1) / 1048576) * 1048576 ELSE rlbct * rlbsz END file_size ,CASE WHEN BITAND (rlfl2, 4096) = 4096 THEN 1 WHEN BITAND (rlfl2, 8192) = 8192 THEN 1 ELSE 0 END purgable FROM x$kccrl, (SELECT /*+ no_merge */ ceilasm FROM x$krasga) WHERE BITAND (rlfl2, 64) = 64 AND rlnam IS NOT NULL) rlr) fusg --//可以发现有1个条件is_recovery_dest_file = 'YES'限制查询结果。 xxxxx> select distinct is_recovery_dest_file from V$ARCHIVED_LOG where dest_id=1; IS_ --- NO --//正是这个限制导致查询v$flash_recovery_area_usage看到的情况。 --//如果执行如下(以sys用户执行): SELECT 'ARCHIVED LOG' file_type ,SUM (al.file_size) space_used ,SUM (CASE WHEN dl.rectype = 11 THEN al.file_size ELSE 0 END) space_reclaimable ,COUNT (*) number_of_files FROM (SELECT recid ,CASE WHEN ceilasm = 1 AND name LIKE '+%' THEN CEIL ( ( (blocks * block_size) + 1) / 1048576 ) * 1048576 ELSE blocks * block_size END file_size FROM v$archived_log, (SELECT /*+ no_merge */ ceilasm FROM x$krasga) WHERE is_recovery_dest_file = 'NO' AND name IS NOT NULL and dest_id=1 ) al ,x$kccagf dl WHERE al.recid = dl.recid(+) AND dl.rectype(+) = 11; FILE_TYPE SPACE_USED SPACE_RECLAIMABLE NUMBER_OF_FILES ------------ ------------ ----------------- --------------- ARCHIVED LOG 14044626944 0 709 --//SPACE_USED=14044626944 --//14044626944/1024/1024/1024 = 13.08G,超出了db_recovery_file_dest_size的限制。 --//执行asmcmd $ asmcmd -p du +DATA/xxxxx/ARCHIVELOG Used_MB Mirror_used_MB 16547 16547 --//大于前面的值(13g),主要问题在于不知道为什么有2017年的一部分归档没有删除。 $ asmcmd -p ls +DATA/xxxxx/ARCHIVELOG 2017_02_09/ 2017_02_10/ 2017_02_11/ 2017_02_12/ 2017_02_13/ 2017_02_14/ 2017_02_15/ 2017_02_16/ 2017_02_17/ 2019_04_28/ 2020_01_08/ 2020_01_09/ 2020_01_10/ 2020_01_11/ 2020_01_12/ 2020_01_13/ 2020_01_14/ 2020_01_15/
[20200114]关于log_archive_dest_1设置.txt
来源:这里教程网
时间:2026-03-03 14:46:51
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- oracle分区表详解
oracle分区表详解
26-03-03 - Oracle 12c新特性维护表分区Global Index不失效
Oracle 12c新特性维护表分区Global Index不失效
26-03-03 - 如何在Oracle 12.2或更高版本上为PDB级别创建AWR?
如何在Oracle 12.2或更高版本上为PDB级别创建AWR?
26-03-03 - undo表空间的作用和管理
undo表空间的作用和管理
26-03-03 - 体系_sql语句解析执行步骤
体系_sql语句解析执行步骤
26-03-03 - Oracle SYSAUX表空间维护
Oracle SYSAUX表空间维护
26-03-03 - Oracle之11g DataGuard
Oracle之11g DataGuard
26-03-03 - ACE(03):努力了,总会有收获
ACE(03):努力了,总会有收获
26-03-03 - DataGuard环境中主库RMAN删除归档时报ORA-08137
DataGuard环境中主库RMAN删除归档时报ORA-08137
26-03-03 - SQL查询疑惑
SQL查询疑惑
26-03-03
