oracle数据库rman归档设置和管理

一 设置为归档方式

1 sql> archive log list; #查看是不是归档方式

2 sql> alter system set log_archive_start=true scope=spfile; #启用主动归档

sql> alter system set log_archive_dest=''location=/oracle/ora9/oradata/arch'' scope=spfile;

#设置归档路径

sql> alter system set log_archive_dest_1=''location=/oracle/ora9/oradata/arch1'' scope=spfile;

sql> alter system set log_archive_dest_2=''location=/oracle/ora9/oradata/arch2'' scope=spfile;

#如果归档到两个位置,则可以通过上边方法实现

sql> alter system set log_archive_format=''arch_%d_%t_%r_%s.log'' #设置归档日记款式

3 sql> shutdown immediate;

4 sql> startup mount; #打开控制文件,不打开数据文件

5 sql> alter database archivelog; #将数据库切换为归档模式

6 sql> alter database open; #将数据文件打开

7 sql> archive log list; #查看此时是否处于归档模式

8 查询以确定数据库位于archivelog模式中且归档过程正在运行

sql> select log_mode from v$database;

sql> select archiver from v$instance;

9 日志切换

sql> alter system switch logfile;

10 这次日志切换将归档写到两个目标地,

1,即第二步的/oracle/ora9/oradata/arch1和/oracle/ora9/oradata/arch1,要是要对目录确认

在oracle情况中运行如下查询:

sql> select name from v$archived_log;

而后在操作系统中确认查询所列出的文件

二 设置非归档方式

1 sql> archive log list; #查看是否是归档方式

2 sql> alter system set log_archive_start=false scope=spfile; #禁用自动归档

3 sql> shutdown immediate;

4 sql> startup mount; #打开控制文件,不打开数据文件

5 sql> alter database noarchivelog; #将数据库切换为非归档模式

6 sql> alter database open; #将数据文件打开

7 sql> archive log list; #查看此时便处于非归档模式

三 归档相关命令

archive log stop;

archive log start;

archive log list;

show parameters;

show parameters log_archive_start;

show parameters log_archive_max_process; #归档进程数

alter system set log_archive_max_process=5; #将归档进程数改为5

select * from v$bgprocess; #检察后台进程

四 归档日志删除

OS层面非正常删除

find /oraarchive -xdev -mtime +7 -name "*.dbf" -exec rm -f {} ;

1. 进入rman

2. connect target /

3. crosscheck archivelog all;

4. delete expired archivelog all;

这时候我们再去OEM中看就一定看不到,如果你的从来没有做过这个动作的话,我们可以比较从这个动作前的controlfile后动作后的controlfile的大小!

ORACLE正确删除归档并回收空间的方法

rman target/

或rman target/@orcl

在命令窗口里面执行

DELETE ARCHIVELOG ALL COMPLETED BEFORE 'SYSDATE-7';

五、rman归档备份策略和脚本

------rman 备份脚本

rman target /

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

level0_backup.sh

#!/bin/ksh

#lzccb rman full backup

#export env

cd /oraclebackup

rman cmdfile=level0_backup.sql msglog=/oraclebackup/level0_`date +'%y%m%d%H%M'`.log

level0_backup.sql

connect target /

run {

allocate channel c1 type disk;

allocate channel c2 type disk;

backup incremental level 0

tag 'level0 include controlfile'

format '/oraclebackup/level0_%d_%U.bak'

database;

release channel c1;

release channel c2;

}

crosscheck backup;

delete noprompt expired backup;

delete noprompt obsolete;

----crontab -e

0 5 * * 1,4 /oraclebackup/level0_backup.sh 1>/oraclebackup/crontab_rman.log 2>&1 &

[@more@] 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值