如何清除oracle中的执行sql记录在日志里面的的记录
答案:3 悬赏:30 手机版
解决时间 2021-02-02 21:40
- 提问者网友:皆是孤独
- 2021-02-02 16:56
如何清除oracle中的执行sql记录在日志里面的的记录
最佳答案
- 五星知识达人网友:慢性怪人
- 2021-02-02 17:22
一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,AIX系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。二、把归档日志的物理文件删除后,我们就可以正常登入ORACLE了,但是还没完全把归档日志删除干净,ORACLE的controlfile中仍然记录着这些archivelog的信息,在oracle的OEM管理器中有可视化的日志展现出,当我们手工清除archive目录下的文件后,这些记录并没有被我们从controlfile中清除掉,接下去我们要做的就是这个工作。我们利用RMAN进行删除操作,操作步骤如下:(window客户端系统为例)1.指定数据库实例C:/DocumentsandSettings/Administrator>SETORACLE_SID=orcl2.连接数据库C:/DocumentsandSettings/Administrator>RMANTARGETSYS/sysadmin@orcl3.查看归档日志的状态RMAN>listarchivelogall;4.手工删除归档日志文件RMAN>DELETeARCHIVELOGALLCOMPLETEDBEFORE'SYSDATE-7';说明:SYSDATA-7,表明当前的系统时间7天前,before关键字表示在7天前的归档日志,如果使用了闪回功能,也会删除闪回的数据。同样道理,也可以删除从7天前到现在的全部日志,不过这个命令要考虑清楚,做完这个删除,最好马上进行全备份数据库DELETEARCHIVELOGfromTIME'SYSDATE-7';删除从7天前到现在的全部日志,慎用UNIX/LINUX下也可以通过FIND找到7天前的归档数据,使用EXEC子操作删除find/oraarchive-xdev-mtime+7-name"*.dbf"-execrm-f{};这样做仍然会在RMAN里留下未管理的归档文件仍需要在RMAN里执行下面2条命令crosscheckarchivelogall;deleteexpiredarchivelogall;所以还不如上面的方法好用,不过用FIND的好处就是,可以在条件上,和EXEC子项上做很多操作,实现更复杂的功能5.退出rmanRMAN>exit
全部回答
- 1楼网友:何以畏孤独
- 2021-02-02 18:40
方法1:使用LogMiner工具
优点:可以完全挖掘日志内容,找出所有执行过的SQL语句
缺点:
1. 如果没有启用归档日志,则只能对联机日志进行挖掘
2. 需要掌握LogMiner的用法
- 2楼网友:舍身薄凉客
- 2021-02-02 17:32
一、首先删除归档日志物理文件,归档日志一般都是位于archive目录下,aix系统下文件格式为“1_17884_667758186.dbf”,建议操作前先对数据库进行备份,删除时至少保留最近几天的日志用于数据库恢复。二、把归档日志的物理文件删除后,我们就可以正
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯