ORA-00257: archiver error. Connect internal only. until freed

1,plsq登录报错

ORA-00257: archiver error. Connect internalonly. until freed

 

2,后台alert日志报错:

[oracle@powerlong4 ~]$  tail -fn 200/oracle/app/oracle/diag/rdbms/pdunq/powerdes/trace/alert_powerdes.log

Tue Apr 28 10:00:56 2015

Errors in file/oracle/app/oracle/diag/rdbms/pdunq/powerdes/trace/powerdes_arc9_30051.trc:

ORA-19815: WARNING:db_recovery_file_dest_size of 19327352832 bytes is 100.00% used, and has 0remaining bytes available.

************************************************************************

You have following choices to free up spacefrom recovery area:

1. Consider changing RMAN RETENTION POLICY.If you are using Data Guard,

  then consider changing RMAN ARCHIVELOG DELETION POLICY.

2. Back up files to tertiary device such astape using RMAN

  BACKUP RECOVERY AREA command.

3. Add disk space and increasedb_recovery_file_dest_size parameter to

  reflect the new space.

4. Delete unnecessary files using RMANDELETE command. If an operating

  system command was used to delete files, then use RMAN CROSSCHECK and

  DELETE EXPIRED commands.

************************************************************************

Errors in file/oracle/app/oracle/diag/rdbms/pdunq/powerdes/trace/powerdes_arc9_30051.trc:

ORA-19809: limit exceeded for recoveryfiles

ORA-19804: cannot reclaim 31602688 bytesdisk space from 19327352832 limit

ARC9: Error 19809 Creating archive log fileto'/oracle/app/oracle/flash_recovery_area/PDUNQ/archivelog/2015_04_28/o1_mf_1_75_%u_.arc'

 

 

----------------------------------------------------------------------------------------------------------------
<版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!>
原博客地址: http://blog.csdn.net/mchdba/article/details/45332505
原作者:黄杉 (mchdba)
----------------------------------------------------------------------------------------------------------------

 

3,查看归档日志

RMAN> crosscheck archivelog all; --先检查下

...

validation succeeded for archived log

archived log filename=/oracle/app/oracle/flash_recovery_area/PDUNQ/archivelog/2015_04_23/o1_mf_1_72_bmkbwfrg_.arcRECID=63633 STAMP=877796493

validation succeeded for archived log

archived log filename=/oracle/app/oracle/flash_recovery_area/PDUNQ/archivelog/2015_04_23/o1_mf_1_73_bmkyqplx_.arcRECID=63634 STAMP=877816822

validation succeeded for archived log

archived log file name=/oracle/app/oracle/flash_recovery_area/PDUNQ/archivelog/2015_04_23/o1_mf_1_74_bmkysysc_.arcRECID=63635 STAMP=877816895

Crosschecked 1635 objects

 

看到有很多归档日志,么有应用到sendary库上面。

 

 

 

4,这里采用删除多余的归档日志的办法来操作,查看过期归档日志

[oracle@powerlong4 ~]$ rman target /

 

RMAN> delete expired archivelog all;

 

released channel: ORA_DISK_1

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=787 devicetype=DISK

specification does not match any archivedlog in the repository

 

RMAN>

 

5,删除过期的归档日志

delete expired archivelog all;

RMAN> delete expired archivelog all;

 

released channel: ORA_DISK_1

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=787 devicetype=DISK

specification does not match any archivedlog in the repository

 

RMAN>

看到没有过期的归档日志

 

6,看到没有过期的,不够我们可以删除指定到具体的时间,这样也可以腾出空间来

RMAN>delete archivelog until time"to_date('2015-04-27 13:00:00','yyyy-mm-dd hh24:mi:ss')";

 

部分执行过程如下:

RMAN-08137: WARNING: archived log notdeleted, needed for standby or upstream capture process

archived log filename=/oracle/app/oracle/flash_recovery_area/PDUNQ/archivelog/2015_04_23/o1_mf_1_70_bmjfsm48_.arcthread=1 sequence=70

RMAN-08137: WARNING: archived log notdeleted, needed for standby or upstream capture process

archived log filename=/oracle/app/oracle/flash_recovery_area/PDUNQ/archivelog/2015_04_23/o1_mf_1_71_bmjk1mvp_.arcthread=1 sequence=71

RMAN-08137: WARNING: archived log notdeleted, needed for standby or upstream capture process

archived log filename=/oracle/app/oracle/flash_recovery_area/PDUNQ/archivelog/2015_04_23/o1_mf_1_72_bmkbwfrg_.arcthread=1 sequence=72

RMAN-08137: WARNING: archived log notdeleted, needed for standby or upstream capture process

archived log filename=/oracle/app/oracle/flash_recovery_area/PDUNQ/archivelog/2015_04_23/o1_mf_1_73_bmkyqplx_.arcthread=1 sequence=73

RMAN-08137: WARNING: archived log notdeleted, needed for standby or upstream capture process

archived log filename=/oracle/app/oracle/flash_recovery_area/PDUNQ/archivelog/2015_04_23/o1_mf_1_74_bmkysysc_.arcthread=1 sequence=74

 

RMAN>

 

select * from V$FLASH_RECOVERY_AREA_USAGE;

 

7,再去查看下使用空间

SQL> select * fromV$FLASH_RECOVERY_AREA_USAGE;

 

FILE_TYPE              PERCENT_SPACE_USEDPERCENT_SPACE_RECLAIMABLE

-------------------- -------------------------------------------

NUMBER_OF_FILES

---------------

CONTROL FILE                         0                             0

               0

 

REDO LOG                                 0                             0

               0

 

ARCHIVED LOG                            74.36                     0

            1635

 

 

FILE_TYPE              PERCENT_SPACE_USEDPERCENT_SPACE_RECLAIMABLE

-------------------- -------------------------------------------

NUMBER_OF_FILES

---------------

BACKUP PIECE                              25.5                     0

               7

 

IMAGE COPY                            0                             0

               0

 

FLASHBACK LOG                              0                             0

               0

 

 

FILE_TYPE              PERCENT_SPACE_USEDPERCENT_SPACE_RECLAIMABLE

-------------------- -------------------------------------------

NUMBER_OF_FILES

---------------

FOREIGN ARCHIVED LOG                        0                             0

               0

 

 

7 rows selected.

 

SQL>

 

OK,看到归档日志空间使用74%,还有足够的空间,所以可以登录使用。

重新登录plsql,还是报一样的错误。

 

8,重新启动oracle服务,这样就可以了

SQL> shutdown abort

ORACLE instance shut down.

SQL>

SQL> startup

ORACLE instance started.

 

Total System Global Area 3373858816 bytes

Fixed Size              2218032 bytes

Variable Size              1694500816 bytes

Database Buffers    1660944384 bytes

Redo Buffers                16195584 bytes

Database mounted.

Database opened.

SQL>

 

9,然后使用plsql登录,现在可以正常登录了。

 

总结,是因为oracle的dataguard中断了,所以primary上的归档日志一直积累下来,造成归档的空间满了,所以数据库无法远程登录了,这个时候采用的常用办法可以有以下2个:1):根据时间点删除过期的归档日志;2)增大db_recovery_file_dest_size的值。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: ORA-00257Oracle数据库中的一个错误代码,表示归档错误。错误信息中的“connect internal only, until freed”表示只有内部连接才能解决这个问题,直到空间释放为止。这个错误通常是由于归档日志文件已满或磁盘空间不足导致的。要解决这个问题,可以通过删除旧的归档日志文件或增加磁盘空间来释放空间。 ### 回答2: ORA-00257Oracle数据库中常见的错误之一,它表示归档器发生故障,无法继续归档。这个错误经常出现在数据库空间不足或者磁盘空间不足的情况下。另外,当出现一个归档进程正在使用或者另一个归档进程正在进行数据转储时,也可能出现ORA-00257错误。 这个错误可以通过在SQLPLUS命令行界面中连接到内部(internal)以解决。连接到内部可以使用以下命令: sqlplus / as sysdba 连接到内部后,可以尝试使用以下命令释放空间并解决ORA-00257错误: 1.查看当前的归档日志: archive log list; 2.查看归档日志的状态: select * from v$archive_dest_status; 3.检查数据库的归档日志目录: select name, value from v$parameter where name like '%log_archive_dest%'; 4.手动归档当前的重做日志: alter system archive log current; 5.删除重复或无用的归档日志: RMAN> crosscheck archivelog all; RMAN> delete noprompt expired archivelog all; 当然,磁盘空间不足也是ORA-00257错误的常见原因。在这种情况下,需要增加磁盘空间或定期清理日志来避免出现这个错误。 总之,ORA-00257错误是Oracle数据库中常见的归档器错误之一。尽管出现这个错误可能有多种原因,但可以通过连接到内部,查找并释放空间以及清理无用的归档日志来解决这个问题。 ### 回答3: ORA-00257Oracle数据库中的一个错误代码,表示出现了归档器错误,只能通过内部连接访问,直到释放。 当Oracle数据库中的归档日志没有及时清空时,就可能会出现ORA-00257错误。归档日志是Oracle数据库保留的一些历史记录,用于恢复数据和保证数据一致性。每当Oracle数据库执行完一定量的事务操作后,就会将这些操作记录下来,并写入到归档日志中。但是,如果归档日志没有及时清空,就会导致存储空间不足,从而导致ORA-00257错误的发生。 解决ORA-00257错误的方法是通过内部连接访问数据库,并释放所有占用该日志的进程。首先,需要先停止所有使用归档日志的进程,然后释放归档日志,最后再启动这些进程,即可解决错误。 具体操作步骤如下: 1. 使用管理员账号登录到数据库中。 2. 执行以下SQL语句,停止所有使用归档日志的进程。 SQL> ALTER system SWITCH logfile; SQL> ALTER system SWITCH logfile; SQL> ALTER system SWITCH logfile; SQL> SHUTDOWN immidiate; 3. 使用以下命令释放归档日志。 SQL> startup mount; SQL> ARCHIVE LOG ALL; SQL> ALTER DATABASE OPEN; 4. 最后,启动之前停止的进程。 SQL> ALTER system ARCHIVELOG ALL; 以上就是解决ORA-00257错误的完整步骤。需要注意的是,在清空归档日志之前,需要备份相关的数据以保证数据的安全性。同时,也应该定期清空归档日志,避免存储空间不足导致ORA-00257错误的再次发生。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值