Oracle 如何在线添加ASM磁盘
2015-12-11 19:43
531 查看
在一个已经运行一段时间的用ASM管理的RAC上,如果磁盘空间不足,如何在线添加磁盘容量?
接下来用虚拟机(Redhat +Oracle 11g RAC环境)里面的例子讲解添加步骤:
1. 首先从VSphere里面划出一个盘给RAC中某一个节点,然后在RAC其余节点上添加已分配的磁盘;
2. 如果添加完磁盘后,发现用fdisk -l 不能识别到刚添加的磁盘,就重启RAC节点(这一步应该不是必须的);
3. 识别到磁盘后,用fdisk /dev/sdf 来给磁盘分区,分区之后用mkfs.ext2或mkfs.ext4 来格式化分区;
4. 然后用udev来共享磁盘,在/etc/udev/rules.d/99-oracle-asmdevices.rules中添加新加磁盘的信息,result字段内容用/sbin/scsi_id -g -u -s /block/sdf 获得,添加完后,用/sbin/start_udev start重启udev,这样在/dev下面就会有新增的磁盘;
5. 然后在root下面用/etc/init.d/oracleasm create DISK_NAME candidate_disk 来新增共享盘;
6. 然后在RAC所有节点上扫描共享盘 /etc/init.d/oracleasm scandisks ,如果在RAC所有节点都能识别到共享盘,那说明共享OK;
7. 磁盘共享后,再就是在ASM实例下面添加ASM磁盘:
#su - grid
$export ORACLE_SID=+ASM1
$sqlplus "/ as sysasm"
然后可以通过v$asm_disk和v$asm_diskgroup两个视图查出现有的ASM Disk和ASM diskgroup:
添加前:SQL>select group_number,disk_number ,path from v$asm_disk;
GROUP_NUMBER DISK_NUMBER PATH
------------ ----------- ----------------------------------------
0
2 ORCL:ARC1
0 4 ORCL:OCR
3 0 /dev/raw/raw1
1
0 ORCL:ARC
2 0 ORCL:DATA
4 0 ORCL:REDOCTL
添加语句:$alter diskgroup DATA01 add disk 'ORCL:ARC1';
添加后:SQL> select group_number,disk_number ,path from v$asm_disk;
GROUP_NUMBER DISK_NUMBER PATH
------------ ----------- ----------------------------------------
0 4 ORCL:OCR
3 0 /dev/raw/raw1
1
0 ORCL:ARC
1 1 ORCL:ARC1
2 0 ORCL:DATA
4 0 ORCL:REDOCTL
$show parameter asm 注意看ASM_DISKSTRING参数有没有设置的 show parameter asm_power
$alter system set asm_power_limit=5; 提高平衡速率
$ALTER DISKGROUP DATA01 REBALANCE POWER 5; 平衡磁盘数据
select operation,est_minutes from v$asm_operation; 查看平衡需要的时间
select TOTAL_MB,FREE_MB,path from v$asm_disk_stat where GROUP_NUMBER=1 order by 3; 查看当前磁盘空间使用情况
ALTER DISKGROUP DATA01 REBALANCE POWER 1; 恢复到平衡速率为1
最后可以在asmcmd lsdg查看ASM Diskgroup容量是否增加。以上就是Linux上一个在线添加ASM磁盘的步骤。
最后附上其他操作系统上ASM磁盘添加的语法:
链接:http://wenku.baidu.com/link?url=2ZuzJsR8ZL_bQb_qHdjL0qXaE5LF-cm88V7TRZwTc7oFLfJbn9JVWKie2rOd6bWNC-0I
接下来用虚拟机(Redhat +Oracle 11g RAC环境)里面的例子讲解添加步骤:
1. 首先从VSphere里面划出一个盘给RAC中某一个节点,然后在RAC其余节点上添加已分配的磁盘;
2. 如果添加完磁盘后,发现用fdisk -l 不能识别到刚添加的磁盘,就重启RAC节点(这一步应该不是必须的);
3. 识别到磁盘后,用fdisk /dev/sdf 来给磁盘分区,分区之后用mkfs.ext2或mkfs.ext4 来格式化分区;
4. 然后用udev来共享磁盘,在/etc/udev/rules.d/99-oracle-asmdevices.rules中添加新加磁盘的信息,result字段内容用/sbin/scsi_id -g -u -s /block/sdf 获得,添加完后,用/sbin/start_udev start重启udev,这样在/dev下面就会有新增的磁盘;
5. 然后在root下面用/etc/init.d/oracleasm create DISK_NAME candidate_disk 来新增共享盘;
6. 然后在RAC所有节点上扫描共享盘 /etc/init.d/oracleasm scandisks ,如果在RAC所有节点都能识别到共享盘,那说明共享OK;
7. 磁盘共享后,再就是在ASM实例下面添加ASM磁盘:
#su - grid
$export ORACLE_SID=+ASM1
$sqlplus "/ as sysasm"
然后可以通过v$asm_disk和v$asm_diskgroup两个视图查出现有的ASM Disk和ASM diskgroup:
添加前:SQL>select group_number,disk_number ,path from v$asm_disk;
GROUP_NUMBER DISK_NUMBER PATH
------------ ----------- ----------------------------------------
0
2 ORCL:ARC1
0 4 ORCL:OCR
3 0 /dev/raw/raw1
1
0 ORCL:ARC
2 0 ORCL:DATA
4 0 ORCL:REDOCTL
添加语句:$alter diskgroup DATA01 add disk 'ORCL:ARC1';
添加后:SQL> select group_number,disk_number ,path from v$asm_disk;
GROUP_NUMBER DISK_NUMBER PATH
------------ ----------- ----------------------------------------
0 4 ORCL:OCR
3 0 /dev/raw/raw1
1
0 ORCL:ARC
1 1 ORCL:ARC1
2 0 ORCL:DATA
4 0 ORCL:REDOCTL
$show parameter asm 注意看ASM_DISKSTRING参数有没有设置的 show parameter asm_power
$alter system set asm_power_limit=5; 提高平衡速率
$ALTER DISKGROUP DATA01 REBALANCE POWER 5; 平衡磁盘数据
select operation,est_minutes from v$asm_operation; 查看平衡需要的时间
select TOTAL_MB,FREE_MB,path from v$asm_disk_stat where GROUP_NUMBER=1 order by 3; 查看当前磁盘空间使用情况
ALTER DISKGROUP DATA01 REBALANCE POWER 1; 恢复到平衡速率为1
最后可以在asmcmd lsdg查看ASM Diskgroup容量是否增加。以上就是Linux上一个在线添加ASM磁盘的步骤。
最后附上其他操作系统上ASM磁盘添加的语法:
链接:http://wenku.baidu.com/link?url=2ZuzJsR8ZL_bQb_qHdjL0qXaE5LF-cm88V7TRZwTc7oFLfJbn9JVWKie2rOd6bWNC-0I
相关文章推荐
- Oracle游标(光标)
- 二、oracle pctfree和pctused详解
- oracle 函数 trunc
- 抓取oracle数据库耗费资源的sql语句
- Oracle 12c 数据库的本地连接和远程连接
- 【Oracle】SP2-0618: 无法找到会话标识符。启用检查 PLUSTRACE 角色
- Oracle多表查询优化
- Oracle之sql语句优化
- 今天说说Oracle中的字符转义问题吧——escape关键字
- oracle
- oracle迁移到mysql(仅使用脚本)
- oracle JOB常见的执行时间
- Oracle EBS 寄售业务总结
- oracle表,表空间,dbf数据文件三者的关系
- Windows 10、Windows 2012 安装 Oracle 11g 报错:[INS-13001]环境不满足最低要求。
- Zabbix利用orabbix插件监控Oracle数据库(增强版)
- oracle删除表操作,10g之前的不适用
- Oracle PO - 模块一揽子采购协议小结
- Oracle更改redo log的大小
- Entity Framework6 with Oracle(可实现code first)