`
chengyue2007
  • 浏览: 1490003 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

ORA-00258: NOARCHIVELOG 模式下的人工存档必须标识日志

 
阅读更多

1.手工归档时报出如下错误
sys@orcl> alter system archive log current;
alter system archive log current
*
ERROR at line 1:
ORA-00258: manual archiving in NOARCHIVELOG mode must identify log

2.alert警告日志中同样记录了这个错误
Sun Apr 18 14:08:40 2010
Errors in file /oracle/admin/orcl/udump/orcl_ora_25744.trc:
ORA-00258: manual archiving in NOARCHIVELOG mode must identify log

3.关于ORA-00258错误的解释信息
1)使用oerr工具查看该错误描述
orcl@luckystardb /home/oracle$ oerr ora 258
00258, 00000, "manual archiving in NOARCHIVELOG mode must identify log"
// *Cause: The database is in NOARCHIVELOG mode and a command to manually
//          archive a log did not specify the log explicitly by sequence
//          number, group number or filename.
// *Action: Specify log by filename, by group number or by thread and
//          sequence number.

2)MOS中的描述信息
OERR: ORA 258 manual archiving in NOARCHIVELOG mode must identify log [ID 18327.1]

Error:  ORA 258
Text:   manual archiving in NOARCHIVELOG mode must identify log
-------------------------------------------------------------------------------
Cause:  An attempt was made to archive a redo log file manually without
        specifying the sequence number, group number, or filename while the
        database was in NOARCHIVELOG mode.
Action: The name, group number, or thread and sequence number of redo log
        files must be specified to archive redo log files manually while the
        database is in NOARCHIVELOG mode.


4.问题处理
1)第一种处理方法
问题原因是数据库没有处于归档模式,最根本的解决方法是修改数据库为归档模式,具体操作步骤请参见文章《【ARCHIVE】单机环境修改数据库为非归档模式》http://space.itpub.net/519536/viewspace-660184。

2)第二种处理方法(意义不大)
既然错误提示“ORA-00258: manual archiving in NOARCHIVELOG mode must identify log”,那我们就可以使用带有指定日志组的SQL命令完成归档操作。
(1)查看数据库的归档目录位置
sys@ora10g> show parameter log_archive_dest_1

NAME                  TYPE    VALUE
--------------------- ----------------------------------------
log_archive_dest_1    string  location=/oracle/arch/ora10g
log_archive_dest_10   string

(2)查看当前数据库日志情况
sys@ora10g> select * from v$log;

    GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS   FIRST_CHANGE# FIRST_TIME
---------- ---------- ---------- ---------- ---------- --- -------- ------------- -------------------
         1          1       1528  209715200          1 NO  CURRENT      476386158 2010-04-20 13:20:13
         2          1       1526  209715200          1 YES INACTIVE     476094078 2010-04-14 16:00:07
         3          1       1527  209715200          1 NO  INACTIVE     476248931 2010-04-17 22:00:54

(3)尝试归档第一组日志
sys@ora10g> alter system archive log group 1;
alter system archive log group 1
*
ERROR at line 1:
ORA-00259: log 1 of open instance ora10g (thread 1) is the current log, cannot archive

错误提示很显然,当前日志组不允许归档。

(4)尝试归档第二组日志
sys@ora10g> alter system archive log group 2;
alter system archive log group 2
*
ERROR at line 1:
ORA-16013: log 2 sequence# 1526 does not need archiving

因为归档状态是“YES”,因此该组日志无需归档。

(5)尝试归档第三组之日
sys@ora10g> alter system archive log group 3;

System altered.

归档成功。

(6)确认归档文件
sys@ora10g> !ls -l /oracle/arch/ora10g/
total 194652
-rw-r----- 1 oracle oinstall 199121920 Apr 21 06:38 1_1527_688786498.arch

(7)有关手工归档操作补充内容
以上我们使用的是数据库指定的路径存放手工归档生成的文件,我们还可以指定归档写入的路径
方法如下
sys@ora10g> alter system archive log group 3 to '/home/oracle';

System altered.

sys@ora10g> !ls -l /home/oracle/1_1527_688786498.arch
-rw-r----- 1 oracle oinstall 199121920 Apr 21 06:45 /home/oracle/1_1527_688786498.arch

5.有关“alter system archive log”命令的语法参考
Oracle 10gR2官方文档中有关归档命令用法的参考如下:
ARCHIVE LOG
   [  INSTANCE 'instance_name' ]
   { { SEQUENCE integer
     | CHANGE integer
     | CURRENT [ NOSWITCH ]
     | GROUP integer
     | LOGFILE 'filename'
          [ USING BACKUP CONTROLFILE ]
     | NEXT
     | ALL
     | START
     }
     [ TO 'location' ]
   | STOP
   }

参考链接:http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/img_text/archive_log_clause.htm

6.小结
本文描述的问题根本原因是数据库没有运行在归档模式下,强烈建议重要的数据库运行在归档模式,同时部署可行的备份恢复策略。

Good luck.

secooler
10.04.21

-- The End --

分享到:
评论

相关推荐

    ora-01033:oracle initialization or shutdown in progress 解决方法

    - 尝试打开数据库时,可能会遇到如“ORA-01157: 无法标识/锁定数据文件19 - 请参阅DBWR跟踪文件”这样的错误。此时,可以通过以下命令来解决: ``` SQL> alter database datafile 19 offline drop; ``` 其中,`...

    如何处理错误ORA-29275:部分多字节字符

    ### 如何处理错误ORA-29275:部分多字节字符 #### 问题背景与描述 在Oracle数据库操作过程中,用户可能会遇到一个特定的错误提示——ORA-29275:部分多字节字符。这一错误通常出现在执行查询`SELECT * FROM V$...

    ORA-32001:请求写入spfile,但没有使用spfile的解决方法

    ORA-32001:write to spfile requested but no spfile is in use请求写入spfile,但没有使用spfile的解决方法 在输入以下语句中报了这样的错误: SQL>alter system set control_files=’/u01/app/oracle/oradata/prod/...

    ORA-04052p5731178_92080_WINNT.zip

    ORA-00604: 递归SQL层1出现错误 ORA-03106: 致命的双工通信协议错误 ORA-02063: 紧接着line(源于dblink) 以及 ORA-04052: 在查找远程对象时出错 ORA-00604: 递归SQL层1出现错误 ORA-03120: 双工转换例行程序:整数...

    ORA-12154: TNS: 无法解析指定的连接标识符的解决方法

    ORA-12154: TNS: 无法解析指定的连接标识符的解决方法

    Oracle 授权 ORA-00990: 权限缺失或无效

    在Oracle数据库管理中,"ORA-00990: 权限缺失或无效"是一个常见的错误代码,它表示用户尝试执行的操作没有足够的权限。这个错误通常发生在试图访问、修改或者管理数据库对象(如表、视图、索引等)时。在本篇文章中...

    oracle特有的错误:ORA-01036:非法的变量名/编号

    在Oracle数据库系统中,"ORA-01036:非法的变量名/编号"是一个常见的错误,通常出现在PL/SQL代码或者SQL查询语句中,当你尝试使用一个不正确或者未定义的变量时,Oracle数据库会抛出这个错误。这个错误可能是由于...

    ORA-00904: "WM_CONCAT": 标识符无效

    在Oracle数据库中,"ORA-00904"是一个常见的错误代码,它表示尝试引用一个不存在或无效的标识符。在这个场景下,错误信息提到的是"WM_CONCAT"函数,这表明在Oracle 19c数据库环境中,用户尝试使用WM_CONCAT函数,但...

    oracle报错大全(珍藏版)

    例如,尝试使用只读模式打开一个必须以读写模式打开的对象。 #### ORA-00025: Invalid Object Type 当尝试操作的对象类型无效时触发。这通常是因为对象类型不存在或已被删除。 #### ORA-00026: Invalid Lock ID ...

    oracle12c ORA-01017: 用户名/口令无效; 登录被拒绝 解决方案

    oracle12c程序连接时异常: ORA-01017: 用户名/口令无效; 登录被拒绝 的解决方案。

    ORA-00060: 等待资源时检测到死锁--oracle 数据库表死锁异常

    在Oracle数据库系统中,"ORA-00060: 等待资源时检测到死锁" 是一个常见的错误提示,它表明两个或多个事务在执行过程中陷入了无法继续进行的状态,因为彼此都在等待对方释放资源。这种情况通常发生在并发操作中,比如...

    Oracle错误码大全

    ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程;无法转换...

    CLOB 字段类型报错 ORA-01704: 文字字符串过长的解决

    然而,当你尝试向CLOB字段插入数据时,如果超过了Oracle规定的最大限制,就会遇到“ORA-01704: 文字字符串过长”的错误。这个错误通常意味着你试图插入的字符串超过了Oracle数据库允许的最大长度,对于VARCHAR2类型...

    WMSYS.zip解决ORA-00904:

    -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... -- 解决ORA-00904: "WMSYS"."WM_CONCAT": 标识符无效 的文件包....... ...

    ORA-00031:标记要终止的会话

    在处理Oracle数据库时,我们经常遇到错误代码ORA-00031,它表明指定的会话已经被标记为终止。这个错误通常与数据库锁定和会话管理有关。本文将详细解析这一问题的解决方案,并提供一系列SQL语句和命令来处理和解决...

    Oracle 回收站功能,彻底删除表ORA-00933:SQL command not properly ended

    在启用Oracle回收站之前,需要确保数据库处于归档模式,并且已经启用了闪回数据库功能。默认情况下,Oracle 10g及以后版本会自动启用回收站功能,但可以通过以下命令检查当前状态: ```sql SELECT db_flashback_...

    ORA-12518 TNS:监听程序无法分发客户机连接

    ORA-12518 TNS:监听程序无法分发客户机连接,在您安装好数据库后配置连接数据库的过程中遇到这类问题应该很头疼吧,不过,当您还是四处查资料来解决您遇到的另你头疼的问题时,如果不经意间看到了这则贴子,那请您升...

    oracle报错ora-12541:TNS无监听程序

    oracle报错ora-12541:TNS无监听程序

    解决ORA-12154: TNS: 无法解析指定的连接标识符

    解决ORACLE TNS: 无法解析指定的连接标识符; 里面有步骤

Global site tag (gtag.js) - Google Analytics