加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

闪回日志管理

发布时间:2020-12-15 17:32:33 所属栏目:百科 来源:网络整理
导读:闪回是在10g之后才有的,他与undo中的前影像数据不同,闪回日志是以数据块为单位的,而undo是以行为单位的 开启闪回 http://blog.csdn.net/zhuxiaoliao/article/details/41076109 查询闪回日志的基本信息 SQL ?select NAME,LOG#,THREAD#,SEQUENCE#,BYTES,FIR
闪回是在10g之后才有的,他与undo中的前影像数据不同,闪回日志是以数据块为单位的,而undo是以行为单位的 开启闪回 http://blog.csdn.net/zhuxiaoliao/article/details/41076109 查询闪回日志的基本信息 SQL> ?select NAME,LOG#,THREAD#,SEQUENCE#,BYTES,FIRST_CHANGE#,FIRST_TIME from v$flashback_database_logfile; NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LOG# ? ?THREAD# ?SEQUENCE# ? ? ?BYTES ? ?FIRST_CHANGE# FIRST_TIME -------------------------------------------------- ---------- ---------- ---------- ---------- ---------------- ----------------- /u01/app/oracle/db_recover_flashback_file/orcl/fl ? ? ? ? ?1 ? ? ? ? ?1 ? ? ? ? ?1 ? ?8192000 ? ?1103446979190 20141028 16:15:14 ashback/o1_mf_b4yn4kyx_.flb 在视图v$flashback_database_log中也可以查询到闪回日志的信息,但是不靠谱 闪回日志的参数 db_recovery_file_dest:闪回日志的存放路径 db_recovery_file_dest_size:闪回日志的大小 db_flashback_retention_target:闪回日志保留的时间 SQL> show parameter db_recovery_file_dest NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? ?VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest ? ? ? ? ? ? ? ?string ? ? ?/u01/app/oracle/db_recover_flashback_file db_recovery_file_dest_size ? ? ? ? ? big integer 200M SQL> show parameter db_flashback_retention_target NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? ?VALUE ------------------------------------ ----------- ------------------------------ db_flashback_retention_target ? ? ? ?integer ? ? 1440 SQL>column name format a30 SQL>column value format a25 SQL>   select ? ? ?  x.ksppinm name,? ? ?  y.ksppstvl value,? ? ?  y.ksppstdf isdefault,? ? ?  decode(bitand(y.ksppstvf,7),1,'MODIFIED',4,'SYSTEM_MOD','FALSE') ismod,2),2,'TRUE','FALSE') isadj ? ? ?  from ? ? ?  sys.x$ksppi x,? ? ?  sys.x$ksppcv y ? ? ?  where ? ? ?  x.inst_id = userenv('Instance') and ? ? ?  y.inst_id = userenv('Instance') and ? ? ?  x.indx = y.indx and ? ? ?  x.ksppinm like '%_&par%' ? ? ?  order by ? ? ?  translate(x.ksppinm,' _',' ') ? ? ?/ Enter value for par: minimum_db_flashback_retention old ?14:   x.ksppinm like '%_&par%' new ?14:   x.ksppinm like '%_minimum_db_flashback_retention%' NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ?VALUE ? ? ? ? ? ? ? ? ? ? ISDEFAULT ISMOD ? ? ?ISADJ ------------------------------ ?------------------------- --------- ---------- ----- _minimum_db_flashback_retention ? 60 ? ? ? ? ? ? ? ? ? ? ? ?TRUE ? ? ?FALSE ? ? ?FALSE 数据库级别的闪回种类 数据库打开闪回模式 创建普通闪回点 创建强制闪回点 而db_flashback_retention_target只在打开数据库闪回或者创建了普通闪回点时起作用,对强制闪回点是没有作用的! 在闪回中经常会出现闪回区空间不足的问题: SQL> !oerr ora 19815 19815,00000,"WARNING: %s of %s bytes is %s%% used,and has %s remaining bytes available." // *Cause: DB_RECOVERY_FILE_DEST is running out of disk space. // *Action: One of the following: // ? ? ? ? ?1. Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE. // ? ? ? ? ?2. Backup files to tertiary device using RMAN. // ? ? ? ? ?3. Consider changing RMAN retention policy. // ? ? ? ? ?4. Consider changing RMAN archivelog deletion policy. // ? ? ? ? ?5. Delete files from recovery area using RMAN. 估算闪回区的大小 若db_flashback_retention_target=6,每天的归档量是200G,则闪回区至少7*200=1400G 一般情况下,生产库很少开闪回,闪回空间不足时,在alert日志中会有提示; 若在生产库上开了闪回,且配置了dataguard,那么在操作系统空间允许和归档日志应用正常的情况下,往往还会在备库打开闪回。在备库中启动mrp进程应用归档日志的同时,还会启动PVWR进程将日志应用期间的变化块写到闪回日志文件中,通过这一功能可进一步提高生产库的可用性,但当闪回空间不足时,MRP进程应用归档日志时将会挂起,报错: ORA-38701:flashback database log 119 seq 119 thread 1: "/u01/app/oracle/db_flashback_files/o1_mf_b4yt92jk_.flb" ORA-27901:unable to queue I/O ORA-27901:File I/O error 当空间不足时如何处理 此时千万不要在操作系统层面手动删除闪回日志,否则数据库将无法启动 SQL> select NAME,BYTES from v$flashback_database_logfile; NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? LOG# ? ?THREAD# ?SEQUENCE# ? ? ?BYTES -------------------------------------------------------------------------------- ?----- ---------- ---------- ---------- /u01/app/oracle/db_recover_flashback_file/orcl/flashback/o1_mf_b4yn4kyx_.flb ? ? ? ? 1 ? ? ? ? ?1 ? ? ? ? ?1 ? ?8192000 /u01/app/oracle/db_recover_flashback_file/orcl/flashback/o1_mf_b4yt92jk_.flb ? ? ? ? 2 ? ? ? ? ?1 ? ? ? ? ?2 ? ?4096000 /u01/app/oracle/db_recover_flashback_file/orcl/flashback/o1_mf_b4z1b3jg_.flb ? ? ? ? 3 ? ? ? ? ?1 ? ? ? ? ?3 ? ?3981312 SQL> !rm /u01/app/oracle/db_recover_flashback_file/orcl/flashback/o1_mf_b4z1b3jg_.flb? SQL> startup force ORACLE instance started. Total System Global Area ?276824064 bytes Fixed Size ? ? ? ? ? ? ? ? ?2095640 bytes Variable Size ? ? ? ? ? ? 100664808 bytes Database Buffers ? ? ? ? ?167772160 bytes Redo Buffers ? ? ? ? ? ? ? ?6291456 bytes Database mounted. ORA-38760: This database instance failed to turn on flashback database 此时有两种处理方法: 1)、重建控制文件 2)、关闭闪回 SQL> alter database flashback off; Database altered. 告警日志中提示: alter database flashback off Tue Oct 28 20:03:34 CST 2014 Stopping background process RVWR Deleted Oracle managed file /u01/app/oracle/db_recover_flashback_file/orcl/flashback/o1_mf_b4yn4kyx_.flb Deleted Oracle managed file /u01/app/oracle/db_recover_flashback_file/orcl/flashback/o1_mf_b4yt92jk_.flb Deleted Oracle managed file /u01/app/oracle/db_recover_flashback_file/orcl/flashback/o1_mf_b4z1b3jg_.flb Flashback Database Disabled? SQL> alter database open; Database altered. 正确的处理方法: 1)关闭闪回 2)若创建了普通闪回点,删除之 3)减小db_flashback_retention_target和db_recovery_file_dest_size的大小,间接删除闪回区大小

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读