归档日志

delete删除数据造成归档日志增加,操作系统空间不足导致数据库hang住

♀尐吖头ヾ 提交于 2019-11-27 07:03:25
业务需求,对日志表历史数据进行清理。历史表均很大,使用delete 操作删除90天前的数据。 第一部分:快速删除数据 SQL> alter table CC.F_LOG parallel 4; SQL>alter session enable parallel dml; SQL> delete FROM CC.F_LOG S WHERE S.CREATE_DATE>(SYSDATE-90);执行计划确定并行 ----------------------------------------------- | Id | Operation | ----------------------------------------------- | 0 | DELETE STATEMENT | | 1 | PX COORDINATOR | | 2 | PX SEND QC (RANDOM) | | 3 | INDEX MAINTENANCE | | 4 | PX RECEIVE | | 5 | PX SEND RANGE | | 6 | DELETE | | 7 | BUFFER SORT | | 8 | PX RECEIVE | | 9 | PX SEND HASH (BLOCK ADDRESS)| |* 10 | INDEX RANGE SCAN | -------------------

postgreSQL 时间线

筅森魡賤 提交于 2019-11-27 05:07:24
“时间线”(Timeline)是PG一个很有特色的概念,在备份恢复方面的文档里面时有出现。但针对这个概念的详细解释却很少,也让人不太好理解,我们在此仔细解析一下。 时间线的引入 为了理解引入时间线的背景,我们来分析一下,如果没有时间线,会有什么问题?先举个将数据库恢复到以前时间点的例子。假设在一个数据库的运行过程 中,DBA在周三12:00AM删掉了一个关键的表,但是直到周五中午才发现这个问题。这个时候DBA拿出最初的数据库备份,加上存在归档目录的日志文 件,将数据库恢复到周三11:00AM的时间点,这样就能正常启动和运行。但是,DBA后来意识到这样恢复是不对的,想恢复到周四8:00AM的数据,这 时会发现无法做到:因为在数据库不断运行中,会产生与旧的WAL文件重名的文件,这些文件进入归档目录时,会覆盖原来的旧日志,导致恢复数据库需要的 WAL文件丢失。为了避免这种情况,需要区分原始数据库历史生成的WAL文件和完成恢复之后继续运行产生的(重名的)新WAL文件。整个过程如图1所示: 为了解决这个问题,PostgreSQL引入了时间线的概念。每当归档文件恢复完成后,创建一个新的时间线用来区别新生成的WAL记录。WAL文件名由时间线和日志序号组成,源码实现如下: #define XLogFileName(fname, tli, log, seg) \ snprintf(fname,

Oracle 归档日志

限于喜欢 提交于 2019-11-27 04:47:51
archive log list; #查看是否是归档方式 alter system set log_archive_start=false scope=spfile; #禁用自动归档 shutdown immediate; startup mount; #打开控制文件,不打开数据文件 (如果此处是Windows 系统,连接服务失败,具体解决办法就是在默认的Oracle监听(listener.ora)文件中静态注册存在的数据库服务https://www.cnblogs.com/mawanglin2008/p/3420411.html) alter database noarchivelog; #将数据库切换为非归档模式 alter database open; #将数据文件打开 archive log list; #查看此时便处于非归档模式 来源: https://blog.csdn.net/qq_30189805/article/details/99288755

Oracle-ora -00257-删除归档日志

佐手、 提交于 2019-11-27 02:23:33
select * from v$flash_recovery_area_usage; select sum(percent_space_used)*3/100 from v$flash_recovery_area_usag; show parameter recove; cd /u01/app/oracle/flash_recovery_area/实例名/archivelog;----路径 export ORACLE_SID=实例名----切换实例 rman target sys/sys (此处是账号和密码,如果错误的话也会连接上,但是清理日志的话无效) crosscheck archivelog all; delete archivelog until time ‘sysdate’;—删除包括今天的日子文件 delete expirde archivelog all;—删过期的log!一下的命令是删除过期的log,没有指定日期。 来源: https://blog.csdn.net/qq_30189805/article/details/99288327

oracle 归档设置

∥☆過路亽.° 提交于 2019-11-26 19:23:29
我们知道Oracle中 重做日志文件被分为若干组,当一组重做日志被写满,ORACLE就开始写下一组,这叫做日志切换。切换是以循环的方式进行的,即当最后一组写满后又从第一组开始写。所以如果只有重做日志,即oracle运行在非归档模式下,当遇到数据文件丢失或损坏时,oracle很难保证能够完全恢复数据库,因为可能所需的重做记录因为因重做日志循环被覆盖掉了。但在归档方式下,归档日志进程会把切换后的重做日志文件复制到归档日志文件,我们可以把归档日志文件看成是重做日志文件的备份,但归档日志文件是脱机的,即除了在进行复制时,ORACLE数据库在正常运行时是不会关注归档日志文件的。 所以我们应该把数据库改为归档模式。 1。关闭数据库 SQL> shutdown immediate; 2。启动数据库到mount状态 SQL> startup mount; 3。启用归档模式 SQL> alter database archivelog; 4。查看修改后的数据库备份和恢复策略及归档文件的位置 SQL> archive log list; 5.修改相应的初始化参数 Oracle10g之前,你还需要修改初始化参数使数据库处于自动归档模式。 可用SQL> show parameter log_archive_start;查看 NAME TYPE VALUE -------------------------

RMAN备份,catalog注册rman带库备份信息

烂漫一生 提交于 2019-11-25 23:53:54
客户需求:测试恢复的过程中,控制文件是全备时期的,recover database无法恢复到指定日期,控制文件中缺失后续新的归档备份信息。 方法:1.控制文件rman注册后续带库中的归档备份; 2.使用更新的控制文件进行恢复操作,其中自动包含归档日志信息,无需注册。 如果需要注册,Rman如何注册带库归档备份信息? HOW TO CATALOG TAPE BACKUP PIECES (Doc ID 550082.1) RMAN>CONFIGURE CHANNEL DEVICE TYPE 'SBT_TAPE' PARMS 'ENV=(NB_ORA_CLASS=oraclebkup, SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so)'; RMAN> CATALOG DEVICE TYPE 'SBT_TAPE' BACKUPPIECE 'lij1qaa3_1_1';    来源: https://www.cnblogs.com/lvcha001/p/11931544.html