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.log
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