客户通过duplicate生产备库的方式创建cascade备库。

发现每次都会遇到两个文件报错,ORA-17628: Oracle error 19505错误,且每一次跑,报错文件不一样。

现在想帮客户验证,这属于是正常现象还是bug;

本文需要先模拟客户11.2.0.3环境,构建备库、级联备库环境;

一、构造测试环境

1.搭建3套11.2.0.3环境

自己测试资源有限,只有一个11.2.0.3的单实例,然后以此为模版克隆两台分别用作备库和级联备库。

克隆前需要将模版先挂起:

# virsh suspend db11g
# virt-clone --original db11g --name db11gadg --auto-clone

使用nohup后台进行克隆,避免中断:

nohup virt-clone --original db11g --name db11gadg --auto-clone &
nohup virt-clone --original db11g --name db11gcas --auto-clone &

克隆两台的动作只能串行,并行会有明确错误提示。

即便串行,查看日志发现5分钟内也能搞定这个克隆动作。

[root@bogon ~]# tail -20f nohup.out
WARNING Setting the graphics device port to autoport, in order to avoid conflicting.
Allocating 'db11gadg.img' | 10 GB 00:16
Allocating 'db1-lun1-clone-2-clone.img' | 100 GB 02:09 Clone 'db11gadg' created successfully.
WARNING Setting the graphics device port to autoport, in order to avoid conflicting.
Allocating 'db11gcas.img' | 10 GB 00:14
Allocating 'db1-lun1-clone-2-clone-1.img' | 100 GB 02:01 Clone 'db11gcas' created successfully.

克隆完成后,恢复模版并打开克隆的环境,确认均正常运行:

# virsh resume db11g

# virsh start db11gadg
# virsh start db11gcas # virsh list --all
[root@bogon ~]# virsh list --all
Id Name State
----------------------------------------------------
...
11 db11g running
12 db11gadg running
13 db11gcas running
...

2.规划主机名和IP地址并设置

db11g IP地址是 192.168.1.18

db11gadg IP地址是 192.168.1.19

db11gcas IP地址是 192.168.1.20

# db11gadg
[root@bogon ~]# virsh console db11gadg hostnamectl set-hostname db11gadg
vi /etc/hosts
vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/sysconfig/network-scripts/ifcfg-ens9 <-- 这里是我特有的一个网卡,你若没有可以不设置,不影响本次测试
reboot # db11gcas
[root@bogon ~]# virsh console db11gcas hostnamectl set-hostname db11gcas
vi /etc/hosts
vi /etc/sysconfig/network-scripts/ifcfg-eth0
vi /etc/sysconfig/network-scripts/ifcfg-ens9
reboot

3.清除没有用的数据库

db11gadg 和 db11gcas 只需要保留Oracle软件,原有数据库实例删除掉。

监听文件的配置,里面也有主机名信息,按实际改下即可。

删除Oracle实例(稍微有些繁琐,但这也是成熟的表现,毕竟删库这种事情就要搞的门槛高些,避免误操作)

比如使用SQL直接删除在运行中的数据库,直接提示不被允许:

SQL> drop database;
drop database
*
ERROR at line 1:
ORA-01586: database must be mounted EXCLUSIVE and not open for this operation

rman操作同样直接提示不被允许:

[oracle@db11gcas ~]$ rman target /      

Recovery Manager: Release 11.2.0.3.0 - Production on Fri May 12 23:30:19 2023

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: JINGYU (DBID=3834912727)

RMAN> drop database;

database name is "JINGYU" and DBID is 3834912727

Do you really want to drop the database (enter YES or NO)? yes
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
ORA-01586: database must be mounted EXCLUSIVE and not open for this operation RMAN>

按文档建议步骤,使用rman删除数据库

rman target /
RMAN> STARTUP FORCE MOUNT
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
RMAN> DROP DATABASE INCLUDING BACKUPS NOPROMPT; ...
database name is "JINGYU" and DBID is 3834912727 database dropped

纯SQL操作也是OK的:

SQL> STARTUP FORCE MOUNT
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
SQL> DROP DATABASE

先把测试环境准备好了,周末找时间再继续测。

11g ADG级联备库基础测试环境准备的更多相关文章

  1. ORACLE Physical Standby 级联备库搭建

    搭建oracle 级联DG 现有架构:physical standby 一主二备,在此基础上,在主库下新建备库standby3.级联备库cascade 数据库版本 11.2.0.4 db_name=p ...

  2. Kubeasz部署K8s基础测试环境简介

    下面介绍使用Kubeasz部署K8s集群环境. https://github.com/easzlab/kubeasz在需要使用kubeeasz项目安装的k8s时,需要将所有需要它来部署的节点上,都安装 ...

  3. Oracle备库TNS连接失败的分析

    今天在测试12c的temp_undo的时候,准备在备库上测试一下,突然发现备库使用TNS连接竟然失败. 抛出的错误如下: $ sqlplus sys/oracle@testdb as sysdba S ...

  4. 19.13备库duplicate恢复新主库(二)

    问题描述:主备两个库不在同一个机房,此时想从这一套库中在复制一套可读可写的新库出来.网络带宽要求比较高,需要从备库中使用备份在起一个新库,也要测试下使用duplicate从备库能够在复制一个新库.经过 ...

  5. linux下oracle11G DG搭建(三):环绕备库搭建操作

    linux下oracle11G DG搭建(三):环绕备库搭建操作 环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g 1 ...

  6. ADG配置(主备库环境)

    @font-face { font-family: "Courier New"; }@font-face { font-family: "宋体"; }@font ...

  7. 使用DUPLICATE 方式创建ORACLE 11G DG备库环境

    我的最佳实践 ① 手动创建好初始化参数文件: *.audit_file_dest='E:\APP\XJXU\ADMIN\ORASTAND\ADUMP'*.control_files='E:\APP\X ...

  8. [20170824]11G备库启用DRCP连接.txt

    [20170824]11G备库启用DRCP连接.txt --//参考链接:http://blog.itpub.net/267265/viewspace-2099397/blogs.oracle.com ...

  9. 11g adg 环境搭建实施手册-0908

    11g adg 环境搭建实施手册-0908 2017年8月30日 9:16 11g adg 环境搭建实施手册-0824 2017年8月24日 10:18 ####################### ...

  10. RHEL6.4 + Oracle 11g DG测试环境快速搭建参考

    环境现状: 两台虚拟主机A和B: 1. A机器已安装ASM存储的Oracle 11g 实例      参考:http://www.cnblogs.com/jyzhao/p/4332410.html 2 ...

随机推荐

  1. markdown常用语法及Typora的使用

    一.markdown markdown简介   markdown是一种文档格式,后缀名为.md.markdown非常适于写博客,基本所有博客网站都支持markdown语法格式. 1.标题   mark ...

  2. Python 3 os.walk读取指定文件路径后,打印路径参数为空

    今天有时间自己尝试了一下os.walk的小实验,结果出现了一个小问题:在交互模式下,运行我的python脚本,没有打印任何内容 返回去看一下test.py内容 返回去看一下文件路径是否正确: 看着好像 ...

  3. 【ASP.NET Core】修改Blazor.Server的Hub地址后引发的问题

    Blazor Server,即运行在服务器上的 Blazor 应用程序,它的优点是应用程序在首次运行时,客户端不需要下载运行时.但它的代码是在服务器上执行的,然后通过 SignalR 通信来更新客户端 ...

  4. (新手向)在Linux中使用VScode编写 "Hello,world"程序,并编写测试-Ubuntu20.4

    本文意在帮助 Go 语言初学者在 Linux环境下编写自己的第一个Golang程序 难点主要在 VScode 中 Go 插件的下载 与 go.mod 以及编译运行和 第一个Go测试程序的使用 前提准备 ...

  5. Netty 线程模型(Reactor 线程模型)

    更多内容,前往个人博客 当说到 Netty 线程模型的时候,一般首先会想到经典的 Reactor 线程模型,尽管不同的 NIO 框架对于 Reactor 模式的实现存在差异,但本质上还是遵循了 Rea ...

  6. Mybatis应用手册

    重学mybatis框架,汇成应用手册,整理mybatis中用法且附相关实例,方便日常回顾 目录结构: ----------------- Github手册地址:https://github.com/x ...

  7. 基于el-cascader级联选择器实现只有最后一级可以多选(已发布到npm & github)

    github地址:地址 背景: 我们经常级联合选择器多选的需求,但是element UI提供的级联选择器并不能只多选最后一级,所以我考虑基于element UI的级联选择器优化一下,实现可以多选最后一 ...

  8. ACM-DP-数塔问题

    Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告 ...

  9. C语言结构体大小分析

    title: C语言结构体大小分析 author: saopigqwq233 date: 2022-04-05 C语言结构体大小分析 一,基本类型 C语言自带的数据类型大小如下 数据类型 大小(字节) ...

  10. python入门教程之十九cgi编程

    什么是CGI CGI 目前由NCSA维护,NCSA定义CGI如下: CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上如:HTTP服务器,提供同客户 ...