[归档]no primary destinations and failed to archive

 

问题现象:

SQL> select count(*) from test1;

  COUNT(*)

----------

   1835008

 

SQL> insert into test1 select * from test1;   光标停滞

^C

 

SQL> select status from v$instance

STATUS

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

OPEN

 

SQL> conn test/test      连接失败

ERROR:

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

警告: 您不再连接到 ORACLE

 

SQL> conn / as sysdba    可连接

已连接。

SQL>

 

alert_orcl.log

————————————

Wed Jul 01 10:16:50 2009

Errors in file c:\oracle\product\10.2.0\admin\orcl\bdump\orc1_arc0_1748.trc:

ORA-16014: log 3 sequence# 12 not archived, no available destinations

ORA-00312: online log 3 thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG'

 

Wed Jul 01 10:16:51 2009

Errors in file c:\oracle\product\10.2.0\admin\orcl\bdump\orc1_arc1_2712.trc:

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

 

解决方法:

SQL> show parameter recovery_file

NAME                              TYPE        VALUE

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

db_recovery_file_dest             string      C:\oracle\product\10.2.0\flash_recovery_area

db_recovery_file_dest_size        big integer 2G

 

os中删除db_recovery_file_dest下不用的归档文件,然后进入rman

rman>crosscheck archivelog all;          注意:此处绝非crosscheck backup of archivelog all;

rman>delete expired archivelog all;      注意:此处绝非delete expired backup of archivelog all;

rman>delete obsolete;

 

小记:

习惯使然,我犯了注意中的错误,导致问题始终解决不了,alert_orcl.log中不停出现如下错误:

Wed Jul 01 10:01:27 2009

ARC0: Archiving not possible: No primary destinations

ARC0: Failed to archive thread 1 sequence 12 (4)

Wed Jul 01 10:01:28 2009

ARC1: Archiving not possible: No primary destinations

ARC1: Failed to archive thread 1 sequence 12 (4)

后来仔细检查,才发现根本没有从rman中删掉归档记录!

 

成功验证:

SQL> conn test/test

已连接。

 

SQL> insert into test1 select * from test1;

已创建1835008行。

 

SQL> select count(*) from test1;

  COUNT(*)

----------

   3670016

 

 

附:最早错误出现过程

————————————————————————————

之所以最后才解决,原因有二:

1、没有第一时间看错误日志;

2os归档目录下删除后空间已剩余90%以上,rman中也已delete,以为成功,没有意识到自己删除的是备份而非归档crosscheck backup;delete expired  backup;

 

错误现象:

SQL> alter database open;

alter database open

*

1 行出现错误:

ORA-16014: 日志 1 的序列号 2 未归档, 没有可用的目的地

ORA-00312: 联机日志 1 线程 1:

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'

 

SQL> recover database until cancel

完成介质恢复。

SQL> alter database open resetlogs;

数据库已更改。

SQL> alter system switch logfile;

系统已更改。

SQL> /       停滞……

^C           强行终止

 

SQL> startup force

ORACLE 例程已经启动。

 

Total System Global Area  612368384 bytes

Fixed Size                  1250428 bytes

Variable Size             146803588 bytes

Database Buffers          457179136 bytes

Redo Buffers                7135232 bytes

数据库装载完毕。

ORA-16038: 日志 1 序列号 2 无法归档

ORA-19809: 超出了恢复文件数的限制

ORA-00312: 联机日志 1 线程 1:

'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'

 

SQL> archive log list;

数据库日志模式            存档模式

自动存档             启用

存档终点            USE_DB_RECOVERY_FILE_DEST

最早的联机日志序列     4

下一个存档日志序列   6

当前日志序列           6

 

错误日志:

Errors in file c:\oracle\product\10.2.0\admin\orcl\bdump\orc1_arc0_3960.trc:

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

 

Wed Jul 01 09:09:19 2009

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

You have following choices to free up space from flash 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 as tape using RMAN

   BACKUP RECOVERY AREA command.

3. Add disk space and increase db_recovery_file_dest_size parameter to

   reflect the new space.

4. Delete unnecessary files using RMAN DELETE command. If an operating

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

   DELETE EXPIRED commands.

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

Wed Jul 01 09:09:19 2009

Errors in file c:\oracle\product\10.2.0\admin\orcl\bdump\orc1_arc0_3960.trc:

ORA-19809: limit exceeded for recovery files

ORA-19804: cannot reclaim 50360832 bytes disk space from 2147483648 limit

 

ARC0: Error 19809 Creating archive log file to 'C:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\ARCHIVELOG\2009_07_01\O1_MF_1_2_U_.ARC'

ARC0: Failed to archive thread 1 sequence 2 (19809)

ARCH: Archival stopped, error occurred. Will continue retrying

 

Wed Jul 01 09:09:20 2009

Errors in file c:\oracle\product\10.2.0\admin\orcl\bdump\orc1_arc0_3960.trc:

ORA-16038: log 1 sequence# 2 cannot be archived

ORA-19809: limit exceeded for recovery files

ORA-00312: online log 1 thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'

 

Wed Jul 01 09:09:23 2009

ARC1: Archiving not possible: No primary destinations

ARC1: Failed to archive thread 1 sequence 2 (4)

ARCH: Archival stopped, error occurred. Will continue retrying

 

Wed Jul 01 09:09:23 2009

Errors in file c:\oracle\product\10.2.0\admin\orcl\bdump\orc1_arc1_260.trc:

ORA-16014: log 1 sequence# 2 not archived, no available destinations

ORA-00312: online log 1 thread 1: 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16426127/viewspace-607990/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16426127/viewspace-607990/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQLAlchemy 是一个 SQL 工具包和对象关系映射(ORM)库,用于 Python 编程语言。它提供了一个高级的 SQL 工具和对象关系映射工具,允许开发者以 Python 类和对象的形式操作数据库,而无需编写大量的 SQL 语句。SQLAlchemy 建立在 DBAPI 之上,支持多种数据库后端,如 SQLite, MySQL, PostgreSQL 等。 SQLAlchemy 的核心功能: 对象关系映射(ORM): SQLAlchemy 允许开发者使用 Python 类来表示数据库表,使用类的实例表示表中的行。 开发者可以定义类之间的关系(如一对多、多对多),SQLAlchemy 会自动处理这些关系在数据库中的映射。 通过 ORM,开发者可以像操作 Python 对象一样操作数据库,这大大简化了数据库操作的复杂性。 表达式语言: SQLAlchemy 提供了一个丰富的 SQL 表达式语言,允许开发者以 Python 表达式的方式编写复杂的 SQL 查询。 表达式语言提供了对 SQL 语句的灵活控制,同时保持了代码的可读性和可维护性。 数据库引擎和连接池: SQLAlchemy 支持多种数据库后端,并且为每种后端提供了对应的数据库引擎。 它还提供了连接池管理功能,以优化数据库连接的创建、使用和释放。 会话管理: SQLAlchemy 使用会话(Session)来管理对象的持久化状态。 会话提供了一个工作单元(unit of work)和身份映射(identity map)的概念,使得对象的状态管理和查询更加高效。 事件系统: SQLAlchemy 提供了一个事件系统,允许开发者在 ORM 的各个生命周期阶段插入自定义的钩子函数。 这使得开发者可以在对象加载、修改、删除等操作时执行额外的逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值