当前位置:首页 » 编程软件 » rman删除归档日志脚本

rman删除归档日志脚本

发布时间: 2022-10-25 07:11:58

⑴ 如何删除oracle的归档日志

su - oracle //进入oracle账户
sqlplus / as sysdba //以操作系统权限认证的oracle sys管理员登陆
archive log list //查看数据库的归档模式
注意:输入archive log list会显示出USE_DB_RECOVERY_FILE_DEST
select * from V$RECOVERY_FILE_DEST; //查询归档日志空间大小及路径
show parameter recover; //显示归档文件路径
退出到oracle账户根目录然后进入rman输入以下命令进入rman
rman target sys/password
RMAN> crosscheck archivelog all; //验证的DB的归档日志
RMAN> delete expired archivelog all; //删除所有归档日志
RMAN>DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’; //保留7天的归档日志
再查
SQL> select * from V$RECOVERY_FILE_DEST;
修改大小
SQL> alter system set db_recovery_file_dest_size=5G scope=both;
关闭归档
SQL> alter system set log_archive_start=false scope=spfile; #禁用自归档

SQL> shutdown immediate; //强制关闭数据库
SQL> startup mount; //重启数据库到mount模式
SQL> alter database noarchivelog; //修改为非归档模式
SQL> alter database open; //打数据文件
SQL> archive log list; //再次查看前归档模式

⑵ 归档日志不在默认的闪回区,用RMAN怎么删除

1、错误删除方法
如果只删除OS级别的归档日志,controlfile 中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出, 也就是oracle并不知道这些文件已经不存在了注:obsolete:当备份或者副本根据保存策略而被丢弃的时候,就会被标记为该状态。expired:使用crosscheck对备份进行校验,当备份或者副本被存储在rman目录中,但并没有物理文件在备份介质上时,就记为该状态2、正确的删除方法
a、rman target /
b、crosscheck archivelog all;(RMAN list expired backup;RMAN list expired backup summary;)
c、delete expired archivelog all; --删除rman目录中信息,并无物理文件删除
d、DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7'; --删除一定时间范围的archive log
e、find /oraarchive -xdev -mtime +7 -name "*.arc"| xargs rm -f;(删除OS中未被RMAN管理而里留下的归档文件)

⑶ rman中如何制定删除某段时间的归档日志

总觉得使用windows跑oracle是不靠谱的事情,可以这个世界上总有很多人喜欢做类似这样的事情,对于数据库比较常见的两件事情:rman和删除dg备库归档日志,在linux/unix平台上使用shell实现很简单,可是跑到win里面,就变的烦了,不是因为其麻烦,而是因为用的人少,不知道怎么下手处理该事情,我编写了简单的实现初级功能的win下面rman备份和删除备库归档日志脚本,供大家参考,也更加欢迎朋友提出来更加好的处理方法(win是真心的不懂) rman备份脚本 复制代码 代码如下: --backup_oracle.bat文件 rman target / cmdfile=D:/backup/rman/backup_db.rman log=d:/backup/rman/logfile/rmanlog%date:~0,4%%date:~5,2%%date:~8,2%.log --backup_db.rman文件 CONFIGURE RETENTION POLICY TO REDUNDANCY = 2; CONFIGURE DEVICE TYPE DISK PARALLELISM 2; CONFIGURE DEFAULT DEVICE TYPE TO DISK; backup filesperset = 5 as compressed backupset database format 'd:/backup/rman/full_%U.rman'; sql 'alter system archive log current'; backup filesperset = 50 as compressed backupset archivelog all format 'd:/backup/rman/arch_%U.rman' delete input; DELETE noprompt OBSOLETE; crosscheck backup; delete noprompt expired backup; backup format 'd:/backup/rman/ctl_%U.rman' current controlfile; backup spfile format 'd:/backup/rman/spfile_%U.rman' ; exit; backup_oracle.bat 文件加入到计划任务即可 删除dg备库归档日志(已经应用) 复制代码 代码如下: --delete_dg_archivelog.bat rem 注意修改 部署目录 cd D:/win_xifenfei d: rem 注意delete_archive.sql 查询是否有记录 echo delete archivelog staring > delete_archivelog.bak sqlplus / as sysdba @delete_archive.sql echo rman target / cmdfile=rman_checkcross.rman>>delete_archivelog.bat delete_archivelog.bat >>delete_dg_archivelog_%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%".log exit --delete_archive.sql set lines 150 col name for a150 set pagesize 0 feedback off verify off heading off echo off spool delete_archivelog.bat select 'del 'name from v$archived_log where APPLIED='YES' AND NAME IS NOT NULL and DEST_ID=1; spool off exit; --rman_checkcross.rman crosscheck archivelog all; delete noprompt expired archivelog all; exit delete_dg_archivelog.bat 加入到计划任务即可

⑷ rman备份数据库后,默认会自动删除归档日志吗

backup format '/rmanbak/RMAN_ARCH-full%T%U' archivelog all delete all input;

后面加上 delete all input

⑸ oracle 10g 如何正确清除归档日志

rman target / 用rman连接到库
crosscheck archivelog all; 校验一下所有的归档日志
delete noprompt archivelog all backed up 1 times to device type disk; 将已经备份过一次的归档日志全部清除

⑹ 如何自动清理归档日志文件

开归档的目的即为备份,满足你备份策略的archive log都是可以删除的。在backup archivelog时加上delete input,备份后归档日志自然就删除了。所以你可以加大一下备份归档日志的频次。

手动的删除也没问题,不过当rman备份时会检测到日志的缺失,按如下的操作即可:

RMAN> crosscheck archivelog all;
RMAN> delete obsolete;

⑺ 当ORACLE归档日志满后如何正确删除归档日志

1,首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。

2,把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,接下去我们要做的就是这个工作。

利用RMAN进行删除操作,操作步骤如下:(window客户端系统为例):
1.指定数据库实例
C:/Documents and Settings/Administrator>SET ORACLE_SID =orcl
2.连接数据库
C:/Documents and Settings/Administrator>RMAN TARGET SYS/sysadmin@orcl
3.查看归档日志的状态
RMAN> list archivelog all;
4.手工删除归档日志文件
RMAN> DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';
5.退出rman.

热点内容
超级访问陈小春应采儿 发布:2025-05-16 09:43:29 浏览:477
缓存视频合并工具最新版 发布:2025-05-16 09:35:03 浏览:194
花雨庭服务器ip地址和端口 发布:2025-05-16 09:34:58 浏览:239
同时修改多台服务器管理地址工具 发布:2025-05-16 09:20:36 浏览:421
什么配置就能玩地平线 发布:2025-05-16 09:13:46 浏览:82
python旋转图片 发布:2025-05-16 09:13:40 浏览:638
少女前线防检测脚本 发布:2025-05-16 08:59:07 浏览:728
编译器对系统的依赖 发布:2025-05-16 08:37:29 浏览:711
javamap数组 发布:2025-05-16 08:37:28 浏览:451
移动光猫如何自行修改密码 发布:2025-05-16 08:20:15 浏览:125