oracle监听日志定时删除
时间: 2023-08-12 13:08:51 浏览: 63
你可以使用一个简单的 shell 脚本来定期删除监听日志。以下是一个例子:
```
#!/bin/bash
# 设置监听日志目录
LOG_DIR=/u01/app/oracle/diag/tnslsnr/myserver/listener/trace
# 设置要删除的日志文件类型和保留天数
FILE_TYPE=trc
DAYS_TO_KEEP=7
# 删除旧的监听日志文件
find $LOG_DIR -name "*.$FILE_TYPE" -type f -mtime +$DAYS_TO_KEEP -exec rm -f {} \;
```
在此脚本中,你需要设置监听日志目录、要删除的日志文件类型和保留天数。然后,使用 `find` 命令查找要删除的文件,并使用 `-exec` 选项执行删除操作。
你可以将此脚本添加到 crontab 中,以便每天自动运行。例如,如果你想每天凌晨 1 点运行此脚本,可以将以下行添加到 crontab 文件中:
```
0 1 * * * /path/to/script.sh
```
这将在每天凌晨 1 点运行脚本。
相关问题
设计一个脚本删除oracle11的监听日志
以下是一个简单的脚本,可以删除Oracle 11的监听器日志:
```bash
#!/bin/bash
lsnrctl stop
rm $ORACLE_BASE/diag/tnslsnr/*/*/trace/*.log
lsnrctl start
```
该脚本做了以下几件事情:
1. 停止监听器 (`lsnrctl stop`)。
2. 删除所有监听器日志文件 (`rm $ORACLE_BASE/diag/tnslsnr/*/*/trace/*.log`)。
3. 启动监听器 (`lsnrctl start`)。
请注意,这个脚本假定 `$ORACLE_BASE` 环境变量已经设置为 Oracle 安装目录。如果没有设置,你需要替换 `$ORACLE_BASE` 为正确的路径。
如何查看oracle用户登录监听日志
您可以按照以下步骤查看Oracle用户登录监听日志:
1. 连接到您的Oracle数据库服务器。
2. 打开监听器日志文件:$ORACLE_HOME/network/log/listener.log。
3. 执行以下命令以查看最新的登录尝试:
```
$ tail -f $ORACLE_HOME/network/log/listener.log | grep -i "established connection"
```
这将显示最新的成功连接的所有用户。您还可以使用其他关键字来搜索其他详细信息。
4. 如果要查看以前的日志,请执行以下命令:
```
$ cat $ORACLE_HOME/network/log/listener.log | grep -i "established connection"
```
这将显示所有成功连接的用户列表。
请注意,您需要具有足够的权限才能访问这些日志文件。