Oracle 11.2.0.3管理ASM的方法是什么
Oracle 11.2.0.3版本中,ASM(Automatic Storage Management)是一个非常重要的功能。它是一种独立于任何特定文件系统的存储管理器,能够提供高性能、高可用性和可扩展性的存储管理服务。ASM能够同时管理多种类型的存储设备,并自动管理数据文件在磁盘上的存储位置,以提高性能和可用性。本文将介绍Oracle 11.2.0.3版本中管理ASM的方法。
1. 安装ASM
在Oracle 11.2.0.3中,默认情况下安装了ASM。如果没有安装ASM,可以使用Oracle Universal Installer(OUI)进行安装。在安装时,可以选择将ASM和数据库一起安装,也可以将它们分开安装。
2. 创建ASM实例
在使用ASM之前,需要创建ASM实例。此实例用于管理存储在ASM存储中的数据文件。ASM实例可以使用ASMCA(ASM Configuration Assistant)或手动创建。使用ASMCA创建ASM实例的步骤如下:
1) 运行asmantr.bat(Windows)或asmantr(Unix)。
2) 在ASM Configuration Assistant主界面上,选择Create ASM Instance。
3) 在Create ASM Instance界面上,指定ASM实例的名称、监听器的端口号、ASM实例的存储位置等。
4) 点击Next,接受默认的命令选项。
5) 点击Create,等待ASM实例创建完成。
手动创建ASM实例的步骤如下:
1) 创建spfile:
$ asmcmd
ASMCMD> spfilecreate '+DATA/ASM/ASMPARAMETERFILE/spfile.ora' template="+DATA"
2) 修改spfile:
$ vi $ORACLE_HOME/dbs/spfile+ASM.ora
*.db_name='ASM'
*.instance_type='asm'
*.asm_diskstring='/dev/oracleasm/disks/*'
*.asm_diskgroups='DATA, FRA, DB'
*.asm_power_limit=1
*.remote_login_passwordfile='EXCLUSIVE'
*.asm_listener_port=1521
3) 启动ASM实例
$ sqlplus / as sysasm
SQL> startup
3. 创建ASM磁盘组
在ASM存储中存储的文件被组织成磁盘组。每个磁盘组由一组物理磁盘组成,可以通过ASM管理和控制存储在其中的文件。在创建ASM磁盘组之前,需要确保物理磁盘已经通过Oracle ASM Disk Discovery(例如,oracleasm scandisks命令)识别。可以使用ASMCMD或SQLPLUS创建磁盘组。
使用ASMCMD创建磁盘组的步骤如下:
1) 运行asmantr.bat(Windows)或asmantr(Unix)。
2) 在ASM Command Line Utility主界面上,输入以下命令:
ASMCMD> cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
ASMCMD> asmcmd -p
ASMCMD> mdattr -G DATA set compatible.asm='11.2.0.0.0' compatible.rdbms='11.2.0.3.0'
ASMCMD> lsdsk
ASMCMD> lsdisks
ASMCMD> help
ASMCMD> cd +DATA
ASMCMD> mdgrp DATA01
ASMCMD> mkdg DATA01 --diskstring='/dev/oracleasm/disks/*' --redundancy=normal
3) 创建失败,可以使用以下命令删除并重新创建:
ASMCMD> dropdg DATA01
使用SQLPLUS创建磁盘组的步骤如下:
1) 打开SQLPLUS(sysasm):
$ sqlplus / as sysasm
2) 创建ASM磁盘组:
SQL> CREATE DISKGROUP DATA01
NORMAL REDUNDANCY
DISK '/dev/oracleasm/disks/asm00', '/dev/oracleasm/disks/asm01','/dev/oracleasm/disks/asm02',
'/dev/oracleasm/disks/asm03', '/dev/oracleasm/disks/asm04', '/dev/oracleasm/disks/asm05'
ATTRIBUTE 'COMPATIBLE.ASM'='11.2.0.0.0',
'COMPATIBLE.RDBMS'='11.2.0.3.0';
3) 查看磁盘组信息:
SQL> SELECT NAME, STATE, TOTAL_MB, FREE_MB
FROM V$ASM_DISKGROUP;
4. 创建ASM盘组磁盘
在创建ASM盘组磁盘之前,需要先将物理磁盘格式化为ASM卷。使用oracleasm命令可以创建ASM卷。
1) 创建ASM卷:
$ oracleasm createdisk DISK_01 /dev/sdb1
2) 查看已创建的ASM卷:
$ oracleasm listdisks
3) 将ASM卷添加到ASM磁盘组:
$ asmcmd
ASMCMD> alter diskgroup DATA add disk 'ORCL:DISK_01';
5. 在ASM中创建表空间
在ASM中创建表空间和在普通的文件系统中创建表空间的过程是类似的。不同之处在于ASM管理文件,可以选择使用TEMPLATES。ASM Templates是预定义的表空间布局,可以通过ASMCA或SQLPLUS创建。
使用ASMCA创建表空间的步骤如下:
1) ASM CA中选择操作‘Create Tablespaces’
2) 选择 Create File components 按钮
3) 选择 Automatic File Management(ASM)和 Tablespaces 标签页
4) 指定表空间名称,选择要存储表空间的磁盘组
5) 选择 ASM Template
6) 点击Create,等待表空间创建完成
使用SQLPLUS创建表空间的步骤如下:
1) 打开SQLPLUS(sysasm):
$ sqlplus / as sysasm
2) 定义tablespace参数:
SQL> create tablespace USERS datafile '+DATA' size 100M
extent management local
uniform size 1M;
3) 查看创建的表空间:
SQL> select FILE_NAME, TABLESPACE_NAME from dba_data_files;
以上是Oracle 11.2.0.3版本中管理ASM的方法,主要包括创建ASM实例、创建ASM磁盘组、创建ASM盘组磁盘和在ASM中创建表空间等。管理员可以根据需要使用以上方法管理ASM,以提高存储性能和可用性。
