一、查看是否开启归档日志
archive log list
二、删除数据库归档文件。
cd /arch 进入归档目录
find .xdev -mtime +7 -name “*.dbf” -exec rm -f {} ;
等同于
DELETE ARCHIVELOG ALL COMPLETED BEFORE ‘SYSDATE-7’;
三、执行rman逻辑上删除过期日志
rman
RMAN> connect target /
crosscheck archivelog all;
delete expired archivelog all;
quit
rman执行 delete archivelog until time ‘sysdate-1’;
archive log list 查看归档状态,数据库日志模式非归档模式
shutdown immediate; 关闭数据库
startup mount 开启挂载
alter database archivelog; 开启归档模式
在oracle用户下,创建归档日志目录
更改归档日志路径
alter system set log_archive_dest_1=‘location=/data/arch’;
1、首先用sys登录数据库,查看oracle是否开启归档模式(su - oracle切换用户,然后sysdba / as sysdba进入sql模式)
数据的存档模式的操作必须要在mount实例中进行,且数据库要处于非open状态。所有关闭存档模式前,我们需要查看当前数据库的状态,并且关闭数据库,启动mount实例,才可进行操作。其具体操作为
[root@admin ~]# su - oracle
Last login: Thu Jan 16 15:42:13 CST 2020 on pts/3
[oracle@admin ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Fri Mar 6 09:11:31 2020
Copyright © 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit
ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing
options
2、使用SQL查看当前数据库的状态,正常情况下一般都处于open状态。
SQL> select status from v$instance;
STATUS
——————
OPEN
3、使用SQL:
shutdown immediate; --关闭数据库,因为数据库当前状态为open–
startup mount; --启动mount实例–
alter database noarchivelog; --改变数据库存档模式为非存档模式–
4、此时使用SQL:archive log list 查看,存档模式已经变更为非存档模式。
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/
Oldest online log sequence 14
Current log sequence 17
5、再次使用SQL进行查看数据库的当前状态,当前状态为mount状态。
SQL> select status from v$instance;
STATUS
————————
MOUNTED
6、最后别忘记使用SQL打开数据库。
SQL> alter database open;
Database altered.
7、再次使用SQL查看数据库状态,为open状态。
SQL> select status from v$instance;
STATUS
——————————
OPEN