解放双手,精通Oracle12cASM(oracle12casm)
解放双手,精通Oracle 12c ASM
如果你是一名数据库管理员,那么你一定清楚维护数据库需要花费大量的时间和精力。此外,你的工作还包括管理存储,因为Oracle数据库需要可靠的存储架构来支持其高效的数据访问和管理。在这样的困境下,Oracle 12c ASM(Automatic Storage Management)就如同它的名字一样“自动”,可以重新定义数据库管理体验。
Oracle 12c ASM是一个用于管理Oracle数据库存储的技术。它可以自动管理数据库文件和磁盘空间,将多个物理磁盘组合成一组ASM磁盘组,这个组可以使用ASM技术实现更好的性能。ASM还提供了其自己的文件系统,这意味着它在处理文件方面比OS文件系统更高效,这是因为ASM能够智能地将存储数据分散到多个磁盘上,而不需要额外的文件系统管理。
因此,现在我们可以将所有的精力都放在Oracle数据库的维护和管理上,而不是更多地关注存储和磁盘问题。接下来,我们将详细介绍如何使用ASM。
我们来了解ASM的架构。ASM由以下两个组件组成:
1. ASM库:ASM库包含了 ASM 内部机制管理的所有元数据。这些数据被保存在 ASM 磁盘组中,通过 ASM 实例进行操作和管理。
2. ASM实例:ASM实例是连接ASM磁盘组的进程。这些实例被用来控制ASM磁盘组中的所有数据。这样的组合防止了数据库意外关机或崩溃时元数据的损坏。
ASM磁盘组还需要使用ASM实例进行统一的管理。ASM实例负责管理磁盘组,而不是单独管理每个磁盘。此外,ASM磁盘组也可以分为以下两种:
1. 外部磁盘组:外部磁盘组是使用ASM之前已经存在的磁盘组。它们被加入ASM磁盘组来进行管理。
2. ASM磁盘组:ASM磁盘组是由ASM创建并进行管理的,它们由单独的ASM磁盘创建而成。
现在我们来介绍如何用代码来创建ASM磁盘组以及如何将已存在的磁盘组添加到ASM中。
1. 创建ASM Disk Group:
我们使用以下命令创建ASM实例:
$ORACLE_HOME/bin/asmca
接下来,我们需要创建ASM磁盘组。我们可以使用以下命令中的任意一种方式:
a. 通过UI创建ASM磁盘组:
使用ASM Configuration Assistant创建ASM磁盘组。我们可以使用服务选项来指定以下信息:
– ASM 实例节点
– ASM 实例名称
– 磁盘组名称
– 内部和外部磁盘列表
– 磁盘的名称和路径
b. 创建ASM磁盘组的代码:
我们可以使用以下代码来创建ASM磁盘组:
SQL> CREATE DISKGROUP
EXTENT MANAGEMENT LOCAL
ATTRIBUTE ‘compatible.asm’=’12.2.0.1.0’,
‘compatible.rdbms’=’12.2.0.1.0’,
‘sector_size’=’512’,
‘AU_SIZE’=’1M’
DISK ” NAME ”,
” NAME ”
ATTRIBUTE ‘oracle.diskgroup.redundancy’=’NORMAL’,
‘oracle.diskgroup.type’=’PREFERRED’,
‘compatible.asm’=’11.2.0’,
‘compatible.rdbms’=’11.2.0’
COMPATIBLE.ASM = ‘11.2.0.0.0’;
在这里,我们指定了磁盘组名称,磁盘组的属性,以及磁盘路径和名称。这些属性包括缺省AU大小、挂载点、磁盘冗余性和ASM和RDBMS软件的兼容性级别。
2. 添加磁盘到已有ASM磁盘组:
如果我们想要将现有的磁盘组添加到已存在的ASM中,我们可以使用如下命令:
alter diskgroup add disk ” NAME ”;
或者,我们可以使用DBCA或ASMCA的UI操作,依照相应的步骤进行操作。
在这篇文章中,我们详细介绍了如何使用ASM,以及如何创建ASM磁盘组并将现有的磁盘组加入ASM中。ASM精通的经验将大大简化我们的数据库管理工作,使我们能够将更多时间和精力投入到更重要的问题上。掌握ASM技术,才能在Oracle数据库中成为一名出色的数据库管理员。