2021年7月
归档日志本地存储情况下的rman备份
记录rman的备份脚本
增备
$ cat racdb_incr.sh
#!/bin/ksh
dt=`date +%Y%m%d`
export ORACLE_SID=racdb1
rman target / >/home/oracle/log/20330arch_$dt.log << EOF
run{
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEFAULT DEVICE TYPE TO 'sbt_tape';
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 900 DAYS;
allocate channel c1 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'
connect "sys/XXXXXXXXXXXXXXx@racdb1";
allocate channel c2 type 'sbt_tape' parms 'ENV=(TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt)'
connect "sys/XXXXXXXXXXXXXX@racdb2";
sql "alter system archive log current";
backup format '20330arch_%U_%T.bak' archivelog all delete input;
configure controlfile autobackup format for device type 'sbt_tape' to '20330arch_controlfile_spfile_%F';
release channel c1;
release channel c2;
}
exit;
EOF
全备
$ cat racdb_full.sh
#!/bin/ksh
dt=`date +%Y%m%d`
export ORACLE_SID=racdb1
export TDPO_OPTFILE=/usr/tivoli/tsm/client/oracle/bin64/tdpo.opt
rman target / >/home/oracle/log/20330full_$dt.log << EOF
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEFAULT DEVICE TYPE TO 'SBT_TAPE';
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 900 DAYS;
configure controlfile autobackup format for device type 'sbt_tape' to '20330full_controlfile_spfile_%F';
backup database format '20330full_%U_%T.bak';
exit;
EOF
转载 11g之后版本的oracle之间的数据比对工具
一、概述
Oracle11g中引入了一个新的PL/SQL包DBMS_COMPARISON,可以比较不同数据库下或者schame下的对象/schema/数据,并且可以根据规则将不同的数据进行同步。这在进行数据的分布时将十分的有用,例如你的数据复制过程中出现问题,导致源数据和目标数据出现不一致,则可以借用该特性进行处理。如果你的系统中没有安装该过程,可以通过以下脚本手动安装:
$ORACLE_HOME/rdbms/admin/dbmscmp.sql
可以利用DBMS_COMPARISON来执行比较的对象有:
* 表
* 基于单个表的视图
* 物化视图
* 以上三种对象的同义词
优秀站点分享
数据运维
免费自动化的数据库awr报告解读、巡检脚本、sql审核优化;行业动态。
IT新闻
各种奇怪的新闻,打开好奇心的窗口
ORACLE 清理监听日志
最近同事离职,原本他负责的这块业务即将下线,所以一直没有空上监控,今天突然发现监听和归档日志快把磁盘撑满了,赶紧把重要的业务都扫一遍。
不停库清理监听日志
1:首先停止监听服务进程(tnslsnr)记录日志。
lsnrctl set log_status off;
2:将监听日志文件(listener.log)复制一份,以listener.log.yyyymmdd格式命名
cp listener.log listener.log.20191209
3、将监听日志文件(listener.log)清空。清空文件的方法有很多
cat /dev/null > listener.log
或echo “” > listener.log
或cp /dev/null listener.log
4:开启监听服务进程(tnslsnr)记录日志
lsnrctl set log_status on;
对于这种listener.log增长非常迅速的系统,可以关闭监听日志lsnrctl set log_status off,不让监听写日志到文件。也可以写个job定期清理。
rq= date +"%d"
cp $ORACLE_HOME/network/log/listener.log $ORACLE_BACKUP/network/log/listener_$rq.log
su - oracle -c "lsnrctl set log_status off"
cp /dev/null $ORACLE_HOME/network/log/listener.log
su - oracle -c "lsnrctl set log_status on"
如果是RAC环境需要登录到grid用户清理listener.log和listener_scan1.log日志。