您的位置:首页 > 数据库 > Oracle

oracle归档、alert、监听日志备份与清理

2015-04-08 16:16 489 查看
1、监听日志

su - oracle //切换到oracle用户

cd /oracle/OraHome1/network/log //进入监听日志目录,不同数据库监听日志目录会有差异

lsnrctl //进入监听器

set password //如果监听器有密码,需要通过此选项输入密码,否则上一条命令直接进入监听器

****** //输入密码

set log_status off //停止监听日志记录

quit //退出监听器

mv listener.log listener.old //将监听日志改名后备份到其它磁盘或者直接删除

lsnrctl //进入监听器

set password //如果监听器有密码,需要通过此选项输入密码,否则上一条命令直接进入监听器

****** //输入密码

set log_status on //开启监听日志记录

quit //退出监听器

2、oracle数据库alert日志

cd /.../budmp //进入oracle数据库alert日志目录

mkdir -p bak //新建备份文件夹

LG=alert$ORACLE_SID.ora

cat $LG| gzip -9c > bak/$LG.bak.`date +%Y%m%d`.gz && cat /dev/null > $LG

解释如下:

LG=alert$ORACLE_SID.ora 定义变量

bak/$LG.bak.`date +%Y%m%d`.gz 备份的文件名,包含了日期信息

cat $LG| gzip -9c > bak/$LG.bak.`date +%Y%m%d`.gz 把$LG的内容压缩,保存为备份文件

cat /dev/null > $LG 清空老log 文件的内容。

这样做不会改变文件的handle,直接move可能导致某些已经打开该文件的进程往该文件写时丢失数据。

3、归档日志

进入归档目录直接删除较早归档日志文件,释放空间

进入rman删除控制文件controlfile记录对应的archivelog信息

export ORACLE_SID=orcl //linux系统设置数据库实例名称

rman target / //进入rman

crosscheck archivelog all;

delete expired archivelog all;

exit //退出rman
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: