1,现象是oracle启动报错例如以下:

SQL> startup
ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cannot be translated
ORA-07286: sksagdi: cannot obtain device information.
Linux-x86_64 Error: 2: No such file or directory
SQL>

google了下,运行例如以下命令还是没有生效。



ALTER SYSTEM SET LOG_ARCHIVE_DEST_3=’location=/pddata2/app/oracle/archivelog3’ SCOPE=SPFILE;

1.1。去查看下报错的这个log_archive_dest_3文件夹路径:

[oracle@localhost network]$ cd $ORACLE_HOME
[oracle@localhost dbhome_1]$ cd dbs
[oracle@localhost dbs]$ strings spfile*.ora |grep dest_3;
*.log_archive_dest_3='LOCATION=/data/oracle/oradgdata/standby_archive VALID_FOR=(STANDBY_LOGFILES,STA
*.log_archive_dest_3='LOCATION=/data/oracle/oradgdata/standby_archive VALID_FOR=(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAME=pddgunq'
[oracle@localhost dbs]$

1.2 解决方法换个路径

然后新建/data/oracle/oradgdata/standby_archive文件夹文件夹,oracle能够启动起来了,可是我想讲/data文件夹切换成/pddata2/由于data文件夹空间太小了。那么这个时候能够有很多种办法的。并且也能够借此机会清理一下磁盘空间。

看到dest_3的为/data/oracle/oradgdata/standby_archive

可是/data已经不存在了,所以直接vim改成/pddata2/app/oracle/archivelog3

1.3,将备份copy到备库上面去,同文件夹

backup current controlfile for standby format '/pddata2/oracle/backup/data/ctlfile.bak.20150610';

<版权全部,文章同意转载,但必须以链接方式注明源地址,否则追究法律责任!>

原博客地址: http://blog.csdn.net/mchdba/article/details/46666229

原作者:黄杉 (mchdba)


2,在备库上恢复控制文件

两种方法:

2.1 直接生成

[oracle@localhost data]$ su - oracle
SQL> backup current controlfile for standby format '/pddata2/oracle/backup/data/ctlfile.bak.20150610';
[oracle@localhost data]$ cp ctlfile.bak.20150610_2 /home/oradata/powerdes/control01.ctl [oracle@localhost data]$ cp ctlfile.bak.20150610_2 /oracle/app/oracle/flash_recovery_area/powerdes/control02.ctl

2.2 从备份中恢复控制文件,启动为nomount状态下:

    RMAN> restore controlfile from "/pddata2/oracle/backup/data/ctl_auto/c-3391761643-20150610-01";                                                                                                

    Starting restore at 10-JUN-15
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=386 device type=DISK channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/home/oradata/powerdes/control01.ctl
output file name=/oracle/app/oracle/flash_recovery_area/powerdes/control02.ctl
Finished restore at 10-JUN-15 RMAN>

2.3 将归档日志copy过去到standby上

[oracle@localhost archivelog]$ scp * root@192.118.180.108:/oracle/app/oracle/flash_recovery_area/archivelog/

3。在primary主库上操作:

run {

allocate auxiliary channel c1 device type disk;

allocate auxiliary channel c2 device type disk;

duplicate target database for standby nofilenamecheck dorecover;

release channel c1;

release channel c2;

}

[oracle@localhost data]$   rlwrap rman target / auxiliary sys/xxxx@STU
rlwrap: warning: your $TERM is 'xterm' but rlwrap couldn't find it in the terminfo database. Expect some problems. Recovery Manager: Release 11.2.0.1.0 - Production on Thu Jun 11 08:36:05 2015 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: POWERDES (DBID=3391761643)
connected to auxiliary database: POWERDES (not mounted) run {
allocate auxiliary channel c1 device type disk;
allocate auxiliary channel c2 device type disk;
duplicate target database for standby nofilenamecheck dorecover;
release channel c1;
release channel c2;
7> } using target database control file instead of recovery catalog
allocated channel: c1
channel c1: SID=482 device type=DISK allocated channel: c2
channel c2: SID=578 device type=DISK Starting Duplicate Db at 11-JUN-15 contents of Memory Script:
{
set until scn 11195733956;
restore clone standby controlfile;
}
executing Memory Script executing command: SET until clause Starting restore at 11-JUN-15 channel c1: starting datafile backup set restore
channel c1: restoring control file
channel c1: reading from backup piece /pddata2/oracle/backup/data/ctl_auto/c-3391761643-20150611-01
channel c1: piece handle=/pddata2/oracle/backup/data/ctl_auto/c-3391761643-20150611-01 tag=TAG20150611T032806
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:00:01
output file name=/home/oradata/powerdes/control01.ctl
output file name=/oracle/app/oracle/flash_recovery_area/powerdes/control02.ctl
Finished restore at 11-JUN-15 contents of Memory Script:
{
sql clone 'alter database mount standby database';
}
executing Memory Script sql statement: alter database mount standby database contents of Memory Script:
{
set until scn 11195733956;
set newname for tempfile 1 to
"/home/oradata/powerdes/temp01.dbf";
switch clone tempfile all;
set newname for datafile 1 to
"/home/oradata/powerdes/system01.dbf";
set newname for datafile 2 to
"/home/oradata/powerdes/sysaux01.dbf";
set newname for datafile 3 to
"/home/oradata/powerdes/undotbs01.dbf";
set newname for datafile 4 to
"/home/oradata/powerdes/users01.dbf";
set newname for datafile 5 to
"/home/oradata/powerdes/orclstu01.dbf";
set newname for datafile 6 to
"/home/oradata/powerdes/plas01.dbf";
set newname for datafile 7 to
"/home/oradata/powerdes/pl01.dbf";
set newname for datafile 8 to
"/home/oradata/powerdes/help01.dbf";
set newname for datafile 9 to
"/home/oradata/powerdes/adobelc01.dbf";
set newname for datafile 10 to
"/home/oradata/powerdes/sms01.dbf";
set newname for datafile 11 to
"/home/oradata/powerdes/plcrm01.dbf";
restore
clone database
;
}
executing Memory Script executing command: SET until clause executing command: SET NEWNAME renamed tempfile 1 to /home/oradata/powerdes/temp01.dbf in control file executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME executing command: SET NEWNAME Starting restore at 11-JUN-15 skipping datafile 7; already restored to file /home/oradata/powerdes/pl01.dbf
channel c1: starting datafile backup set restore
channel c1: specifying datafile(s) to restore from backup set
channel c1: restoring datafile 00001 to /home/oradata/powerdes/system01.dbf
channel c1: restoring datafile 00002 to /home/oradata/powerdes/sysaux01.dbf
channel c1: restoring datafile 00003 to /home/oradata/powerdes/undotbs01.dbf
channel c1: restoring datafile 00004 to /home/oradata/powerdes/users01.dbf
channel c1: restoring datafile 00005 to /home/oradata/powerdes/orclstu01.dbf
channel c1: restoring datafile 00006 to /home/oradata/powerdes/plas01.dbf
channel c1: restoring datafile 00008 to /home/oradata/powerdes/help01.dbf
channel c1: restoring datafile 00009 to /home/oradata/powerdes/adobelc01.dbf
channel c1: restoring datafile 00010 to /home/oradata/powerdes/sms01.dbf
channel c1: restoring datafile 00011 to /home/oradata/powerdes/plcrm01.dbf
channel c1: reading from backup piece /pddata2/oracle/backup/data/2015-06-11/full_POWERDES_20150611_3839.bak
channel c1: piece handle=/pddata2/oracle/backup/data/2015-06-11/full_POWERDES_20150611_3839.bak tag=TAG20150611T030028
channel c1: restored backup piece 1
channel c1: restore complete, elapsed time: 00:32:36
Finished restore at 11-JUN-15 contents of Memory Script:
{
switch clone datafile all;
}
executing Memory Script datafile 1 switched to datafile copy
input datafile copy RECID=3 STAMP=882090432 file name=/home/oradata/powerdes/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=4 STAMP=882090432 file name=/home/oradata/powerdes/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=5 STAMP=882090432 file name=/home/oradata/powerdes/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=6 STAMP=882090432 file name=/home/oradata/powerdes/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=7 STAMP=882090432 file name=/home/oradata/powerdes/orclstu01.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=8 STAMP=882090432 file name=/home/oradata/powerdes/plas01.dbf
datafile 7 switched to datafile copy
input datafile copy RECID=9 STAMP=882090433 file name=/home/oradata/powerdes/pl01.dbf
datafile 8 switched to datafile copy
input datafile copy RECID=10 STAMP=882090433 file name=/home/oradata/powerdes/help01.dbf
datafile 9 switched to datafile copy
input datafile copy RECID=11 STAMP=882090433 file name=/home/oradata/powerdes/adobelc01.dbf
datafile 10 switched to datafile copy
input datafile copy RECID=12 STAMP=882090433 file name=/home/oradata/powerdes/sms01.dbf
datafile 11 switched to datafile copy
input datafile copy RECID=13 STAMP=882090433 file name=/home/oradata/powerdes/plcrm01.dbf contents of Memory Script:
{
set until scn 11195733956;
recover
standby
clone database
delete archivelog
;
}
executing Memory Script executing command: SET until clause Starting recover at 11-JUN-15 starting media recovery released channel: c1
released channel: c2
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of Duplicate Db command at 06/11/2015 09:30:37
RMAN-03015: error occurred in stored script Memory Script
RMAN-06053: unable to perform media recovery because of missing log
RMAN-06025: no backup of archived log for thread 1 with sequence 33512 and starting SCN of 11195734481 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33511 and starting SCN of 11195733956 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33510 and starting SCN of 11195733022 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33509 and starting SCN of 11195729402 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33508 and starting SCN of 11195724939 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33507 and starting SCN of 11195722152 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33506 and starting SCN of 11195705217 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33505 and starting SCN of 11195696346 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33504 and starting SCN of 11195690731 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33503 and starting SCN of 11195685937 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33502 and starting SCN of 11195681129 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33501 and starting SCN of 11195666579 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33500 and starting SCN of 11195658641 found to restore
RMAN-06025: no backup of archived log for thread 1 with sequence 33499 and starting SCN of 11195658616 found to restore
RMAN>

去找下缺失的dbf文件是否存在,原来文件一直存在

[root@localhost ~]# find / -name *33499*.dbf
/oracle/app/oracle/flash_recovery_area/archivelog/1_33499_821708334.dbf
[root@localhost ~]# find / -name *33512*.dbf
/oracle/app/oracle/flash_recovery_area/archivelog/1_33512_821708334.dbf
[root@localhost ~]#

将这些将归档日志copy到从库

[root@localhost archivelog]# scp 335.dbf root@192.118.180.108:/oracle/app/oracle/flash_recovery_area/archivelog/

[root@localhost archivelog]# chown -R oracle.dba /oracle/app/oracle/flash_recovery_area/archivelog/*

4,上一步中。假设为MOUNTED,则能够開始启动备库的REDO应用,去从库运行:

先去主库运行:

ALTER system SET log_archive_dest_state_2 = ‘defer’;

alter database recover managed standby database disconnect from session;

备库运行:

SQL> alter database recover managed standby database disconnect from session;
Database altered.
SQL>
SQL> alter database recover managed standby database cancel; Database altered. SQL>

发现归档日志无法传输过来,并且缺失33499到33512的归档日志。想了想曾经能够基于scn做过增量恢复standby的。能够试试。

5。利用SCN增量备份来恢复standby库

先备份:

backup device type disk incremental from scn 11195658616 database format ‘/home/oracle/db_incre%U.bbk’;

ALTER system SETlog_archive_dest_state_2 = ‘defer’

然后创建恢复的控制文件:

ALTER DATABASE CREATE standby controlfile AS ‘/home/oracle/standby1.ctl’;

/pddata2/oracle/backup/data

细节再使用基于scn增量备份的恢复程序:

參考文章地址:http://blog.csdn.net/mchdba/article/details/45826893

ORA-16032: parameter LOG_ARCHIVE_DEST_3 destination string cannot be translated问题处理过程的更多相关文章

  1. ORA-01261: Parameter db_recovery_file_dest destination string cannot be translat

    查看了Oracle的初始化文件. $cat /oracle/oms/102_64/dbs/initSID.ora 如:db_recovery_file_dest='/oracle/oms/flash_ ...

  2. Missing URI template variable 'XXXX' for method parameter of type String

    原因:就是spring的controller上的@RequestMapping的实参和方法里面的形参名字不一致 方法:改成一样就可. ps.还能用绑定的方法,不建议,因为太麻烦了 @RequestMa ...

  3. Realm 处理List<String> 问题 Type parameter 'java.lang.String' is not within its bound; should implement 'io.realm.RealmModel

    public class InitAppBean extends RealmObject { private String sapling; private String logistics; pri ...

  4. Oracle 10gR2 Dataguard搭建(非duplicate方式)

    Oracle 10gR2 Dataguard搭建(非duplicate方式) 我的实验环境: 源生产库(主库): IP地址:192.168.1.30 Oracle 10.2.0.5 单实例 新DG库( ...

  5. Oracle 10g DataGuard手记之基础配置

    DataGuard为企业数据的高可用性,数据安全以及灾难恢复提供支持,一般由一个primary db与几个物理或逻辑standby db组成一个DataGuard配置. 系统环境 操作系统为windo ...

  6. Oracle使用startup与startup force启动的区别

    1. startup 就是正常启动数据库,没什么好说的. 2. startup force 是shutdown abort + startup的组合,即强制关闭数据库+ 正常启动数据库,想快速重启数据 ...

  7. Oracle归档日志与非归档日志的切换及路径设置

    --==================== -- Oracle 归档日志 --==================== Oracle可以将联机日志文件保存到多个不同的位置,将联机日志转换为归档日志的 ...

  8. RMAN冷备份异机还原

    1:环境准备 在新的服务器上安装ORACLE实例,安装过程中需要注意源服务器与目标服务器的ORACLE_SID一致,另外确保安装路径与源路径一致(不仅是安装目录,甚至包括数据文件.控制文件目录.联机重 ...

  9. Oracle Dataguard之Real-Time Apply

    Oracle Dataguard一共支持三种模式:最大可用模式(Maximum Availability),最大性能模式(Maximum Performance),最大保护模式(Maximum Pro ...

随机推荐

  1. 微信公众号jssdk自定义分享,二次分享自定义失败解决技巧

    百度上自定义微信分享标题以及描述的解决方法有很多,基本上都能实现一次分享:流程基本上是这样的 1.首先引入微信jssdk =><script src="http://res.wx ...

  2. C#中访问私有成员

    首先访问一个类的私有成员不是什么好做法.大家都知道私有成员在外部是不能被访问的.一个类中会存在很多私有成员:如私有字段.私有属性.私有方法.对于私有成员造访,可以套用下面这种非常好的方式去解决. pr ...

  3. 修改 Sublime 按快捷键 ctrl+s 自动格式化(reindent lines)的问题

    Sublime 工具自带代码格式化的功能,但在某些场景下格式化代码后并不是我们想要的代码格式,且是点击保存ctrl+s才触发的格式代码事件,so,为关闭点击ctrl+s格式代码,我们需要改命令 sav ...

  4. pt-show-grants

    用法: pt-show-grants [OPTION ... ] [DSN]   例子: pt-show-grants pt-show-grants --separate --revoke | dif ...

  5. python数据结构与算法篇:排序

    1.冒泡排序(英语:Bubble Sort) 它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来.遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成. ...

  6. sqoop: mysql to hive

    sqoop import --connect 数据库连接 --username 数据库用户名--password 数据库密码 --table 导入的表 -m 1 --hive-import --tar ...

  7. MyBatis开发学习记录

    使用MyBatis时主要是完成POJO和SQL的映射规则 MyBatis基本构成: SqlSessionFactoryBuilder SqlSessionFactory SqlSession SqlM ...

  8. _1Python简介 安装及版本检测

    简介 Python是一种面向对象的解释性计算机程序设计语言,由荷兰人Guido von Rossum于1988年的圣诞节发明,第一个公开发行版于1991年. Python崇尚优美.清晰.简单,是一个优 ...

  9. 十二、Hadoop学习笔记————Hive的基本原理

    一般用户用CLI(命令行界面)接口,元数据库含有表结构 单用户.多用户.远程服务 生成db文件,只能单客户端使用数据库 多用户是最常用的使用模式 配置与多用户一致 数据格式用户自定义 所有的表都存于改 ...

  10. 解决WebSocket兼容ie浏览器版本问题

    转载请注明出处:http://www.cnblogs.com/Joanna-Yan/p/7942323.html 在使用Netty进行WebSocket开发时,测试发现:ie 11系列个别低版本连接W ...