转载-Oracle-ASM磁盘组扩容_Linux,CentOS7,非AFD

 admin   2023-04-10 12:50   123 人阅读  0 条评论

1.添加共享存储

此文档不演示存储配置过程。

2.配置多路径

2.1查看共享磁盘的scsi_id


/usr/lib/udev/scsi_id -g -u -d /dev/sdd
245c5c9be46f1254a


2.2查看并配置 multipath 多路径配置文件


##将以下配置,添加到/etc/multipath.conf文件中,注意区分别名 alias
vi /etc/multipath.conf
  multipath {
  wwid "245c5c9be46f1254a"
  alias asm_data1
  }


2.3激活多路径


##启用多路径
systemctl enable multipathd.service
##启动多路径
systemctl start multipathd.service
##显示多路径拓扑(maximum info)
##显示来自 sysfs 、设备映射器以及系统中其他所有可用组件的当前多路径配置状态
##显示multipath聚合后的设备名,以及设备对应的链路情况
multipath -ll


2.4再次查看磁盘


##磁盘名称与多路径中配置的一样
lsblk


3.配置 UDEV 规则

3.1配置UDEV绑盘信息

##方法1:vi编辑添加


cd /etc/udev/rules.d
vi /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-245c5c9be46f1254a",SYMLINK+="asm_data1",OWNER="grid",GROUP="asmadmin",MODE="0660"


##方法2:<<>>追加一行UDEV配置


cat <<EOF>> /etc/udev/rules.d/99-oracle-asmdevices.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-245c5c9be46f1254a",SYMLINK+="asm_data1",OWNER="grid",GROUP="asmadmin",MODE="0660"
EOF


3.2重载udev


##控制udev的守护进程,重新加载规则文件
udevadm control --reload-rules
##从内核请求(触发)一个特殊设备的事件,被触发的事件,默认是change
udevadm trigger --type=devices

##以上命令也可以写成这样
udevadm trigger --type=devices --action=change


3.3验证新添加的磁盘


# ll /dev/asm*
lrwxrwxrwx 1 root root 4 Aug 27 16:33 /dev/asm_archive -> dm-5
lrwxrwxrwx 1 root root 4 Aug 27 16:27 /dev/asm_data -> dm-3
lrwxrwxrwx 1 root root 4 Aug 27 16:33 /dev/asm_data1 -> dm-4
lrwxrwxrwx 1 root root 4 Aug 27 16:33 /dev/asm_ocr -> dm-2

# ll /dev/dm*
brw-rw----  1 root disk     253, 0 Aug 27 11:11 /dev/dm-0
brw-rw----  1 root disk     253, 1 Aug 27 11:11 /dev/dm-1
brw-rw----  1 grid asmadmin 253, 2 Aug 27 16:35 /dev/dm-2
brw-rw----  1 grid asmadmin 253, 3 Aug 27 16:35 /dev/dm-3
brw-rw----  1 grid asmadmin 253, 4 Aug 27 16:35 /dev/dm-4
brw-rw----  1 grid asmadmin 253, 5 Aug 27 16:35 /dev/dm-5
crw-rw----+ 1 root audio     14, 9 Aug 27 11:11 /dev/dmmidi


3.4查看磁盘情况


fdisk -l1.


4.ASM磁盘组扩容

4.1查看集群状态


su - root
##find是为查找crsctl命令所有目录方便复制执行
find / -name crsctl
/u01/app/19.3.0/grid/bin/crsctl
##查询集群状态
/u01/app/19.3.0/grid/bin/crsctl stat res -t


4.2查看网络状态


##显示网络设备的运行状态
ip a
##显示网络状态
netstat -in


4.3查看数据库状态


$ su - oracle
$ ps -ef | grep ora_
##监听状态
$ lsnrctl status
##查看oracle进程的 LOCAL 的连接数量,wc -l
$ ps -ef |grep LOCAL
$ ps -ef |grep LOCAL |wc -l
$ sqlplus /as sysdba
select instance_name, status, database_status from v$instance;


4.4查看ASM磁盘、磁盘组或表空间容量

登录数据库查看


su - oracle
sqlplus / as sysasm
set line 200
col path for a50
##查看ASM磁盘,是否识别到未添加的磁盘
select name,path,state,mount_status,header_status from v$asm_disk;
##查看ASM磁盘组使用情况
select name,state,type,total_mb,free_mb from v$asm_diskgroup;


登录ASM查看


##查看数据库磁盘使用情况-方法1
$ su - grid
$ asmcmd lsdg
$ asmcmd lsdsk -p -k --candidate
$ exit
##查看数据库磁盘使用情况-方法2
$ asmcmd
##列出磁盘组及其信息
ASMCMD> lsdg
##列出Oracle ASM磁盘
ASMCMD> lsdsk -p -k --candidate
ASMCMD> exit


4.5备份megadata(添加前备份)


ASMCMD> help md_backup
##backup文件夹的权限应是 755 grid oinstall
##backup20220826_before 是具体的备份文件命名
su - grid
$ asmcmd
ASMCMD> md_backup /tmp/backup/dgbackup20201130_before


4.6扩容DATA磁盘组


su - grid
sqlplus / as sysasm
##新增磁盘加入到磁盘组DATA
##测试环境,磁盘资源有限,这里使用 外部冗余(external redundancy)
##这种冗余方式下,Oracle不管理镜像,功能由外部存储系统实现,比如通过RAID技术;
##有效磁盘空间是所有磁盘设备空间的大小之和。
alter diskgroup DATA add disk '/dev/asm_data1' rebalance power 5;


注:rebalance power的级别从1到11中选择一个数值;数值越大,rebalance速度越快,对现有运行系统影响也越大。需要根据当时业务权衡选择适合的级别;

4.7平衡磁盘


##监控磁盘组平衡情况
##直到查询结果是no rows selected,表示rebalance已经完成。
select * from v$asm_operation;


4.8设置磁盘组POWER值为“1”


alter diskgroup DATA rebalance power 1;1.


4.9验证磁盘组状态


su - grid
sqlplus / as sysasm
select name,state,type,total_mb,free_mb from v$asm_diskgroup;
exit
$ asmcmd
ASMCMD >lsdsk -G DATA -k -p
ASMCMD >lsdg
ASMCMD >quit


添加完成。

4.10备份megadata(添加后备份)


##backup文件夹的权限应是 755  grid oinstall
##backup20220826_after 是具体的备份文件命名
su - grid
$ asmcmd
ASMCMD> md_backup /tmp/backup/dgbackup20201130_after


4.11检查数据库运行状态


# cat /var/log/message 
# crsctl stat res -t
##查看日志
$ cat listener.log
$ cat ocssd.log
$ cat crsd.log


5.快速新增磁盘组ARCHIVE



vi /etc/multipath.conf
  multipath {
  wwid "28e81ce897af2f1e4"
  alias asm_data1
  }
  
systemctl enable multipathd.service
systemctl start multipathd.service
multipath -ll

vi 99-oracle-asmdevices.rules
KERNEL=="dm-*",ENV{DM_UUID}=="mpath-28e81ce897af2f1e4",SYMLINK+="asm_archive",OWNER="grid",GROUP="asmadmin",MODE="0660"

udevadm control --reload-rules
udevadm trigger --type=devices

ll /dev/asm*
ll /dev/dm*

md_backup /tmp/backup/dgbackup20201130_before

create diskgroup archive external redundancy disk '/dev/asm_archive';
alter diskgroup ARCHIVE rebalance power 5;
select * from v$asm_operation;
alter diskgroup DATA rebalance power 1;

select name,state,type,total_mb,free_mb from v$asm_diskgroup;

md_backup /tmp/backup/dgbackup20201130_after


本文地址:https://liuchunjie.top/?id=554
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?