欢迎访问宙启技术站
智能推送

Oracle 11.2.0.3管理ASM的方法是什么

发布时间:2023-05-14 06:00:49

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,以提高存储性能和可用性。