一,ASMCMD命令
1,Oracle在10g版本提供了ASMCMD命令,通过这个命令可以管理存储在ASM磁盘中的数据。在使用asmcmd命令时必须启动asm实例,然后指定ORACLE_HOME和ORACLE_SID。
[root@rac1 ~]# su - grid
[grid@rac1 ~]$ export ORACLE_SID=+ASM
[grid@rac1 ~]$ export ORACLE_SID=+ASM1
[grid@rac1 ~]$ asmcmd
ASMCMD>
注:在10g中可以在oracle用户下进行切换。
2,还可以使用“asmcmd -p”,加上“-p”参数,可以显示当前路径。
[grid@rac1 ~]$ asmcmd -p
ASMCMD [+] >
原始设备和ASM的区别是,原始设备只能用dd命令备份和恢复,而ASM提供了查看管理,备份和恢复。
3,下面是ASMCMD提供的一些可用的命令,其中在Oracle 11g新增的命令有cp、md_backup、md_restore。
ASMCMD> ?
commands:
--------
md_backup, md_restore
lsattr, setattr
cd, cp, du, find, help, ls, lsct, lsdg, lsof, mkalias
mkdir, pwd, rm, rmalias
chdg, chkdg, dropdg, iostat, lsdsk, lsod, mkdg, mount
offline, online, rebal, remap, umount
dsget, dsset, lsop, shutdown, spbackup, spcopy, spget
spmove, spset, startup
chtmpl, lstmpl, mktmpl, rmtmpl
chgrp, chmod, chown, groups, grpmod, lsgrp, lspwusr, lsusr
mkgrp, mkusr, orapwusr, passwd, rmgrp, rmusr
volcreate, voldelete, voldisable, volenable, volinfo
volresize, volset, volstat
ASMCMD>
ASMCMD> ls
DATA/
ASMCMD> ls
DATA/
ASMCMD> cd DATA
ASMCMD> ls
RADB/
racluster/
ASMCMD> cd R*
ASMCMD-08005: R*: ambiguous
ASMCMD> cd RADB
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileradb.ora
ASMCMD> cd DATAFILE
ASMCMD> ls
EXAMPLE.267.846100077
SYSAUX.257.846099879
SYSTEM.256.846099875
UNDOTBS1.258.846099879
UNDOTBS2.268.846100355
USERS.259.846099879
ASMCMD> cd ..
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileradb.ora
ASMCMD> cd CONTROLFILE
ASMCMD> ls
Current.260.846100021
Current.261.846100019
ASMCMD> cd ..
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileradb.ora
ASMCMD> cd ARCHIVELOG
ASMCMD> ls
2014_04_28/
2014_05_22/
ASMCMD> cd 2014_04_28
ASMCMD> ls
thread_1_seq_5.274.846100523
thread_1_seq_6.276.846100591
thread_2_seq_1.275.846100581
thread_2_seq_2.277.846100591
thread_2_seq_3.278.846100595
thread_2_seq_4.279.846102221
ASMCMD> cd ..
ASMCMD> ls
2014_04_28/
2014_05_22/
ASMCMD> du
Used_MB Mirror_used_MB
112 226
ASMCMD> lsct
DB_Name Status Software_Version Compatible_version Instance_Name Disk_Group
+ASM CONNECTED 11.2.0.1.0 11.2.0.1.0 +ASM1 DATA
radb CONNECTED 11.2.0.1.0 11.2.0.0.0 radb1 DATA
ASMCMD> pwd
+DATA/RADB/ARCHIVELOG
ASMCMD> cd ..
ASMCMD> lsdg
State
Type Rebal Sector Block AU Total_MB Free_MB
Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED
NORMAL N 512 4096 1048576 25570 20448
1055 9696 0 N DATA/
ASMCMD> lsdisk
commands:
--------
md_backup, md_restore
lsattr, setattr
cd, cp, du, find, help, ls, lsct, lsdg, lsof, mkalias
mkdir, pwd, rm, rmalias
chdg, chkdg, dropdg, iostat, lsdsk, lsod, mkdg, mount
offline, online, rebal, remap, umount
dsget, dsset, lsop, shutdown, spbackup, spcopy, spget
spmove, spset, startup
chtmpl, lstmpl, mktmpl, rmtmpl
chgrp, chmod, chown, groups, grpmod, lsgrp, lspwusr, lsusr
mkgrp, mkusr, orapwusr, passwd, rmgrp, rmusr
volcreate, voldelete, voldisable, volenable, volinfo
volresize, volset, volstat
ASMCMD> lsdsk
Path
ORCL:DISK1
ORCL:DISK2
ORCL:DISK3
ORCL:DISK4
ORCL:DISK5
ASMCMD> md_backup
usage: md_backup
[-G ',,...']
help: help md_backup
ASMCMD> ls
ARCHIVELOG/
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileradb.ora
ASMCMD> cd ..
ASMCMD> ls
RADB/
racluster/
ASMCMD> cd ..
ASMCMD> ls
DATA/
ASMCMD> md_backup
usage: md_backup
[-G ',,...']
help: help md_backup
ASMCMD> md_backup -G DATA
usage: md_backup
[-G ',,...']
help: help md_backup
ASMCMD> ls
DATA/
ASMCMD> md_backup -G DATA
usage: md_backup
[-G ',,...']
help: help md_backup
ASMCMD>
二,创建ASM磁盘
1,第一种方式
[root@rac1 dev]# pwd
/dev
[root@rac1 dev]# oracleasm init
[root@rac1 dev]# oracleasm createdisk DISK1 sdb1
Writing disk header: done
[root@rac1 dev]# oracleasm deletedisk DISK1
2,第二种方式
[root@rac1 ~]#/etc/init.d/oracleasm createdisk ASMDISK1 /dev/sdf1
[root@rac1 ~]#/etc/init.d/oracleasm createdisk ASMDISK1
三,ASM的日志
[grid@rac1 ~]$ tail -f /var/log/oracleasm
Disk "DISK1" does not exist or is not instantiated
Instantiating disk "DISK1"
Disk "DISK2" does not exist or is not instantiated
Instantiating disk "DISK2"
Disk "DISK3" does not exist or is not instantiated
Instantiating disk "DISK3"
Disk "DISK4" does not exist or is not instantiated
Instantiating disk "DISK4"
Disk "DISK5" does not exist or is not instantiated
Instantiating disk "DISK5"
四,ASM扫描磁盘
[root@rac1 dev]# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Scanning system for ASM disks...
[root@rac1 dev]# oracleasm listdisks
DISK1
DISK2
DISK3
DISK4
DISK5
五,ORA-29701
[grid@rac1 ~]$ export ORACLE_SID=+ASM1
[grid@rac1 ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on Thu May 22 18:48:21 2014
Copyright (c) 1982, 2009, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Real Application Clusters and Automatic Storage Management options
SQL>
SQL> startup
ORA-29701:unable to connect to Cluster Manager
是因为没有集群环境的单实例环境,导致CCSD后台进程没有运行,我们可以通过初始化操作,解决这个错误。
[root@linuxoracle bin]#./localconfig add
这个bin是oracle的bin目录。
六,创建磁盘组:
SQL>create diskgroup FLASH_DISK external redundancy disk '/dev/oracleasm/disks/ASMDISK1' name flashdisk;
SQL>create diskgroup ARCH_DISK external redundancy disk '/dev/oracleasm/disks/ASMDISK2' name archdisk1;
SQL>create diskgroup DATA_DISK external redundancy disk '/dev/oracleasm/disks/ASMDISK4' name datadisk1,
'/dev/oracleasm/disks/ASMDISK5' name datadisk2;
七,查看磁盘组的状态
SQL> select name,state from v$asm_diskgroup;
八,卸载磁盘组
SQL>alter diskgroup DATA_DISK dismount;
九,挂在磁盘组
SQL>alter diskgroup DATA_DISK mount;
十,查看磁盘组的路径
SQL> select name,state from v$asm_diskgroup;
NAME PATH
------------------------------ ------------------------------
DISK1 ORCL:DISK1
DISK2 ORCL:DISK2
DISK3 ORCL:DISK3
DISK4 ORCL:DISK4
DISK5 ORCL:DISK5
十一,查看磁盘组的大小
SQL> select name,allocation_unit_size,total_mb from v$asm_diskgroup;
NAME ALLOCATION_UNIT_SIZE TOTAL_MB
------------------------------ -------------------- ----------
DATA 1048576 25570
SQL>
十二,向磁盘组中增加一个磁盘
alter diskgroup arch_disk add disk '/dev/oracleasm/disks/ASMDISK3' name ARCHDISK2;
十三,从一个磁盘组中删除一个磁盘
alter diskgroup arch_disk drop disk ARCHDISK2;
十四,删除一个磁盘组
drop diskgroup FLASH_DISK;
十五,关闭ASM
shutdown immediate
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29611940/viewspace-1180629/
,如需转载,请注明出处,否则将追究法律责任。