markdown Oracle Archive Log查看,清除和禁用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Oracle Archive Log查看,清除和禁用相关的知识,希望对你有一定的参考价值。

# Oracle Archive Log查看,清除和禁用


导了一晚上的数据,满以为一觉醒来就导完了,结果早上来到公司一看,Kettla卡住了。。。

PL SQL也连不上了,提示`ORA-00257:archiver error`,一查,原来是Archivelog满了。。。。

```
SQL> set linesize 300
SQL> set pagesize 30
SQL> select * from V$FLASH_RECOVERY_AREA_USAGE;
```

去到`/opt/oracle/flash_recovery_area/实例名/archivelog`目录下一看,我滴乖乖,从数据库创建之日起,一直记录到昨晚,难怪满了

由于以前的记录没啥意义,这里直接删掉了都

然后RMAN更新一下

以oracle用户登录

```
$ rman terget /   //如有多个实例此时执行rman target 用户名/密码@实例名
RMAN>list archivelog all;            //列出所有的归档日志文件
RMAN>crosscheck archivelog all;      //与物理归档日志文件保持同步,之前移走了一部分文件,因此执行此命令后会在/oracle目录下找不到的归档日志标记为expired
RMAN>list expired archivelog all;    //列出所有expired(过期)的归档日志文件,此时你就可看到移走的归档日志文件均被标记为expired
RMAN>delete expired archivelog all;  //在oracle中删除所有过期的expired文件
RMAN>list archivelog all;            //再列出所有的归档日志文件,就可发现移走的日志文件被删掉了
RMAN>exit                            //退出
```

由于在导入数据过程中暂时不需要备份,所以关掉归档模式,导完之后一定要记得重新打开

dba身份登录数据库

关库

```
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
```

mount

```
SQL> startup mount;
ORACLE instance started.

Total System Global Area 3423965184 bytes
Fixed Size                  2180544 bytes
Variable Size            2013268544 bytes
Database Buffers         1392508928 bytes
Redo Buffers               16007168 bytes
Database mounted.
```

关闭归档模式

```
SQL> alter database noarchivelog;

Database altered.

SQL> archive log list;
Database log mode              No Archive Mode
Automatic archival             Disabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     228
Current log sequence           230
```

启动数据库

```
SQL> alter database open;
Database altered.
```

以上是关于markdown Oracle Archive Log查看,清除和禁用的主要内容,如果未能解决你的问题,请参考以下文章

处理 ORACLE 的 RAW (Archive-Restore)

oracle 如何设置远程归档位置

可以直接删除oracle archive 日志文件吗

oracle11g-linux 归档处理

Oracle如何正确删除archivelog文件

oracle dataguard archive gap后恢复