实战:如何将Oracle单实例数据库转换成Oracle RAC数据库
导读
本文介绍如何将Oracle单实例数据库转换成Oracle RAC数据库
环境说明:
数据库节点2上有个单实例数据库zlxdb2,现在要将zlxdb2转换成RAC数据库,RAC数据库的两个实例分别是lzydb1和lzydb2。
以下是详细的操作步骤:
1、查看zlxdb2的默认undo表空间
SYS@zlxdb2>show parameter undoNAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
2、给zlxdb2数据库创建新的UNDO表空间
SYS@zlxdb2>CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '+DATA' SIZE 100m AUTOEXTEND ON;SYS@zlxdb2>select tablespace_name from dba_tablespaces where contents='UNDO';TABLESPACE_NAME
------------------------------
UNDOTBS1
UNDOTBS2
将UNDOTBS1表空间设置为数据库实例lzydb1的默认undo表空间,
将UNDOTBS2表空间设置为数据库实例lzydb2的默认undo表空间。
alter system set undo_tablespace=UNDOTBS2 SCOPE=SPFILE SID='lzydb2';
alter system set undo_tablespace=UNDOTBS1 SCOPE=SPFILE SID='lzydb1';
3、查看redo日志路径和redo大小
SYS@zlxdb2>select group#,member from v$logfile order by 1;GROUP# MEMBER
---------- --------------------------------------------------
1 +DATA/lzydb/onlinelog/group_1.290.1120398077
2 +DATA/lzydb/onlinelog/group_2.291.1120398077
3 +DATA/lzydb/onlinelog/group_3.292.1120398077SYS@zlxdb2>select group#,thread#,bytes/1024/1024 from v$log;GROUP# THREAD# BYTES/1024/1024
---------- ---------- ---------------
1 1 50
2 1 50
3 1 50查看redo日志的thread号,单实例只有一个thread1SYS@zlxdb2>select THREAD#, STATUS, ENABLED from v$thread;
THREAD# STATUS ENABLED
---------- ------ --------
1 OPEN PUBLIC
4、添加新的redo日志组group4,group5,group6,大小分别与group1,group2,group3一样50MB
alter database add logfile thread 2 group 4 ('+DATA') size 50m,group 5 ('+DATA') size 50m,group 6 ('+DATA') size 50m;SYS@zlxdb2>select group#,member from v$logfile order by 1;GROUP# MEMBER
---------- --------------------------------------------------
1 +DATA/zlxdb/onlinelog/group_1.275.1120355965
2 +DATA/zlxdb/onlinelog/group_2.276.1120355967
3 +DATA/zlxdb/onlinelog/group_3.277.1120355967
4 +DATA/zlxdb/onlinelog/group_4.280.1120358085
5 +DATA/zlxdb/onlinelog/group_5.281.1120358085
6 +DATA/zlxdb/onlinelog/group_6.282.1120358087SYS@zlxdb2>select group#,thread#,bytes/1024/1024 from v$log;GROUP# THREAD# BYTES/1024/1024
---------- ---------- ---------------
1 1 50
2 1 50
3 1 50
4 2 50
5 2 50
6 2 506 rows selected.
启用thread2线程的日志组
SYS@zlxdb2>alter database enable public thread 2;SYS@zlxdb2>select THREAD#, STATUS, ENABLED from v$thread;
THREAD# STATUS ENABLED
---------- ------ --------
1 OPEN PUBLIC
2 CLOSED DISABLED
5、开启集群
SYS@zlxdb2>alter system set cluster_database=true scope=spfile sid='*';
SYS@zlxdb2>alter system set cluster_database_instances=2 scope=spfile;
6、设置新数据库lzydb的RAC参数
SYS@zlxdb2>alter system set remote_listener='scan-ip:1521';
SYS@zlxdb2>alter system set instance_number=1 scope=spfile sid='lzydb1';
SYS@zlxdb2>alter system set instance_number=2 scope=spfile sid='lzydb2';
SYS@zlxdb2>alter system set instance_name='lzydb1' scope=spfile sid='lzydb1';
SYS@zlxdb2>alter system set instance_name='lzydb2' scope=spfile sid='lzydb2';
SYS@zlxdb2>alter system set thread=1 sid='lzydb1';
SYS@zlxdb2>alter system set thread=2 sid='lzydb2';
7、从zlxdb2的spfile创建pfile参数文件,用于设置新数据库lzydb的参数
SYS@zlxdb2>create pfile='/home/oracle/initzlxdb2.ora' from spfile;
参数文件信息如下:
*.audit_file_dest='/u01/app/oracle/admin/lzydb/adump'
*.audit_trail='db'
*.cluster_database=TRUE
*.cluster_database_instances=2
*.compatible='11.2.0.4.0'
*.control_files='+DATA/lzydb/controlfile/current.289.1120398075'
*.db_block_size=8192
*.db_create_file_dest='+DATA'
*.db_domain=''
*.db_name='lzydb'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=lzydbXDB)'
lzydb1.instance_name='lzydb1'
lzydb2.instance_name='lzydb2'
lzydb1.instance_number=1
lzydb2.instance_number=2
*.open_cursors=300
*.pga_aggregate_target=314572800
*.processes=150
*.remote_listener='scan-ip:1521'
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=943718400
lzydb1.thread=1
lzydb2.thread=2
lzydb1.undo_tablespace='UNDOTBS1'
lzydb2.undo_tablespace='UNDOTBS2'SYS@zlxdb2>show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string +DATA/lzydb/spfilelzydb.ora
8、关闭zlxdb2数据库
SYS@zlxdb2>shutdown immediate
9、创建参数文件,将initlzydb2.ora指向spfile路径:
SPFILE='+DATA/lzydb/spfilelzydb.ora'
10、执行创建RAC数据库集群的脚本
SYS@zlxdb2>@?/rdbms/admin/catclust.sql
PL/SQL procedure successfully completed.
11、将新的initlzydb2.ora参数文件拷贝到节点1
[oracle@node2 ~]$ cd $ORACLE_HOME/dbs
scp initlzydb2.ora node1:$ORACLE_HOME/dbs
12、节点1重命名参数文件为initlzydb1.ora
[oracle@node1 ~]$ cd $ORACLE_HOME/dbs
mv initlzydb2.ora initlzydb1.ora
13、启动lzydb1和lzydb2两个数据库实例
[oracle@node1 ~]$ mkdir -p /u01/app/oracle/admin/lzydb/adump
export ORACLE_SID=lzydb1
sqlplus / as sysdba
startup[oracle@node2 ~]$ mkdir -p /u01/app/oracle/admin/lzydb/adump
export ORACLE_SID=lzydb2
sqlplus / as sysdba
startup
13、数据库实例添加到CRS中
[oracle@node1 ~]$ crsctl stat res -t
[oracle@node1 ~]$ srvctl remove database -d lzydb -f
[oracle@node1 ~]$ srvctl add database -d lzydb -o $ORACLE_HOME -p +DATA/lzydb/spfilelzydb.ora
[oracle@node1 ~]$ srvctl add instance -d lzydb -n node1 -i lzydb1
[oracle@node1 ~]$ srvctl add instance -d lzydb -n node2 -i lzydb2
14、分别关闭两个新的数据库实例lzydb1和lzydb2
shut immediate
15、使用srvctl start database命令启动数据库lzydb
srvctl start database -d lzydb
16、查看数据库状态
[root@node1 ~]# crsctl stat res -t
相关文章:
实战:如何将Oracle单实例数据库转换成Oracle RAC数据库
导读 本文介绍如何将Oracle单实例数据库转换成Oracle RAC数据库 环境说明: 数据库节点2上有个单实例数据库zlxdb2,现在要将zlxdb2转换成RAC数据库,RAC数据库的两个实例分别是lzydb1和lzydb2。 以下是详细的操作步骤: 1、查看zlxdb…...
基于华为atlas的分类模型实战
分类模型选用基于imagenet训练的MobileNetV3模型,分类类别为1000类。 pytorch模型导出为onnx: 修改mobilenetv3.py中网络结构,模型选用MobileNetV3_Small模型,网络输出节点增加softmax层,将原始的return self.linear4…...
编程语言:SQL Server数据库使用教程,SQL Server增删改查语句
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全自学教程》 SQL Server是微软提供的一种关系型数据库,…...
【tableau学习笔记】tableau无法连接数据源
【tableau学习笔记】tableau无法连接数据源 背景: 学校讲到Tableau,兴奋下载Kaggle Excel,一看后缀CSV,导入Tableau发现报错“tableau无法连接数据源”,自作聪明改为后缀XLSX,bug依旧。 省流:…...
cetos7 Docker 安装 gitlab
一、gitlab 简单介绍和安装要求 官方文档:https://docs.gitlab.cn/jh/install/docker.html 1.1、gitlab 介绍 gitLab 是一个用于代码仓库管理系统的开源项目,使用git作为代码管理工具,并在此基础上搭建起来的Web服务平台,通过该平…...
无极低码:无极低码部署版操作指南
无极低码 :https://wheart.cn 无极低码是一个面向开发者的工具,旨在为开发者、创业者或研发企业,提供快速,高效,标准化,可定制,私有化部署的平台,在兼顾开发速度的同时,兼…...
C语言实现日本某地发生了一件谋杀案
题目 猜凶手 题目内容: 日本某地发生了一件谋杀案,警察通过排查确定杀人凶手必为4个嫌疑犯的一个。 以下为4个嫌疑犯的供词: A说:不是我。 B说:是C。 C说:是D。 D说:C在胡说 已知3个人说了真话&…...
【C++】const成员
个人主页 : zxctscl 如有转载请先通知 文章目录 1. 前言2. const成员3. 取地址及const取地址操作符重载 1. 前言 在之前已经已经分享过了关于 【C】类和对象之常引用与运算符重载,这次分享的有关const的内容,话不多说,正文开始。…...
利用小蜜蜂AI智能问答ChatGPT+AI高清绘图生成图文故事案例
利用小蜜蜂AI智能问答ChatGPTAI高清绘图生成图文故事案例 这段时间利用小蜜蜂AI网站做了一些编程、绘图以及数据分析方面的案例。再过几个月,我的大孙子就要出生了。我要用小蜜蜂AI智能问答和AI高清绘图为大孙子生成一个1-9的数字图文故事。 小蜜蜂AI网站可以扫如…...
Github项目推荐-LightMirrors
项目地址 https://github.com/NoCLin/LightMirrors 项目简述 “LightMirrors是一个开源的缓存镜像站服务,用于加速软件包下载和镜像拉取。目前支持DockerHub、PyPI、PyTorch、NPM等镜像缓存服务。 当前项目仍处于早期阶段。”–来自项目说明。 也就是说ÿ…...
day14:栈排序
问题描述: 栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈…...
【LeetCode:2368. 受限条件下可到达节点的数目 + BFS】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
pyorbbecsdk奥比中光python版本SDK在Windows下环境配置笔记
1、概述 Orbbec SDK Python Wrapper基于Orbbec SDK进行设计封装,主要实现数据流接收,设备指令控制。 2、系统要求 2.1、操作系统 Windows:Windows 10 (x64)(本文 针对windows)Linux: 18.04/20.04/22.04 (x64)Arm32:…...
YOLOV8介绍
原文链接: 1、 详解YOLOv8网络结构/环境搭建/数据集获取/训练/推理/验证/导出 2、Yolov8的详解与实战 3、YOLOV8模型训练部署(实战)()有具体部署和训练实现代码YOLOV8模型训练部署(实战)&…...
【ElfBoard】基于 Linux 的智能家居小项目
大家好,我是 Hello阿尔法,这段时间参与了保定飞凌嵌入式技术有限公司举办的 ElfBoard 共创社招募活动,并有幸成为了一名共创官,官方寄来了一块 ELF 1 开发板,开箱看这里 ELF 1 开箱初体验。 作为共创官,我…...
自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)
文章目录 一、自动化测试1、什么是自动化测试?2、手工测试 vs 自动化测试3、自动化测试常见误区4、自动化测试的优劣5、自动化测试分层6、什么项目适合自动化测试 二、Selenuim1、小例子2、用法3、页面操作获取输入内容模拟点击清空文本元素拖拽frame切换窗口切换/标…...
深度学习的一个完整过程通常包括以下几个步骤
深度学习的一个完整过程通常包括以下几个步骤: 问题定义和数据收集: 定义清晰的问题,明确任务的类型(分类、回归、聚类等)以及预期的输出。收集和整理用于训练和评估模型的数据集。确保数据集的质量,进行预…...
WPS如何共享文件和文件夹
1 WPS共享单个文件 用WPS打开要分享的文件,点击右上角的“分享”键,选择上传到云端。 之后点击“创建并分享”,即可分享该文档。 2 WPS创建共享文件夹 2.1 如何共享文件夹 首先打开WPS,点击左上角的首页。在首页栏中&#…...
PowerData 2024“数字经济-城市开源行”活动预告
2023,社区经过一年的发展,凝聚起了一批热爱社区、热爱开源的小伙伴。 2024,社区计划在全国十个城市举办"数字经济-城市开源行"活动,连接社区成员、传播数字技术、推广开源文化,吸引更多伙伴加入社区…...
QT多语言切换功能
一.目的 在做项目时,有时希望我们的程序可以在不同的国家使用,这样最好的方式是一套程序能适应于多国语言。 Qt提供了这样的功能,使得一套程序可以呈现出不同的语言界面。本文将介绍QT如何实现多语言,以中文和英文为例。 QT开发…...
多场景 OkHttpClient 管理器 - Android 网络通信解决方案
下面是一个完整的 Android 实现,展示如何创建和管理多个 OkHttpClient 实例,分别用于长连接、普通 HTTP 请求和文件下载场景。 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
多模态商品数据接口:融合图像、语音与文字的下一代商品详情体验
一、多模态商品数据接口的技术架构 (一)多模态数据融合引擎 跨模态语义对齐 通过Transformer架构实现图像、语音、文字的语义关联。例如,当用户上传一张“蓝色连衣裙”的图片时,接口可自动提取图像中的颜色(RGB值&…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
R语言速释制剂QBD解决方案之三
本文是《Quality by Design for ANDAs: An Example for Immediate-Release Dosage Forms》第一个处方的R语言解决方案。 第一个处方研究评估原料药粒径分布、MCC/Lactose比例、崩解剂用量对制剂CQAs的影响。 第二处方研究用于理解颗粒外加硬脂酸镁和滑石粉对片剂质量和可生产…...
MySQL:分区的基本使用
目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区(Partitioning)是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分(分区)可以独立存储、管理和优化,…...
