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. 连接 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&…
当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复. 二.把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的…
工作环境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…
当ORACLE归档日志满后如何正确删除归档日志 版权声明:本文为博主原创文章,未经博主允许不得转载. 当ORACLE 归档日志满了后,将无法正常登入ORACLE,需要删除一部分归档日志才能正常登入ORACLE. 一.首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复. 二.把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是…
查看归档模式: 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.…
最近在因归档日志暴增,使用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 815版本的(他们exp导出时,带了导出日志,从导出日志中看出来是oracle 815版本的),不过没有关系,低版本的exp是可以用高版本的imp导入到高版本数据库中的.一看是导入还很正常,导入到其中某个表的时候,突然就不动 了.一开始我还没有弄明白怎末回事.后来,无意中看到了 计算机管理--事件查看器中 ,有很多报错信息: Archive process error: ORA-16038: log 1 sequ…
在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 全备脚本 先配置保留时间窗口,配置备份目录和格式,然后交叉检查所有备份集. 删除无效备份集,删除过期对象,进行全备份并压缩..…
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…
今天遇到Oracle报这样的错:ORA-00257 查看了下,原来是Oracle的归档日志满了,解决方案两个 一:增加归档日志大小 二:删除无用的归档日志(我们选择这个方案) 什么也不说了Linux下命令上: Linux删除归档文件--> su - oracle--> rman --> RMAN> connect target sys/sys_passwd--> RMAN> crosscheck archivelog all;--> RMAN> DELETE…
一.报错信息 前几天网站突然访问不了,并且报了如下错误: 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 可查…
案例一:归档日志满,数据库用户无法登陆,业务异常   解决方案一(可以登录rman): rman target /   RMAN> crosscheck archivelog all;   RMAN> delete archivelog until time 'sysdate-7';   RMAN> crosscheck archivelog all;   解决方案二(无法登陆rman) 1.登录数据库服务器,删除归档目录里面的数据库7天之前归档文件 2.删除归档文件之后,再次尝试登陆r…
from:http://www.itpub.net/thread-1636118-6-1.html Oracle在开启了归档模式后,会在指定的archive目录下产生很多的archivelog文件,而且默认是不会定期清除的,时间长久了,该文件夹会占用很大的空间. 问题:如何定期正确删除archivelog文件呢? 很多人直接在archive目录下删除文件,这样其实不能达到在Oracle CLF文件中删除文件记录的效果. 正确方法: 1.用RMAN连接目标DB: RMAN target sys/*…
oracle从备份集中抓出归档日志方法 在大连医院遇到这个问题,数据库为归档状态,但归档完成后rman通过crontab自己主动备走归档日志并删除存在系统上的归档日志文件.在RealSync程序停止一段时间后,须要应用归档日志来解决日志丢失问题. 问题是: 数据库中的控制文件里关于备份的元数据已经丢失,但备份集存在.这时候我们開始调用oracle的一个内部非公开的函数包:dbms_backup_restore 来从备份集中抽取归档日志到指定的系统文件夹.以满足我们的需求. 语句例如以下: dec…
------------------方法1在主库上使用备份的进行恢复丢失的归档日志-------------------------1.发现主库备份后删除了归档,但是这些归档从库还没应用,也没有传到从库从库应用的最新的归档日志为592SQL> connect / as sysdbaConnected.SQL> Select Max(t.SEQUENCE#) From V$archived_Log t; MAX(T.SEQUENCE#)---------------- 592 主库的归档日志SQ…
背景 当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…
问题: 客户环境12.2 dg备库环境,定时清理归档脚本并未正常清理归档日志文件. 观察日志可以发现存在如下信息 RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process . 一般情况下,如果在备库环境或者主库环境,配置归档清理测量后,DG环境未应用归档将不允许删除. 本次排查RMAN清理归档策略默认,且无法删除的归档日志在DG视图v$archived_log 中ap…
归档日志 archivelog 5.1 归档和非归档的区别     1)归档会在日志切换时,备份历史日志,用于OLTP,可以进行冷备份和热备份,可以实现数据库完全恢复.不完全恢复(基于时间点)     2)归档会启用arcn的后台进程.占用磁盘空间     3)非归档用于OLAP/DSS,只能冷备份,只能恢复到最后一次备份状态 5.2 查看归档模式:     02:34:50 SQL>archive log list;Database log mode              Archive…
1.查看当前归档日志目录 SQL> show parameter recovery NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string /u01/app/oracle/fast_recovery_ area db_recovery_file_dest_size big integer 4182M re…
之前使用数据库数据迁移过程中出现产生大量归档日志的情况(由于迁移的目标库是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;…
无意间看到一篇文章,觉得对于ORACLE的新手很实用,特转载,原文出处这里 说明:在创建数据库时输入的密码,是修改系统默认的密码,以system和sysman等系统默认身份登录时要输入的密码就是修改后的密码(创建数据库时输入的密码)如果要创建新的用户就必须以system或者sysman(这二者的权限最大)的身份登录后才可创建创建用户格式:create user 用户名 identified by 密码(例如:create user cht identified by cht;)创建完成后,必须分…
--查看归档模式archive log list select log_mode from v$database; --修改为归档模式(mount下)alter database archivelog --修改为非归档模式(mount下)alter database noarchivelog --切换日志三个相关命令SQL> alter system switch logfile;SQL> alter system archive log current;SQL> alter syste…
背影如下: 表名,WFGTEST create table WFGTEST ( NAME1 ) not null, NAME2 ), CAPACITY ,) ) 表结构如下: NAME1 NAME2 CAPACITY wfg wfg 1.000 qq qq 1.000 lxx lxx 2.000 wly wly 2.000 现在想实现的效果如下: 如果这个表里相同的CAPACITY都被删除完时,向另一个表里插入一个计数, 如1.000被全部删除完时,向另一个表里插入记录如下,也就是说DELETE…
http://langzhiwang888.iteye.com/blog/1675033 参考这里的内容 在数据库服务器上新建一个bat文件(文件名随意) 编辑此文件为: rman target 'sys/password' cmdfile 'd:\cmd.txt'―――此处路径.文件名随意 在命令中对应的路径下新建cmd.txt文件,打开编辑此文件, DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; 然后在windows计划任务里添加任务,…
在开发环境及UAT环境经常碰到需要清除归档日志的情形,对于这个问题方法有很多.可以直接使用rm方式清除归档日志,也可以使用find命令来查找符合条件的记录来清除归档日志,或者直接写个shell脚本来搞定.这样在DEV或者UAT还可以,但是在Prod环境还是建议使用RMAN提供的命令来搞定比较妥当.因为rm,find方式删除了实际的归档日志也释放了空间,但对应的存储在控制文件中的归档信息并没有彻底清除.依旧占用着一些空间未能及时清除而需要控制文件通过age out方式来释放空间.本文描述了使用RM…
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…
如何解决“归档日志已满问题” 问题描述: 所用数据库为 Oracle 10g ,模式为归档模式,oracle 系统默认的归档空间为2G,由于日志过多,空间写满,数据库的redo文件不能归档,而出现oracle数据库挂起的问题. oem打开oracle 10g 数据库操作界面,会显示如下错误信息: “ 由于输出设备已满或不可用, 归档程序无法归档重做日志.” 数据库无法使用 现将解决办法稍作总结: 方法一:增大归档日志空间的大小 可以通过下面的方法来调整系统的回闪恢复区大小:首先是关闭数据库:以S…
自动删除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…