dataguard-(ORA-16004/ORA-01196/ORA-01110)

2023-10-30

author:skate
time: 2009/08/01

 

1. 故障现象:

 

一次突然断电导致我的standby,open时报如下的错误:

 

ORA-16004: 备份数据库需要恢复
ORA-01196: 文件 1 由于介质恢复会话失败而不一致
ORA-01110: 数据文件 1: 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCLDG/SYSTEM01.DBF'

 

2. 环境:


os: windows XP
oracle : oracle10.2


3.解决:

 

standby库操作:
C:/Documents and Settings/skate>sqlplus "sys/aibo@orcl as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 8月 1 14:35:19 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

已连接到空闲例程。

SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area  612368384 bytes
Fixed Size                  1250428 bytes
Variable Size             247466884 bytes
Database Buffers          356515840 bytes
Redo Buffers                7135232 bytes
数据库装载完毕。

SQL> alter database recover managed standby database using current logfile disconnect from session;


在primary 库

sql> alter system switch logfile; ---目的使standby更完全的apply来自primary的log


在standby库:

SQL> alter database recover managed standby database cancel;

数据库已更改。

SQL> alter database open;
alter database open
*
第 1 行出现错误:
ORA-16004: 备份数据库需要恢复
ORA-01196: 文件 1 由于介质恢复会话失败而不一致
ORA-01110: 数据文件 1: 'D:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCLDG/SYSTEM01.DBF'

 

这个时候要注意,一般对于单库活着primary库可以用resotre database或recover database
如果用这两个命令会报:Ora-01666:controlfile is for a standby database

 

但这里不能用,一般的方法是:

 

1.把standby库启动到recover模式,

 

SQL> alter database recover managed standby database using current logfile disconnect from session;

 

2.然后在paimary库执行归档sql

 

SQL> alter system switch logfile;

 

3.standby取消recover模式,一般到这里就可以open了

 

SQL> alter database recover managed standby database cancel;
SQL> alter database open;

 

插曲结束,实际继续操作:

 

在standby库:

SQL> alter database recover managed standby database using current logfile disconnect from session;

数据库已更改。

 

这时在primary库上:


SQL> alter system switch logfile;

系统已更改。


在回到standby库:

SQL> alter database recover managed standby cancel;
alter database recover managed standby cancel
                                       *
第 1 行出现错误:
ORA-02000: 缺失 DATABASE 关键字


SQL> alter database recover managed standby database cancel;

数据库已更改。


这个时候应该可以打开standby库了

 

SQL> alter database open;

数据库已更改。

SQL>

 

但是如果standby库没有primary的datafile,这个可以结合standby库和主库的v$datafile


例如: select * from v$database。  在alert.log里面提示很全面的

 

这个时候就需要手工为standby创建一个datafile

 

方法:

alter database create datafile 'v$datafile_name' as 'expected_file_name';

 

然后:

1.alter database recover managed standby database using current logfile disconnect from session;

 

2.primary 数据库做alter system switch logfile;

 

3. 在standby库, alter database recover managed standby database

 

此时standby数据库应该能够open了。

 

 

 

---end----

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

dataguard-(ORA-16004/ORA-01196/ORA-01110) 的相关文章

  • 需要在 SQL Server 中透视字符串值

    我有一个包含值的表 描述为 Occupation String Name String Developer A Developer B Designer X Coder Y Coder Z 我需要数据透视格式的值 Designer Deve
  • 如何使用 Wix 运行 sql 脚本创建数据库

    我在使用 Wix 创建数据库时遇到问题 我能找到的示例 参见下面的链接 都是首先使用 wix 创建数据库并运行创建表 sql 脚本 问题是我需要将 wix 设置为使用 CREATE DATABASE 运行 sql 脚本来创建数据库和表 而不
  • MySQL InnoDB 约束不起作用

    我偶然发现 innoDB 约束的奇怪行为 但找不到原因 我有包含数据的表格 下面列出了它们的结构 CREATE TABLE contents id int 10 unsigned NOT NULL AUTO INCREMENT title
  • pg_restore错误:角色XXX不存在

    尝试将数据库从一个系统复制到另一个系统 涉及的版本是9 5 0 源 和9 5 2 目标 源数据库名称是foodb与主人pgdba并且目标数据库名称将被命名foodb dev与主人pgdev 所有命令都在将托管副本的目标系统上运行 The p
  • PostgreSQL函数中sql语言和plpgsql语言的区别

    我很新数据库开发所以我对下面的例子有一些疑问 函数 f1 语言 SQL create or replace function f1 istr varchar returns text as select hello varchar istr
  • 从表中选择行,其中另一个表中具有相同 id 的行在另一列中具有特定值

    在 MySQL 中 如果我们有两个表 comments key value 1 foo 2 bar 3 foobar 4 barfoo and meta comment key value 1 1 2 1 3 2 4 1 我想得到来自以下人
  • 在 MySQL 数据库中保持 TEXT 字段唯一的最佳方法

    我想让 TEXT 字段的值在我的 MySQL 表中唯一 经过小型研究 我发现由于性能问题 每个人都不鼓励在 TEXT 字段上使用 UNIQUE INDEX 我现在想用的是 1 创建另一个字段来包含 TEXT 值的哈希值 md5 text v
  • 替换字符串中的多个字符,而不使用任何嵌套替换函数

    我的表中存储了一个方程 我一次获取一个方程 并希望将所有运算符替换为任何其他字符 输入字符串 N 100 6858 6858 N 100 0 2 N 35 运算符或模式 替换字符 输出字符串 N 100 6858 6858 N 100 0
  • 处理ON INSERT触发器时,innodb表如何锁定?

    我有两个 innodb 表 articles id title sum votes 1 art 1 5 2 art 2 8 3 art 3 35 votes id article id vote 1 1 1 2 1 2 3 1 2 4 2
  • MySQL 中的创建/写入权限

    我的设备遇到一些权限问题SELECT INTO OUTFILE陈述 当我登录数据库并执行简单的导出命令时 例如 mysql gt select from XYZ into outfile home mropa Photos Desktop
  • Rails 中 WHERE 子句中的 ALL 运算符

    关联关系如下图所示 InstructorStudent has many fees Fee belongs to instructor student 我想要获得在所有给定数组中具有每月详细信息的指导学生 如果其中任何一个中不存在每月详细信
  • 复杂的sql树行

    表结构 id message reply id 1 help me 0 434 love to 1 852 didn t work 434 0110 try this 852 2200 this wont 0 5465 done 0110
  • 重建数据库中的所有索引

    我有一个非常大的 SQL Server 2008 R2 数据库 1 5TB 并将在同一个表中的列之间复制一些数据 我被告知该架构有大量索引 并且想知道是否有默认查询或脚本可以重建所有索引 是否也被建议同时更新统计数据 30 个表中的每一个都
  • mysql 详细查询字符串,如通配符

    不知道如何标题我的问题 哈哈 下面是我需要的 我的数据库中的值如下所示 test example 1 test example 2 test example TD 1 这些值的长度可以不同 test example 只是一个示例 某些值将具
  • 如何检查一个值是否已经存在以避免重复?

    我有一个 URL 表 但我不想要任何重复的 URL 如何使用 PHP MySQL 检查给定 URL 是否已在表中 如果您不想重复 可以执行以下操作 添加唯一性约束 use REPLACE http dev mysql com doc ref
  • 司机和提供商之间的区别

    数据库中的驱动程序和提供程序有什么区别 有没有解释一下 不胜感激 样本 ADO NET driver for MySQL vs providerName System Data EntityClient 来自 MSDN 论坛 驱动程序是安装
  • SQL。 SP 或函数应计算周五的下一个日期

    我需要编写一个存储过程来返回给定日期的下周五日期 例如 如果日期是 05 12 2011 那么它应该返回下周五日期 05 13 2011 如果您通过 05 16 2011 那么它应该返回日期是 5 20 2011 星期五 如果您将星期五作为
  • 如何在审计触发器中使用system_user但仍使用连接池?

    我想做以下两件事 在我的数据库表上使用审计触发器来识别哪个用户更新了什么 使用连接池来提高性能 对于 1 我在数据库触发器中使用 system user 来识别进行更改的用户 但这阻止我执行需要通用连接字符串的 2 有没有一种方法可以让我充
  • 要做或不做:将图像存储在数据库中[重复]

    这个问题在这里已经有答案了 在 Web 应用程序的上下文中 我的前老板总是说在数据库中放置对图像的引用 而不是图像本身 我倾向于同意在数据库中存储 url 与图像本身是一个好主意 但在我现在工作的地方 我们在数据库中存储大量图像 我能想到的
  • 作为 UDF 结果的列上的 Where 子句

    我有一个用户定义的函数 例如myUDF a b 返回一个整数 我试图确保该函数仅被调用一次 并且其结果可以用作WHERE clause SELECT col1 col2 col3 myUDF col1 col2 AS X From myTa

随机推荐

  • 查看python环境路径_查看python环境的一些知识点

    1 查看python中的查找模块的路径import sys sys path usr bin usr lib64 python26 zip usr lib64 python2 6 usr lib64 python2 6 plat linux
  • CDC处理——异步FIFO

    1 异步FIFO原理 请看 硬件架构的艺术 笔记 三 3 8节 异步FIFO 2 格雷码传递FIFO读写指针 回环特性 通常情况下 设计的异步FIFO的深度是2的N次方 但事实上 选择这个2 N的原因也是因为格雷码这么取的时候 最大值 1回
  • S4 MB5B 结算库存数量与 MMBE 中的数量不同

    用户在查询库存过程中发现MB5B 结算库存数量与 MMBE 中的数量不同 我们知道MMBE是系统的当前库存 MB5B是可以根据输入的日期查询输入日期当天的库存 MMBE查询库存数量为971米 再来看MB5B库存 输入物料 工厂 日期为今天2
  • 在Windows10上安装虚拟机---VMware 17 Pro下载与安装

    在Windows10上安装虚拟机 VMware下载与安装 0 前言 1 下载VMware 17 pro 2 安装VMware 17 Pro 3 打开Vmware 0 前言 电脑原生系统 Windows10 虚拟机软件 VMware 17 p
  • ORACLE随机查询

    1 select from select from tablename order by dbms random value where rownum lt N 注 dbms random是一个可以生成随机数值或者字符串的程序包 value
  • 训练模型的3种方法

    公众号后台回复关键字 Pytorch 获取项目github地址 Pytorch没有官方的高阶API 一般通过nn Module来构建模型并编写自定义训练循环 为了更加方便地训练模型 作者编写了仿keras的Pytorch模型接口 torch
  • STM8普通定时器中断使用寄存器版本

    本文章只讲如何使用STM8的普通定时器 原理以及其他知识点可以网上查阅相关的资料 废话不多说 直奔主题 第一步 了解TIM4的时钟来源 查阅书册可以知道TIM4的时钟来源系统的主时钟 第二步 初始化相关寄存器 从ST官方手册可以知道 TIM
  • Spring Boot的文件上传

    Spring Boot的文件上传并不需要单独进行 当前端进行请求时 所要上传的文件作为请求的一个参数即可 与其他类型参数相同 服务端接收时 只需要对这个文件参数使用MultipartFile类型接收即可 由于文件上传的参数无法直接拼接到UR
  • unplugin-vue-components/vite自动将项目中使用的 Vue 组件按需引入

    unplugin vue components 是一个 Vite 插件 它可以自动将项目中使用的 Vue 组件自动按需引入 以减小打包体积 它的使用方式如下 安装插件 npm install D unplugin vue component
  • 上拉和下拉的解释

    1 什么是上下拉电阻 上拉电阻 把一个不确定的信号通过电阻连接到高电平 是电信号初始化为高电平 下拉电阻 把一个不确定的信号通过电阻连接到地 使电信号初始为低电平 本质 上拉是对器件注入电流 下拉是输出电流 2 上下拉电阻接线方法 上拉电阻
  • Kafka 消费者“group_name”组正在永远重新平衡

    目录 一 场景 1 1 场景应用环境 1 2 问题重现 二 问题分析 三 解决方案 一 场景 1 1 场景应用环境 卡夫卡 2 11 1 0 1 主题 并发度为 5 且分区为 5 1 2 问题重现 当应用程序重新启动并且在分区分配之前在主题
  • MySQL获取分组中的第一条数据和最后一条数据

    mysql 8 WITH ranked messages AS SELECT m ROW NUMBER OVER PARTITION BY name ORDER BY id DESC AS rn FROM messages AS m SEL
  • 《C++11标准库》4.2头文件( Header File)

    在C 标准化过程中 将C 标准库中所有的标识符都定义于 namespace std 内 这样的作法不具备向后兼容性 因为原先的C C 头文件都将C 标准库的标识符定义于全局范围 标准化过程中有些 class 接口也有了变动 为此 C sta
  • vscode 变量命名插件_10款VS Code插件神器,第7款超级实用!

    VS Code是这两年非常热门的一款开发工具 它不仅有提升开发体验的界面 轻量化的编辑器 还有丰富而强大的插件 这些优秀的插件使得VS Code生态体系更加吸引人 让开发效率大大提升 本文来介绍10款高效的VS Code插件 总有一款能够惊
  • iOS 使用“./compile-ffmpeg.sh all”编译 ijkplayer 报错“C compiler test failed.

    原因 compile ffmpeg sh 脚本找不到 Xcode 解决方案 compile ffmpeg sh clean sudo usr bin xcode select switch Applications Xcode app Co
  • 微信小程序相关面试题

    微信小程序相关面试题 1 请谈谈wxml与标准的html的异同 2 请谈谈WXSS和CSS的异同 3 请谈谈微信小程序主要目录和文件的作用 4 请谈谈小程序的双向绑定和vue的异同 5 简单描述下微信小程序的相关文件类型 6 微信小程序有哪
  • 未竟的Web 3.0理想,DID或打开关键入口

    寄托往往意味着断送 维克多 雨果 悲惨世界 里的经典之言正是Web2 0时代的写照 近期 B站 答题领卡兑换大会员 活动被网友指出涉嫌出卖用户个人隐私 虽然B站回应称 该页面系文案措辞不妥引起误会 目前已下线该页面并整改 但风波并没有止息
  • 未预期的符号 `then’ 附近有语法错误加粗样式

    未预期的符号 then 附近有语法错误加粗样式 编写shell脚本执行时发生如下报错 后经分析 错误原因是因为if后面没有加空格 加入空格之后则不再存在语法错误 修改后脚本截图
  • 重启人生1.0-day1:704. 二分查找;27. 移除元素

    数组理论基础 704 二分查找 左闭右闭区间 left right size len nums left 0 right size 1 while left lt right 当left right的时候 循环区间是个合法区间 middle
  • dataguard-(ORA-16004/ORA-01196/ORA-01110)

    author skatetime 2009 08 01 1 故障现象 一次突然断电导致我的standby open时报如下的错误 ORA 16004 备份数据库需要恢复ORA 01196 文件 1 由于介质恢复会话失败而不一致ORA 011