(2010-07-15)ORA-19905: log_archive_format must contain %s, %t and %r故障原因及恢复

   今天在做完全备份和恢复实验的时候,按照书上的操作进行操作,结果导致数据库起不来了,在不装载的情况下依然起不来。下面看一下详细过程。
   首先说明下实验环境:OS:XP; Oracle 10.2.0.1

   书上所用的实验环境:OS:XP; Oracle 9i

   书上操作过程如下:

   SQL> alter system set log_archive_dest_1="location=e:/oracle";

系统已更改。

SQL> alter system set log_archive_format="%s.arc" scope=spfile;

系统已更改。

SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
oracle例程已经关闭。
SQL> startup

 ORA-32004: obsolete and/or deprecated parameter(s) specified

 ORA-19905: log_archive_format must contain %s, %t and %r

 仔细看了看两个问题的说明,ORA-32004是因为指定了已经废弃的参数,ORA-19905是说log_archive_format 必须包含%s, %t and %r。看到这里,我突然明白了,我练习用的课本是9i,实际操作的数据库是10.2,看来是log_archive_format 参数命名发生了变化。那么究竟是那个环境出了问题呢?于是

SQL> startup nomount;
ORA-32004: obsolete and/or deprecated parameter(s) specifie
ORA-19905: log_archive_format must contain %s, %t and %r

问题依旧,看开这个东西就在初始化文件里面,于是,重建spfile文件。
SQL> create spfile from pfile='C:/admin/orcl/pfile/init.ora.852008171438';

文件已创建。

SQL> startup
ORACLE 例程已经启动。

Total System Global Area  293601280 bytes
Fixed Size                  1248600 bytes
Variable Size              92275368 bytes
Database Buffers          192937984 bytes
Redo Buffers                7139328 bytes
数据库装载完毕。
数据库已经打开。

看来版本不兼容会带来很多问题,在应用新版本的时候还要熟悉两者之间的变化,是个挺繁琐的工作。

 

下面摘抄一篇我参考的文章:

                                                              oracle10g 启动时报错:ORA-32004 ORA-19905

1、出现问题之前的操作

SQL> alter system set log_archive_dest_1='LOCATION=D:/archive1';
 
系统已更改。
 
SQL> alter system set log_archive_dest_2='LOCATION=E:/archive1';
 
系统已更改。
 
SQL> alter system set log_archive_dest_2='LOCATION=E:/archive2';
 
系统已更改。
 
SQL> show parameter log_archive
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ----------------------------
log_archive_config                   string
log_archive_dest                     string
log_archive_dest_1                   string      LOCATION=D:/archive1
log_archive_dest_10                  string
log_archive_dest_2                   string      LOCATION=E:/archive2
log_archive_dest_3                   string
log_archive_dest_4                   string
log_archive_dest_5                   string
log_archive_dest_6                   string
log_archive_dest_7                   string
log_archive_dest_8                   string
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------------
log_archive_dest_9                   string
log_archive_dest_state_1             string      enable
log_archive_dest_state_10            string      enable
log_archive_dest_state_2             string      enable
log_archive_dest_state_3             string      enable
log_archive_dest_state_4             string      enable
log_archive_dest_state_5             string      enable
log_archive_dest_state_6             string      enable
log_archive_dest_state_7             string      enable
log_archive_dest_state_8             string      enable
log_archive_dest_state_9             string      enable
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- -------------------
log_archive_duplex_dest              string
log_archive_format                   string      ARC%S_%R.%T
log_archive_local_first              boolean     TRUE
log_archive_max_processes            integer     2
log_archive_min_succeed_dest         integer     1
log_archive_start                    boolean     FALSE
log_archive_trace                    integer     0
SQL> alter system set log_archive_format='ARC_S%_T%_r%_d%';
alter system set log_archive_format='ARC_S%_T%_r%_d%'
                 *
1 行出现错误:
ORA-02095: 无法修改指定的初始化参数
 
 
SQL> alter system set log_archive_format='ARC_S%_T%_r%_d%' scope=spfile;
 
系统已更改。
 
SQL> alter system archive log all;
alter system archive log all
*
1 行出现错误:
ORA-00258: NOARCHIVELOG 模式下的手动归档必须标识日志
 
 
SQL> alter system set log_archive_start = true scope=spfile;
 
系统已更改。
 
SQL> alter system archive log start;
 
系统已更改。
 
SQL> alter system archive log all;
alter system archive log all
*
1 行出现错误:
ORA-00258: NOARCHIVELOG 模式下的手动归档必须标识日志
 
 
SQL> archive log list;
数据库日志模式             非存档模式
自动存档             禁用
存档终点            E:/archive2
最早的联机日志序列     97
当前日志序列           99
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-19905: log_archive_format must contain %s, %t and %r
SQL> shutdown abort
ORACLE 例程已经关闭。
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-19905: log_archive_format must contain %s, %t and %r
SQL> exit
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 断开
 
C:/Documents and Settings/Administrator>sqlplus /nolog
 
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 4 8 22:54:59 2009
 
Copyright (c) 1982, 2005, Oracle.  All rights reserved.
 

2、启动数据库时,报错如下:

SQL> conn / as sysdba
已连接到空闲例程。
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-19905: log_archive_format must contain %s, %t and %r
SQL> show parameter archive
ORA-01034: ORACLE not available

3、处理过程,

1)        原因分析:

ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-19905: log_archive_format must contain %s, %t and %r
 
1ORA-32004是因为指定了已经废弃的参数,
2ORA-19905是说log_archive_format 必须包含%s, %t and %r

2)        试着启动数据库到mount状态,并重新创建pfile

 SQL> shutdown immediate

SQL> startup mount;
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-19905: log_archive_format must contain %s, %t and %r
SQL>
SQL> create pfile from spfile;
create pfile from spfile
*
1 行出现错误:
ORA-27041: unable to open file
OSD-04002: ????????????
O/S-Error: (OS 2) ??????????????????????

3)        强制启动,并从spfile创建pfile文件,

 SQL> startup force
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORA-19905: log_archive_format must contain %s, %t and %r
SQL> create pfile from spfile;
文件已创建。
 
但发现pfile内容问题如下:
SPFILE='D:/oracle/product/10.2.0/db_1/dbs/spfileoracsid.ora'
所以根本无法通过修改pfile来修改出错的初始参数。
 

4)        根据pfile的提示内容,用这个spfile来重新创建pfile

SQL> create pfile from spfile='D:/oracle/product/10.2.0/db_1/dbs/SPFILEORACSID.ORA';
文件已创建。

5)        修改pfile内容,看清楚log_archive_format=’ARC_%t_%s_%r.dbf’,百分号是在前面,而非在后面。

6)        指定ORACLEPFILE启动

SQL> startup nomount pfile='D:/oracle/product/10.2.0/db_1/database/initoracsid.ora';
ORA-32006: LOG_ARCHIVE_START initialization parameter has been deprecated
ORACLE 例程已经启动。
 
Total System Global Area  612368384 bytes
Fixed Size                  1250452 bytes
Variable Size             176163692 bytes
Database Buffers          432013312 bytes
Redo Buffers                2940928 bytes

7)        再用pfile创建spfile,然后启动数据库

SQL> create spfile from pfile;
SQL>shutdown immediate
SQL>startup
数据库正常启动。

8)        处理Deprecated system parameters
SQL>  alter system reset  log_archive_start scope=spfile sid='*';
 
系统已更改。
 
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup
ORACLE 例程已经启动。
 
Total System Global Area  612368384 bytes
Fixed Size                  1250452 bytes
Variable Size             184552300 bytes
Database Buffers          423624704 bytes
Redo Buffers                2940928 bytes
数据库装载完毕。
数据库已经打开。
SQL>

查看oracle10g有哪些参数deprecated

SQL> set linesize 1000
SQL> run
  1  select name,description
  2  from v$parameter
  3* where isdeprecated = 'TRUE'

NAME                                                                             DESCRIPTION
-------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
lock_name_space                                                                  lock name space used for generating lock names for standby/clone database
buffer_pool_keep                                                                 Number of database blocks/latches in keep buffer pool
buffer_pool_recycle                                                              Number of database blocks/latches in recycle buffer pool
max_commit_propagation_delay                                                     Max age of new snapshot in .01 seconds
remote_archive_enable                                                            remote archival enable setting
log_archive_start                                                                start archival process on SGA initialization
parallel_server                                                                  if TRUE startup in parallel server mode
parallel_server_instances                                                        number of instances to use for sizing OPS SGA structures
fast_start_io_target                                                             Upper bound on recovery reads
logmnr_max_persistent_sessions                                                   maximum number of threads to mine
serial_reuse                                                                     reuse the frame segments

NAME                                                                             DESCRIPTION
-------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
max_enabled_roles                                                                max number of roles a user can have enabled
global_context_pool_size                                                         Global Application Context Pool Size in Bytes
plsql_compiler_flags                                                             PL/SQL compiler flags
sql_trace                                                                        enable SQL trace
parallel_automatic_tuning                                                        enable intelligent defaults for parallel execution parameters
drs_start                                                                        start DG Broker monitor (DMON process)

17 rows selected.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值