记一次生产数据库二次扩容:Rac+ASM磁盘组扩容-Aix系统
sinye56 2024-10-03 00:40 13 浏览 0 评论
概述
分享下最近对数据库扩容的大致过程,仅供参考。
1、 扩容前准备
1.1. 提供设备清单
将设备的大小和个数给系统和存储工程师,要求在节点上增加新的磁盘,其中 RAC 需要共享磁盘。
1.2. 对数据库进行备份
因为每晚都有做备份,所以这里做个检查就可以了
rman target / backup full database;
1.3. 检查备份及可恢复性
rman target / list?backup?summary;? --概述可用的备份
说明:B表示backup,F表示FULL,A表示archive?log,0?1表示incremental?backup,S说明备份状态(A?AVAILABLE???X?EXPIRED?)
1.4. 备份ASM磁盘头(两个节点的grid用户)
当前系统所有 asm 已使用的 pv 磁盘头均需进行备份
kfed read /dev/rhdisk1 >/home/grid/rhdisk1bak.txt kfed read /dev/rhdisk4 >/home/grid/rhdisk4bak.txt kfed read /dev/rhdisk6 >/home/grid/rhdisk6bak.txt kfed read /dev/rhdisk8 >/home/grid/rhdisk8bak.txt kfed read /dev/rhdisk10 >/home/grid/rhdisk10bak.txt kfed read /dev/rhdisk11 >/home/grid/rhdisk11bak.txt kfed read /dev/rhdisk12 >/home/grid/rhdisk12bak.txt
2、 新设备调整(两个节点的root用户)
2.1 主机扫描新划的磁盘
cfgmgr --确认新盘 lspv
2.2. 权限调整(两个节点的root用户)
chmod 660 /dev/rhdisk13chown grid:dba /dev/rhdisk13ls -l /dev/rhdisk*
注意节点 2 也需要调整确认
2.3. 确认没有PVID(两个节点的root)
# lspv |grep hdisk--都是NONE就对了
说明:PVID 全称 physical volume identifier,它非常重要,相当于软序列号,当把一个磁盘变成 PV 时, 就生成了 PVID , PVID 是由机器序列号 (uname -m的前
8位 ) 和它生成的时间组成,这种机制保证了 PVID 的唯一性。当系统启动时,磁盘配置程序会寻找磁 盘上的 PVID ,并把它跟 ODM 库中的 PVID 信息进行比对,如果在 ODM 中找到匹配的条目,则把和这个 PVID 相对应的 hdisk 号赋予这个 PV ,如果没有匹配 的条目,则赋予这个 PVID 新的 hdisk 号。
--如果存在 pvid ,需要清空(一定要慎重执行) /usr/sbin/chdev -l hdisk<X> -a pv=clear
2.3. 调整RESERVE_POLICY(两个节点的root执行)
如果是为 RAC 数据库添加新磁盘,还需要调整新磁盘的 reserve_policy 应为 no_reserve 或者 reserve_lock 应为no
lsattr -El hdisk13 | grep -E "reserve_policy|reserve_lock" chdev -l hdisk13 -a reserve_policy=no_reserve lsattr -El hdisk13 | grep -E "reserve_policy|reserve_lock"
3、 扩容
3.1. 扩容前ASM检查(其中一个节点的grid用户)
$sqlplus / as sysasm set linesize 1000 pagesize 1000 col state for a20 col path for a50 col name for a30 select path,name,state from v$asm_disk where path like '/dev/rhdisk%' order by 1; --冗余级别为EXTERNAL select NAME,STATE,TYPE,TOTAL_MB,FREE_MB from v$asm_diskgroup;
PS:三种冗余方式
1) 外部冗余(external redundancy):
表示Oracle不帮你管理镜像,功能由外部存储系统实现,比如通过RAID技术;有效磁盘空间是所有磁盘设备空间的大小之和。
2) 默认冗余(normal redundancy):
表示Oracle提供2份镜像来保护数据(镜像数据一次),有效磁盘空间是所有磁盘设备大小之和的1/2 (使用最多)。
3) 高度冗余(high redundancy):
表示Oracle提供3份镜像来保护数据(镜像数据两次),以提高性能和数据的安全,最少需要三块磁盘(三个failure group);
有效磁盘空间是所有磁盘设备大小之和的1/3,虽然冗余级别高了,但是硬件的代价也最高。
3.2. 加入新磁盘到磁盘组(其中一个节点的grid用户)
sqlplus / as sysasm alter diskgroup DATA add disk '/dev/rhdisk13' rebalance power 8; --其中 power n 区间[0,11],n 越大 REBAL 越快,IO 压力也就越大。 --如果磁盘组是 NOMAL 冗余需要指定 FAILGROUP,如: --alter diskgroup dgname add failgroup fgname1 disk '/dev/rhdiskpower453’ add failgroup fgname2 disk '/dev/rhdiskpower454' [ rebalance power n] ;
3.3、监控REBAL进度
sqlplus / as sysasm set linesize 1000 col OPERATION format a15 col state for a15 --无记录表示 REBAL 完成 SQL> select * from gv$asm_operation;
3.4、监控告警日志
tail -200f alert_otmdb1.log
4、 扩容后检查
4.1. 扩容后ASM检查
SQL> select NAME,STATE,TYPE,TOTAL_MB,FREE_MB from v$asm_diskgroup; SQL> select path,name,state from v$asm_disk where path like '/dev/rhdisk%' order by 1;
4.2. 备份新增加的设备
kfed read /dev/rhdisk13 >/home/grid/rhdisk13bak.txt
4.3、检查监听(两个节点)
到这里我们就完成了数据库的扩容了,觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
相关推荐
- Linux环境变量设置与查看全攻略
-
Linux环境变量设置与查看全攻略在Linux系统中,环境变量是用于定义系统和用户级设置的一种方法,它可以影响程序的行为和系统的运行方式。了解如何设置和查看环境变量对于Linux用户来说是非常重要的技...
- 如何阅读Linux内核源码?Linux内存管理中SLAB分配器(源码分析)
-
注:本文讲述的SLAB相关代码是基于Linux内核v4.7,代码网址。一,SLAB分配器的由来在讲SLAB分配器之前先说两个概念:内部碎片和外部碎片。外部碎片指的是还没有被分配出去(不属于任何进程)...
- Linux下C和C++程序中内存泄露检测
-
01.前言C/C++运行高效,不管是操作系统内核还是对性有要求的程序(比如游戏引擎)都要求使用C/C++来编写,其实C/C++强大的一点在于能够使用指针自由地控制内存的使用,适时的申请内存和释放内存...
- 虚拟内存设置、解决linux内存不够问题
-
虚拟内存设置(解决linux内存不够情况)背景介绍 Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级。所以,程序和数据如果在内存的话,会有非常快的读写速度。但是,内存...
- Linux内存管理有页表吗?深入Linux内存原理中页、页表和页框(块)
-
前言:我们知道,在Linux操作系统中,CPU在执行一个进程的时候,都会访问内存。但CPU并不是直接访问物理内存地址,而是通过虚拟地址空间来间接的访问物理内存地址。所谓的虚拟地址空间,是操作系统为...
- Linux 内存分析工具——free命令
-
在Linux系统经常被用作服务器系统。当服务器内存吃紧的时候,free命令是我们最常使用的内存分析工具。free使用介绍#free命令可以显示Linux系统中空闲的、已用的物理内存及swap内存,及被...
- Linux的虚拟内存详解(MMU、页表结构)
-
linux内核相关视频解析:90分钟了解Linux内存架构,numa的优势,slab的实现,vmalloc原理linux内核的那些坑儿,你遇到过吗内存是程序得以运行的重要物质基础。如何在有限的内存空间...
- 如何查看服务器配置:核数和内存
-
1、查看CPU核数cat/proc/cpuinfo|grep'process'|sort|uniq|wc-l1、cpu信息记录在/proc/cpuinfo中2、Linux中的Top相当于...
- 如何检查 Linux 中的 CPU、内存和交换利用率百分比?
-
1.核心监控指标解析为什么需要监控这些资源?CPU利用率:反映系统处理任务的繁忙程度,持续高负载可能导致服务延迟。内存占用:物理内存不足会触发Swap交换,显著降低性能。Swap使用率:频繁的Swa...
- 万字长文详解linux内存管理,值得收藏
-
一、Linux内存管理概述Linux内存管理是指对系统内存的分配、释放、映射、管理、交换、压缩等一系列操作的管理。在Linux中,内存被划分为多个区域,每个区域有不同的作用,包括内核空间、用户空间、缓...
- 手机内存扩展压力测试 三台旗舰一台测崩了
-
最近一段时间,内存扩展技术突然火了起来。几大主流品牌都在自家机型上搭载此技术,从中低端到旗舰机型都有覆盖。大小也从开始的2GB、3GB一直到现在的7GB,一技术真的能如厂商宣传所说的那样,让小内存手机...
- 关于 Linux中缓存清理的一些笔记
-
写在前面一个群里看到有小伙伴问,之前有没有遇到过。给了参考意见之后感觉好像不是特别对,有点误人子弟:(。所以总结下,博文的内容涉及Linux内存查看监控缓存清理及参数介绍一个定时清理的脚本归根结底,长...
- 如何在 Linux 上列出磁盘?这几条命令要会!
-
在Linux系统中,磁盘管理是系统管理员日常工作中非常重要的一环。了解如何列出系统中的磁盘,不仅有助于检查存储设备的状态,还能帮助管理磁盘分区、文件系统以及存储空间的使用情况。本文将深入介绍在L...
- 一文读懂Linux内存分配策略
-
本篇主要以问答的方式来探索Linux内存系统的分配策略Linux进程的内存分布长什么样?在Linux操作系统中,虚拟地址空间的内部又被分为内核空间和用户空间两部分,不同位数的系统,地址空间的范围...
- Linux 系统内存不足导致服务崩溃的排查方法
-
当Linux系统内存不足导致服务崩溃时,以下是一些常见的排查方法:排查方法:查看系统日志:检查系统日志(如/var/log/messages或/var/log/syslog)以查看是否有内存相关的警告...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- oracle忘记用户名密码 (59)
- oracle11gr2安装教程 (55)
- mybatis调用oracle存储过程 (67)
- oracle spool的用法 (57)
- oracle asm 磁盘管理 (67)
- 前端 设计模式 (64)
- 前端面试vue (56)
- linux格式化 (55)
- linux图形界面 (62)
- linux文件压缩 (75)
- Linux设置权限 (53)
- linux服务器配置 (62)
- mysql安装linux (71)
- linux启动命令 (59)
- 查看linux磁盘 (72)
- linux用户组 (74)
- linux多线程 (70)
- linux设备驱动 (53)
- linux自启动 (59)
- linux网络命令 (55)
- linux传文件 (60)
- linux打包文件 (58)
- linux查看数据库 (61)
- linux获取ip (64)
- linux进程通信 (63)