启动数据库时,遇到ORA-19809错误 .

来源:互联网 发布:win10点网络图标没反应 编辑:程序博客网 时间:2024/06/05 02:28

sys@ORA10G> startup;
ORACLE 例程已经启动。

Total System Global Area  373293056 bytes
Fixed Size                  1249104 bytes
Variable Size             142606512 bytes
Database Buffers          226492416 bytes
Redo Buffers                2945024 bytes
数据库装载完毕。
ORA-16038: 日志 2 序列号 11 无法归档
ORA-19809: 超出了恢复文件数的限制
ORA-00312: 联机日志 2 线程 1: 'D:/ORACLE/ORADATA/ORA10G/REDO02A.LOG'
ORA-00312: 联机日志 2 线程 1: 'D:/ORACLE/ORADATA/ORA10G/REDO02B.LOG'

sys@ORA10G> select status from v$instance;
STATUS
------------
MOUNTED

sys@ORA10G> alter database open;
alter database open
*
第 1 行出现错误:
ORA-16014: 日志 2 的序列号 11 未归档, 没有可用的目的地
ORA-00312: 联机日志 2 线程 1: 'D:/ORACLE/ORADATA/ORA10G/REDO02A.LOG'
ORA-00312: 联机日志 2 线程 1: 'D:/ORACLE/ORADATA/ORA10G/REDO02B.LOG'

Oracle的对ORA-19809错误的解释:
ORA-19809: limit exceeded for recovery files
Cause: The limit for recovery files specified by the DB_RECOVERY_FILE_DEST_SIZE was exceeded.
Action: The error is accompanied by 19804. See message 19804 for further details.

ORA-19804: cannot reclaim string bytes disk space from string limit
Cause: Oracle cannot reclaim disk space of specified bytes from the DB_RECOVERY_FILE_DEST_SIZE limit.
Action: There are five possible solutions:
1) Take frequent backup of recovery area using RMAN.
2) Consider changing RMAN retention policy.
3) Consider changing RMAN archivelog deletion policy.
4) Add disk space and increase DB_RECOVERY_FILE_DEST_SIZE.
5) Delete files from recovery area using RMAN.

看来是DB_RECOVERY_FILE_DEST的空间满了,无法归档:

sys@ORA10G> show parameter db_recovery_file_dest

NAME                                     TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest              string         D:/oracle/flash_recovery_area
db_recovery_file_dest_size       big integer  1G

在windows中查看发现D:/oracle/flash_recovery_area文件夹已经达到0.99G了。增加恢复区的大小,就可以正常打开数据库了:

sys@ORA10G> alter system set db_recovery_file_dest_size=2g scope=both;

系统已更改。

sys@ORA10G>alter database open;

数据库已打开。

这个办法不是长久之计啊,还是用rman删除过期备份吧:

RMAN> connect target /

连接到目标数据库: ORA10G (DBID=4016505219)

RMAN> backup as compressed backupset database;

启动 backup 于 2009-10-29 15:45:55
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=158 devtype=DISK
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
输入数据文件 fno=00001 name=D:/ORACLE/ORADATA/ORA10G/SYSTEM01.DBF
输入数据文件 fno=00003 name=D:/ORACLE/ORADATA/ORA10G/SYSAUX01.DBF
输入数据文件 fno=00004 name=D:/ORACLE/ORADATA/ORA10G/USERS01.DBF
输入数据文件 fno=00005 name=D:/ORACLE/ORADATA/ORA10G/EXAMPLE01.DBF
输入数据文件 fno=00002 name=D:/ORACLE/ORADATA/ORA10G/UNDOTBS01.DBF
通道 ORA_DISK_1: 正在启动段 1 于 2009-10-29 15:45:57
通道 ORA_DISK_1: 已完成段 1 于 2009-10-29 15:47:32
段句柄=D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_10_29/O1_MF_NNNDF_TAG20091029T154556_5GLL1OHB_.BKP 标记=TAG20091029T154556 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:01:36
通道 ORA_DISK_1: 启动压缩的全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
备份集中包括当前控制文件
在备份集中包含当前的 SPFILE
通道 ORA_DISK_1: 正在启动段 1 于 2009-10-29 15:47:36
通道 ORA_DISK_1: 已完成段 1 于 2009-10-29 15:47:39
段句柄=D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_10_29/O1_MF_NCSNF_TAG20091029T154556_5GLL4R6Y_.BKP 标记=TAG20091029T154556 注释=NONE
通道 ORA_DISK_1: 备份集已完成, 经过时间:00:00:07
完成 backup 于 2009-10-29 15:47:39

RMAN> list backup;

备份集列表
===================

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
1       Full    617.67M     DISK        00:01:39     2009-09-25 12:14:55
        BP 关键字: 1   状态: AVAILABLE  已压缩: NO   标记: TAG20090925T121316
段名:D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_09_25/O1_MF_NNNDF_TAG20090925T121316_5CRJTXBG_.BKP
  备份集 1 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间            名称
  ---- -- ---- ---------- ------------------- ----
  1       Full 680392     2009-09-25 11:31:03 D:/ORACLE/ORADATA/ORA10G/SYSTEM01.DBF
  2       Full 680392     2009-09-25 11:31:03 D:/ORACLE/ORADATA/ORA10G/UNDOTBS01.DBF
  3       Full 680392     2009-09-25 11:31:03 D:/ORACLE/ORADATA/ORA10G/SYSAUX01.DBF
  4       Full 680392     2009-09-25 11:31:03 D:/ORACLE/ORADATA/ORA10G/USERS01.DBF
  5       Full 680392     2009-09-25 11:31:03 D:/ORACLE/ORADATA/ORA10G/EXAMPLE01.DBF

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
2       Full    6.80M      DISK        00:00:05     2009-09-25 12:15:07
        BP 关键字: 2   状态: AVAILABLE  已压缩: NO  标记: TAG20090925T121316
段名:D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_09_25/O1_MF_NCSNF_TAG20090925T121316_5CRJY9FQ_.BKP
  包括的控制文件: Ckp SCN: 680392       Ckp 时间: 2009-09-25 11:31:03
  包含的 SPFILE: 修改时间: 2009-09-25 12:10:53

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
3       Full    147.34M     DISK        00:01:30     2009-10-29 15:47:26
        BP 关键字: 3   状态: AVAILABLE  已压缩: YES   标记: TAG20091029T154556
段名:D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_10_29/O1_MF_NNNDF_TAG20091029T154556_5GLL1OHB_.BKP
  备份集 3 中的数据文件列表
  文件 LV 类型 Ckp SCN    Ckp 时间            名称
  ---- -- ---- ---------- ------------------- ----
  1       Full 819330     2009-10-29 15:45:57 D:/ORACLE/ORADATA/ORA10G/SYSTEM01.DBF
  2       Full 819330     2009-10-29 15:45:57 D:/ORACLE/ORADATA/ORA10G/UNDOTBS01.DBF
  3       Full 819330     2009-10-29 15:45:57 D:/ORACLE/ORADATA/ORA10G/SYSAUX01.DBF
  4       Full 819330     2009-10-29 15:45:57 D:/ORACLE/ORADATA/ORA10G/USERS01.DBF
  5       Full 819330     2009-10-29 15:45:57 D:/ORACLE/ORADATA/ORA10G/EXAMPLE01.DBF

BS 关键字  类型 LV 大小       设备类型 经过时间 完成时间
------- ---- -- ---------- ----------- ------------ -------------------
4       Full    1.03M      DISK        00:00:05     2009-10-29 15:47:37
        BP 关键字: 4   状态: AVAILABLE  已压缩: YES  标记: TAG20091029T154556
段名:D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_10_29/O1_MF_NCSNF_TAG20091029T154556_5GLL4R6Y_.BKP
  包括的控制文件: Ckp SCN: 819373       Ckp 时间: 2009-10-29 15:47:32
  包含的 SPFILE: 修改时间: 2009-10-29 13:52:59

可以看到第二次的compressed备份集相对于第一次没有压缩的备份集要小很多。
再来删除过期的备份:

RMAN> delete obsolete;

RMAN 保留策略将应用于该命令
将 RMAN 保留策略设置为冗余 1
使用通道 ORA_DISK_1
删除以下已废弃的备份和副本:
类型                 关键字完成时间           文件名/句柄
-------------------- ------ ------------------ --------------------
备份集               1      2009-09-25 12:14:55
备份段       1      2009-09-25 12:14:55 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_09_25/O1_MF_NNNDF_TAG20090925T121316_5CRJTXBG_.BKP
存档日志          4      2009-09-25 13:06:53 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_25/O1_MF_1_5_5CRMZ9P9_.ARC
备份集               2      2009-09-25 12:15:07
备份段       2      2009-09-25 12:15:07 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_09_25/O1_MF_NCSNF_TAG20090925T121316_5CRJY9FQ_.BKP
存档日志          5      2009-09-25 13:26:34 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_25/O1_MF_1_1_5CRO4BC4_.ARC
存档日志          6      2009-09-25 16:32:36 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_25/O1_MF_1_1_5CS013OR_.ARC
存档日志          7      2009-09-27 12:51:24 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_27/O1_MF_1_2_5CXVT95Y_.ARC
存档日志          8      2009-09-27 13:16:24 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_27/O1_MF_1_3_5CXX988H_.ARC
存档日志          9      2009-09-27 15:27:25 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_27/O1_MF_1_4_5CY4YX04_.ARC
存档日志          10     2009-10-10 16:00:44 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_10_10/O1_MF_1_5_5F0HS2WR_.ARC
存档日志          11     2009-10-27 10:53:50 D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_10_27/O1_MF_1_6_5GDR5PLT_.ARC

是否确定要删除以上对象 (输入 YES 或 NO)? y
已删除备份段
备份段 handle=D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_09_25/O1_MF_NNNDF_TAG20090925T121316_5CRJTXBG_.BKP recid=1 stamp=698501597
已删除的存档日志
存档日志文件名 =D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_25/O1_MF_1_5_5CRMZ9P9_.ARC 记录 ID=4 时间戳 =698504813
已删除备份段
备份段 handle=D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/BACKUPSET/2009_09_25/O1_MF_NCSNF_TAG20090925T121316_5CRJY9FQ_.BKP recid=2 stamp=698501705
已删除的存档日志
存档日志文件名 =D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_25/O1_MF_1_1_5CRO4BC4_.ARC 记录 ID=5 时间戳 =698505994
已删除的存档日志
存档日志文件名 =D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_25/O1_MF_1_1_5CS013OR_.ARC 记录 ID=6 时间戳 =698517156
已删除的存档日志
存档日志文件名 =D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_27/O1_MF_1_2_5CXVT95Y_.ARC 记录 ID=7 时间戳 =698676684
已删除的存档日志
存档日志文件名 =D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_27/O1_MF_1_3_5CXX988H_.ARC 记录 ID=8 时间戳 =698678184
已删除的存档日志
存档日志文件名 =D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_09_27/O1_MF_1_4_5CY4YX04_.ARC 记录 ID=9 时间戳 =698686045
已删除的存档日志
存档日志文件名 =D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_10_10/O1_MF_1_5_5F0HS2WR_.ARC 记录 ID=10 时间戳 =699897644
已删除的存档日志
存档日志文件名 =D:/ORACLE/FLASH_RECOVERY_AREA/ORA10G/ARCHIVELOG/2009_10_27/O1_MF_1_6_5GDR5PLT_.ARC 记录 ID=11 时间戳 =701348030
10 对象已删除

现在文件夹已经缩小到300M,可以将db_recovery_file_dest_size改回1G了。

sys@ORA10G> alter system set db_recovery_file_dest_size=1g scope=both;

系统已更改。

 

 

文章来源: http://blog.sina.com.cn/s/blog_6fffae000100nzxp.html

 

备份集backupset是一种只能由RMAN操纵的专用格式,可以被写至磁盘或者磁带,而映像备份只能被写至磁盘。

能够被备份为backupset的对象有controlfile, 服务器参数文件,datafile, archivelog, 映像副本以及其他备份集。

原创粉丝点击