最近在因归档日志暴增,使用delete archivelog all貌似无法清除所有的归档日志,到底是什么原因呢? 1.演示环境 SQL> select * from v$version where rownum<2; BANNER ---------------------------------------------------------------- Oracle Database 10g Release 10.2.0.3.0 - 64bit Production SQL> s…
当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复. 二.把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的…
今天给客户测 试问题,让客户把数据发过来了.解压缩后一看,他们还是用的oracle 815版本的(他们exp导出时,带了导出日志,从导出日志中看出来是oracle 815版本的),不过没有关系,低版本的exp是可以用高版本的imp导入到高版本数据库中的.一看是导入还很正常,导入到其中某个表的时候,突然就不动 了.一开始我还没有弄明白怎末回事.后来,无意中看到了 计算机管理--事件查看器中 ,有很多报错信息: Archive process error: ORA-16038: log 1 sequ…
当ORACLE归档日志满后如何正确删除归档日志 版权声明:本文为博主原创文章,未经博主允许不得转载. 当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复. 二.把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是…
工作环境ORACLE 11g 归档日志满了,手动删除出现 ora 异常. 注:工作环境是linux redhat 5 执行命令如下: 1. 进入rman 2. connect target / 3. crosscheck archivelog all; 4. delete expired archivelog all; 执行到最后一步出现异常 RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream…
查看归档模式: SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination /OraLog/arch Oldest online log sequence Next log sequence to archive Current log sequence 修改oracle日志模式(是否归档) 1. 关闭数据库:shutdown immediate; 2.…
在ORACLE用户下的定时器设置 [oracle@SHARKDB dbscripts]$ crontab -l# minute hour day month week15 1  * * 0  sh /home/oracle/dbscripts/backup_full.sh05 3  * * *  sh /home/oracle/dbscripts/del_arc.sh 全备脚本 先配置保留时间窗口,配置备份目录和格式,然后交叉检查所有备份集. 删除无效备份集,删除过期对象,进行全备份并压缩..…
ORACLE 正确删除归档日志的方法 我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件的相关信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除 archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了,这时候我们要做手工的清除的话,下面我经过实验,可以…
我们都知道在controlfile中记录着每一个archivelog文件的相关信息,当然们在OS下把这些物理文件delete掉后,在我们的controlfile中仍然记录着这些archivelog文件的相关信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除 archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,也就是oracle并不知道这些文件已经不存在了,这时候我们要做手工的清除的话,下面我经过实验,可以尝试这种方法: 1.进入rman [r…
1.编辑删除归档日志的脚本----/home/oracle/clearlog.sh #! /bin/bash source ~/profile_orcl#记录归档删除的日志exec >> /home/rman_log/log/del_arch`date +%F-%H`.log $ORACLE_HOME/bin/rman target / <<EOF#检查归档crosscheck archivelog all; #列出无效的归档日志list expired archivelog al…
问题: 客户环境12.2 dg备库环境,定时清理归档脚本并未正常清理归档日志文件. 观察日志可以发现存在如下信息 RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process . 一般情况下,如果在备库环境或者主库环境,配置归档清理测量后,DG环境未应用归档将不允许删除. 本次排查RMAN清理归档策略默认,且无法删除的归档日志在DG视图v$archived_log 中ap…
今天遇到Oracle报这样的错:ORA-00257 查看了下,原来是Oracle的归档日志满了,解决方案两个 一:增加归档日志大小 二:删除无用的归档日志(我们选择这个方案) 什么也不说了Linux下命令上: Linux删除归档文件--> su - oracle--> rman --> RMAN> connect target sys/sys_passwd--> RMAN> crosscheck archivelog all;--> RMAN> DELETE…
------------------方法1在主库上使用备份的进行恢复丢失的归档日志-------------------------1.发现主库备份后删除了归档,但是这些归档从库还没应用,也没有传到从库从库应用的最新的归档日志为592SQL> connect / as sysdbaConnected.SQL> Select Max(t.SEQUENCE#) From V$archived_Log t; MAX(T.SEQUENCE#)---------------- 592 主库的归档日志SQ…
1. 连接 RMAN 管理 rman target / 2. 查看归档日志列表 RMAN> crosscheck archivelog all; 3. 删除所有归档日志 RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE'; 4. 清空V$ARCHIVED_LOG SQL> execute sys.dbms_backup_restore.resetCfileSection(11); 5. 查看 V$ARCHIVED_LOG SQL&…
一.报错信息 前几天网站突然访问不了,并且报了如下错误: ora-27101: shared memory realm does not exist ora-01034: oracle not available 11g ORA-24324: service handle not initialized 原因:由于数据库归档日志满了,不能继续往数据库里写数据. 二.查看归档日志大小 su - oracle sqlplus / as sysdba show parameter recover 可查…
之前使用数据库数据迁移过程中出现产生大量归档日志的情况(由于迁移的目标库是DG,必须开启归档). 为避免出现归档空间爆掉的情况,设置定时任务删除系统当前时间30分钟前的归档日志,脚本如下: cat delete_archivelog_30min.sh #!/bin/bash source ~/profile_prod1 $ORACLE_HOME/bin/rman target / log=delete_archivelog.log<<eof crosscheck archivelog all;…
案例一:归档日志满,数据库用户无法登陆,业务异常   解决方案一(可以登录rman): rman target /   RMAN> crosscheck archivelog all;   RMAN> delete archivelog until time 'sysdate-7';   RMAN> crosscheck archivelog all;   解决方案二(无法登陆rman) 1.登录数据库服务器,删除归档目录里面的数据库7天之前归档文件 2.删除归档文件之后,再次尝试登陆r…
背景 当Oracle 归档日志满了后,将无法正常登入oracle,需要删除一部分归档日志才能正常登入ORACLE.最近遇到一个问题,一套Oracle 11g数据库使用RMAN删除了归档日志,但是仍然无法释放,导致无法登陆oracle数据库. 1.查看归档日志文件 oracle@ps251n2s:[/opt/oracle/archive/db] ls -ltr |more total 3059881082 -rw-r----- 1 oracle oinstall 725320704 May 20…
最近一年,手头上负责的项目要部署到很多个地方,由于项目组里没有人对oracle比较熟悉,只能给自己增加一个DBA的角色了.由于短时间内要部署很多单位,备份策略没有设置好,结果过了一个月,用户报告程序开始连不上数据库了,并且发给我错误报告.主要是ora-16038. ora-19809. ora-00312三个错误,意思很明确,就是归档日志写满了,没法继续写入归档日志了,导致数据库被暂停了,等待继续写入归档日志到硬盘. 由于用户业务比较紧张,先考虑紧急处理方案,先将数据库恢复正常,然后再给用户数据…
在开发环境及UAT环境经常碰到需要清除归档日志的情形,对于这个问题方法有很多.可以直接使用rm方式清除归档日志,也可以使用find命令来查找符合条件的记录来清除归档日志,或者直接写个shell脚本来搞定.这样在DEV或者UAT还可以,但是在Prod环境还是建议使用RMAN提供的命令来搞定比较妥当.因为rm,find方式删除了实际的归档日志也释放了空间,但对应的存储在控制文件中的归档信息并没有彻底清除.依旧占用着一些空间未能及时清除而需要控制文件通过age out方式来释放空间.本文描述了使用RM…
背景: 在前一篇博客中我们提到了如何启动或关闭oracle的归档(ARCHIVELOG)模式,在我成功设定数据库为归档模式以后, 第二天再次尝试连接数据库,报错:ORA-00257.在网上找到了一圈资料,有些是说归档日志写满,删除归档日志.有些是说闪回日志写满,关闭闪回日志.主要参考文献有以下:   删除归档日志文件的方法: http://www.blogjava.net/kuuyee/archive/2013/05/15/399287.html 惜分飞大大的博客:http://www.xife…
备份归档日志方式有两种:  1 单独备份归档日志:backup archivelog all  2 在执行备库时一起备份归档日志:backup database plus archivelog;  这两种方式有什么区别呢?  运行backup archivelog all  命令时执行的步骤:  1.alter system archive log current;  归档当前日志   2.backup  archivelog all ; 备份所有归档日志   而运行backup databas…
转自:http://www.cnblogs.com/xwdreamer/p/3804509.html 背景: 在前一篇博客中我们提到了如何启动或关闭oracle的归档(ARCHIVELOG)模式,在我成功设定数据库为归档模式以后, 第二天再次尝试连接数据库,报错:ORA-00257.在网上找到了一圈资料,有些是说归档日志写满,删除归档日志.有些是说闪回日志写满,关闭闪回日志.主要参考文献有以下:   删除归档日志文件的方法: http://www.blogjava.net/kuuyee/arch…
如果Oracle的归档日志满了,应用连接数据库就会出错,这时需要手工删除过期的归档日志,方法如下: 1.指定数据库实例 $ export ORACLE_SID=db1 2.进入rman $ rman 3.连接数据库 RMAN> connect target sys/password; 4.查看归档日志的状态 RMAN> list archivelog all; 5.手工删除归档日志文件 6.更新归档日志 RMAN> crosscheck archivelog all; RMAN>…
一.Oracle日志介绍 1.Oracle日志分类 分三大类: Alert log files--警报日志,Trace files--跟踪日志(用户和进程)和            redo log 重做日志(记录数据库的更改). 本文主要关注Oracle的重做日志. 重做日志分为在线重做日志和归档重做日志.    online Redo log files--在线重做日志,又称联机重做日志,指Oracle以SQL脚本的形式实时记录数据库的数据更新,换句话说,实时保存已执行的SQL脚本到在线日志…
业务需求,对日志表历史数据进行清理.历史表均很大,使用delete 操作删除90天前的数据. 第一部分:快速删除数据 SQL> alter table CC.F_LOG parallel ; SQL>alter session enable parallel dml; SQL> delete FROM CC.F_LOG S WHERE S.CREATE_DATE>(SYSDATE-);执行计划确定并行 ----------------------------------------…
自动删除Oracle过期归档日志的思路如下: 1.编写自动执行的bat脚本文件: 2.Windows设置定期执行计划 OracleArchLogClear.bat D:/Oracle/product/10.2.0/db_1/bin/rman target / cmdfile=D:/OracleArchLogClear.rman log=D:/rman.log OracleArchLogClear.rman DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDA…
Oracle默认安装后,是没有开启归档模式的,需要手动开启. 开启归档--单实例如果archive log模式下不能正常startup,则先恢复成noarchive log,startup成功后,再shutdown;SQL> select group#,thread# from v$log; GROUP# THREAD#---------- ---------- 1 1 2 1 3 2 4 2 5 1 shutdown immediate;startup mount;alter database…
近期做个DG的归档日志删除, [oracle@.local logs]crontab -l * 8 * * * sh /home/oracle/dbscripts/del_arc.sh 该脚本分别调用 生成 删除 校验 三个脚本 cat del_arc.sh #! /bin/bash source /home/oracle/.bash_profile sh /home/oracle/dbscripts/build_del_archivelog.sh >> /home/oracle/dbscri…
归档日志:当redo日志发生切换时,归档进程(ARCn)会把redo日志自动归档,产生归档日志. 1.启动归档模式 –确定数据库为非归档模式 SYS@LGR> archive log list; –一致性关闭数据库 SYS@LGR> shutdown immediate –数据库启动到mount状态 SYS@LGR> startup mount; –修改数据库为归档模式 SYS@LGR> alter database archivelog; –打开数据库 SYS@LGR> a…