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 -l
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
ASMCMD> help md_backup
##md_backup命令为一个或多个磁盘组创建包含元数据的备份文件。
##卷和Oracle自动存储管理集群文件系统(Oracle ACFS),文件系统信息也进行备份。
##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 6;
注: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;
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 1;
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
>>>如果文章对你有所帮助,欢迎关注、点赞、收藏、评论,谢谢!<<<