前 言
前些日子,由于备考 OCM ,一直没有时间写点东西,希望各位读者朋友们海涵。六一考完试后又狠狠的加了两周班便拖到了现在,今天难得有时间,便说说关于考试时创建ACFS 文件系统时由于写错挂载点名卸载时无法卸载的问题,以及拓展到 ADVM 和 ACFS 快照,Rman 备份到 ASM 存储。
ACFS:Oracle Automatic Storage Management Cluster File System (OracleACFS)Oracle 自动存储管理集群文件系统,是 Oracle 自 11.2 出现的一种磁盘管理方式。
Oracle 自动存储管理集群文件系统(OracleACFS)是一种多平台、可伸缩的文件系统和存储管理技术,扩展了 Oracle 自动存储管理(Oracle ASM:Oracle Automatic Storage Management)功能,支持在 Oracle 数据库之外维护客户文件。Oracle ACFS 支持许多数据库和应用程序文件,包括可执行文件、数据库跟踪文件、数据库告警日志、应用程序报告、二进制文件和配置文件。其他支持的文件是视频、音频、文本、图像、工程图纸和其他通用应用程序文件数据。
如上图所示,ACFS 使用 ASM 的动态卷管理 ADVM 文件,数据库文件存放于 ASM,非数据库文件首选存放于 ACFS 文件系统,ACFS 不支持任何可以直接存储在 Oracle ASM 中的文件类型,除非在文档中明确说明;从Oracle Automatic Storage Management 11g Release2(11.2.0.3)开始,Oracle ACFS 支持 RMAN备份(backupingfile类型)、归档日志(ARCHIVELOG 文件类型)和数据泵转储集(DUMPSET 文件类型)。注意,这些文件不支持 Oracle ACFS 快照;Oracle ACFS 不支持 Oracle 集群注册表(OCR)和投票文件(voting files),也不支持 GI 家目录文件;Oracle ACFS 功能要求将 ASM 和 ADV M的磁盘组兼容性属性设置为11.2 或更高。
关于 ACFS 官方文档链接:
https://docs.oracle.com/cd/E11882_01/server.112/e18951/asmfilesystem.htm#OSTMG30000
Oracle ACFS 文件系统是 Oracle ASM 上的一个层,配置了Oracle ASM 存储,如上图 1 所示。Oracle ACFS 利用 Oracle ASM 功能,使:
•oracle ACFS 动态文件系统调整
•通过直接访问 Oracle ASM 磁盘组存储最大化性能
•平衡分布Oracle ACFS 跨 Oracle ASM 磁盘组存储,增加 I/O 并行性
•通过 Oracle ASM 镜像保护机制实现数据可靠性
更多详细信息请查看如下官方文档链接:
https://docs.oracle.com/cd/E11882_01/server.112/e18951/asmfilesystem.htm#OSTMG94165
V$ASM_ACFS_ENCRYPTION_INFO
V$ASM_ACFS_SECURITY_INFO
V$ASM_ACFSSNAPSHOTS
V$ASM_ACFSVOLUMES
V$ASM_FILESYSTEM
V$ASM_VOLUME
V$ASM_VOLUME_STAT
常用 SQL 语句:
SELECT SUBSTR(fs_name,1,32) FILESYSTEM, SUBSTR(vol_device,1,20) DEVICE, prepared_status, enabled_status
FROM V$ASM_ACFS_SECURITY_INFO;
SELECT SUBSTR(fs_name,1,32) FILESYSTEM, SUBSTR(vol_device,1,24) DEVICE, SUBSTR(snap_name,1,28) SNAPSHOT, create_time TIME
FROM V$ASM_ACFSSNAPSHOTS;
SELECT fs_name, vol_device, primary_vol, total_mb, free_mb
FROM V$ASM_ACFSVOLUMES;
SELECT fs_name, available_time, block_size, state, corrupt
FROM V$ASM_FILESYSTEM;
SELECT dg.name AS diskgroup, v.volume_name, v.volume_device, v.mountpath
FROM V$ASM_DISKGROUP dg, V$ASM_VOLUME v
WHERE dg.group_number = v.group_number and dg.name = 'DATA';
SELECT dg.name AS diskgroup, v.volume_name, v.bytes_read, v.bytes_written
FROM V$ASM_DISKGROUP dg, V$ASM_VOLUME_STAT v
WHERE dg.group_number = v.group_number and dg.name = 'DATA';
Oracle ASMDynamic Volume Manager (Oracle ADVM) :ASM 动态卷管理器(ADVM)为客户端提供卷管理服务和标准磁盘设备驱动程序接口。文件系统和其他基于磁盘的应用程序向 Oracle ADVM 卷设备发送 I/O 请求,就像它们向供应商操作系统上的其他存储设备发送请求一样。
Oracle ADVM 扩展了 Oracle ASM 通过提供磁盘驱动程序接口到 Oracle ASM 存储分配作为Oracle ASM 卷文件。可以使用 Oracle ADVM 创建包含文件系统的虚拟磁盘。包含在 Oracle ASM 卷中的这些文件系统能够支持 Oracle数据库文件之外的文件,例如可执行文件、报告文件、跟踪文件、警报日志和其他应用程序数据文件。因为 Oracle ADVM 卷实际上是 Oracle ASM 文件,所以它们需要与 Oracle ASM 文件相同的管理权限。Oracle 自动存储管理集群文件系统(ACFS)是在 Oracle ASM 的基础上通过 Oracle ADVM 接口实现的。随着 Oracle ADVM 的加入,Oracle ASM 成为一个完整的用户数据存储解决方案的数据库和非数据库文件的需要。要将卷添加到 Oracle ASM 磁盘组,磁盘组属性 COMPATIBLE.ASM 和 COMPATIBLE.ADVM 必须设置为“11.2”。卷名最多可为 11 个字母数字字符;破折号是不允许的。第一个字符必须是字母。
下面一起看看相关的操作,11gR2 的有 3 种创建 Oracle ACFS的方法:
(1) ASM ConfigurationAssistant (ASMCA)
(2) OracleEnterprise Manager (OEM)
(3) Command Line /SQL
我这里使用图形化 asmca,当创建好相关磁盘组后,Volumes 页面单击创建,填写卷名 ADMV,选择磁盘组名 ACFS,填写大小即可创建。
接下来开始创建 ACFS 选择最后一个页签“ASM Cluster FileSystems”,点击“create”进行创建。可以使用前面创建的 ADVM 卷或者重新创建卷,我这里选择原有的 ADVM 卷。并创建普通文件系统挂载到 /u01/app/oracle/acfs_advm,这里 acfs_advm 目录需要重建,不然会报错,但不知为何会自动在节点 2 创建,如果不指定挂载点目录,如下图所示默认会挂载到 /u01/app/grid/acfsmounts/acfs_advm 目录。
当创建完成后,有可能没有mount 需要使用命令 /sbin/mount.acfs -o all,在两节点用 root 用户挂载一下。若没有挂载点会报错 ACFS-02014 需要手动创建此目录。
[root@JiekeXu01 ~]#/sbin/mount.acfs -o all
mount.acfs:CLSU-00100: Operating System function: open64 failed with error data: 2
mount.acfs:CLSU-00101: Operating System error message: No such file or directory
mount.acfs:CLSU-00103: error location: OOF_1
mount.acfs: CLSU-00104:additional error information: open64 (/u01/app/oracle/acfs_advm)
mount.acfs:ACFS-02015: Failed to open mount point /u01/app/oracle/acfs_advm. Verify themount point exists.
mount.acfs:ACFS-02014: Mount of /u01/app/oracle/acfs_advm failed. Error -1 was returned.
[root@JiekeXu01 ~]#mkdir -p /u01/app/oracle/acfs_advm
[root@JiekeXu01 ~]#/sbin/mount.acfs -o all
[root@JiekeXu01 ~]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 3.4G 1.3G 73% /stage
/dev/sda2 15G 13G 1.7G 88% /u01
tmpfs 4.0G 630M 3.4G 16% /dev/shm
/dev/asm/advm-84 2.0G 41M 2.0G 2% /u01/app/oracle/acfs_advm
测试一下 节点一复制文件进去,查看节点二是否能够看到。
[root@JiekeXu01acfs_advm]# /sbin/acfsutil info fs
/u01/app/oracle/acfs_advm
ACFS Version: 11.2.0.3.0
flags: MountPoint,Available
mount time: Sun Jun 14 15:22:24 2020
volumes: 1
total size: 2147483648
total free: 2004635648
primary volume: /dev/asm/advm-84
label:
flags: Primary,Available,ADVM
on-disk version: 39.0
allocation unit: 4096
major, minor: 252, 43009
size: 2147483648
free: 2004635648
ADVM diskgroup ACFS
ADVM resize increment: 33554432
ADVM redundancy: unprotected
ADVM stripe columns: 4
ADVM stripe width: 131072
number of snapshots: 0
snapshot space usage: 0
replication status: DISABLED
[root@JiekeXu01acfs_advm]# cp /home/oracle/core.5567 ./
[root@JiekeXu01acfs_advm]# ll
total 2676
-rw------- 1 rootroot 2408448 Jun 14 15:32 core.5567
drwx------ 2 rootroot 65536 Jun 14 15:22 lost+found
[oracle@JiekeXu02~]$ cd /u01/app/oracle/acfs_advm
[oracle@JiekeXu02acfs_advm]$ ll
total 2676
-rw------- 1 rootroot 2408448 Jun 14 15:32 core.5567
drwx------ 2 rootroot 65536 Jun 14 15:22 lost+found
创建成功后,可以查看大小 mount、dismount、resize 等
使用 root 用户将其卸载,注意两节点均要 umount。
[oracle@JiekeXu01 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 3.4G 1.3G 73% /stage
/dev/sda2 15G 13G 1.8G 88% /u01
tmpfs 506M 150M 356M 30% /dev/shm
/dev/asm/advm-84 2.0G 137M 1.9G 7%/u01/app/oracle/acfs_advm
[root@JiekeXu01 ~]# /bin/umount /dev/asm/advm-84
[root@JiekeXu01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 3.4G 1.3G 73% /stage
/dev/sda2 15G 13G 1.8G 88% /u01
tmpfs 4.0G 630M 3.4G 16% /dev/shm
节点 2 卸载时出现磁盘繁忙的错误,需要使用 lsof 或者 fuser 命令确认相关的进行并 kill掉,然后便可以 umount 卸载掉了。但卸载后两节点挂载点的目录文件还存在,将其重命名或者删除掉。
[root@JiekeXu02 ~]# /bin/umount /dev/asm/advm-84
umount: /u01/app/oracle/acfs_advm: device is busy
umount: /u01/app/oracle/acfs_advm: device is busy
umount: /u01/app/oracle/acfs_advm: device is busy
umount: /u01/app/oracle/acfs_advm: device is busy
[root@JiekeXu02 ~]# fuser /u01/app/oracle/acfs_advm
/u01/app/oracle/acfs_advm: 13952c
[root@JiekeXu02 ~]#
[root@JiekeXu02 ~]# lsof /dev/asm/advm-84
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
bash 13952 oracle cwd DIR 252,43009 4096 2/u01/app/oracle/acfs_advm
[root@JiekeXu02 ~]# kill -9 13952
[root@JiekeXu02 ~]# /bin/umount /dev/asm/advm-84
[root@JiekeXu02 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 139M 4.5G 3% /stage
/dev/sda2 15G 7.8G 6.1G 56% /u01
tmpfs 4.0G 670M 3.4G 17% /dev/shm
[root@ JiekeXu02 ~]# mv /u01/app/oracle/acfs_advm /u01/app/oracle/acfs_advm_bak
[root@ JiekeXu02 ~]# ls -lh /u01/app/oracle/
total 24K
drwxr-xr-x 2 root root 4.0K May 31 22:16 acfs_advm_bak
drwxr-x--- 3 oracle oinstall4.0K May 31 23:10 admin
drwxr-x--- 5 oracle oinstall4.0K May 31 23:16 cfgtoollogs
drwxr-xr-x 2 oracle oinstall4.0K May 31 23:04 checkpoints
drwxrwxr-x 11 oracle oinstall 4.0K May 31 22:52 diag
drwxr-xr-x 3 oracle oinstall4.0K May 31 22:36 product
当卸载完成后便可以delete 删除了,如下图所示:
Oracle ACFS 快照是 Oracle ACFS 文件系统的在线、只读或读写点副本。快照复制是空间高效的,并且使用了写时复制的功能。在修改或删除 Oracle ACFS 文件区段之前,将其当前值复制到快照,以维护文件系统的时间点视图。
Oracle ACFS 快照创建后立即可用。快照是在文件系统的 .acfs/snaps/ 目录中创建的。在挂载文件系统时,它们总是在线的。因此,Oracle ACFS 快照可以支持在线恢复无意中从文件系统修改或删除的文件。每个文件系统最多支持 63 个只读、读写或只读和读写快照视图组合,因此可以使用跨越多个视图的灵活的在线文件恢复解决方案。Oracle ACFS 快照还可以用作文件系统备份的源,因为可以根据需要创建它,以提供活动文件系统的当前、一致的在线视图。
要使用 Oracle ACFS 读写快照,ADVM 的磁盘组兼容性属性必须设置为 11.2.0.3.0 或更高。如果您在现有的 Oracle ACFS 文件系统上创建 了11.2.0.3.0 以前版本的读写快照,那么该文件系统将更新为 11.2.0.3.0 格式。在文件系统更新到更高版本之后,文件系统不能返回到更早的版本。
Oracle ACFS snapshots are administered with the acfsutil snap commands. Forinformation about the acfsutil snap commands, refer to "acfsutil snapcreate", "acfsutil snap delete", and "acfsutil snapinfo".
[root@JiekeXu01 acfs_advm]# acfsutil snap -h
[root@JiekeXu01 acfs_advm]# acfsutil snap create -h
Usage: acfsutil [-h] snap create [-w|-r] <snap_name><mountpoint>
[-w] - create a writeablesnapshot
[-r] - create a read-only snapshot
This is the default behavior.
创建快照并在两节点查看快照
[root@JiekeXu01 acfs_advm]# /sbin/acfsutil snap create ACFS_SNAP1/u01/app/oracle/acfs_advm/
[root@JiekeXu01 acfs_advm]# /sbin/acfsutil snap create ACFS_SNAP2/u01/app/oracle/acfs_advm/
acfsutil snap create: Snapshot operation is complete.
[root@JiekeXu01 acfs_advm]# ll /u01/app/oracle/acfs_advm/.ACFS/snaps
total 8
drwxr-xr-x 4 root root 4096 Jun 14 16:25 ACFS_SNAP1
drwxr-xr-x 4 root root 4096 Jun 14 16:31 ACFS_SNAP2
[root@JiekeXu01 acfs_advm]# cd ACFS_SNAP1
-bash: cd: ACFS_SNAP1: No such file or directory
[root@JiekeXu01 acfs_advm]# ll /u01/app/oracle/acfs_advm/.ACFS/snaps/ACFS_SNAP1
total 2612
-rw------- 1 root root 2408448 Jun 14 15:32 core.5567
?--------- ? ? ? ? ? lost+found
[root@JiekeXu01 acfs_advm]# pwd
/u01/app/oracle/acfs_advm
[root@JiekeXu01 acfs_advm]# ls -la
total 2684
drwxr-xr-x 4 root root 4096 Jun 14 15:32 .
drwxr-xr-x 9 oracle oinstall 4096Jun 14 15:19 ..
-rw------- 1 root root 2408448 Jun 14 15:32 core.5567
drwx------ 2 root root 65536 Jun 14 15:22 lost+found
[root@JiekeXu01 acfs_advm]# cd /u01/app/oracle/acfs_advm/.ACFS/snaps/ACFS_SNAP1
[root@JiekeXu01 ACFS_SNAP1]# ls -l
total 2612
-rw------- 1 root root 2408448 Jun 14 15:32 core.5567
?--------- ? ? ? ? ? lost+found
[root@JiekeXu02 oracle]# ll /u01/app/oracle/acfs_advm/.ACFS/snaps/ACFS_SNAP1
total 2612
-rw------- 1 root root 2408448 Jun 14 15:32 core.5567
?--------- ? ? ? ? ? lost+found
官方在线文档很是详细,这里就不用说明了。https://docs.oracle.com/cd/E11882_01/server.112/e18951/asmfs_em.htm#OSTMG29100
EM 管理 ACFS 快照官方在线文档很是详细,这里也不用说明了。
https://docs.oracle.com/cd/E11882_01/server.112/e18951/asmfs_em.htm#OSTMG94289
asmcmd
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 EXTERN N 512 4096 1048576 9788 7636 0 7636 0 N ACFS/
MOUNTED NORMAL N 512 4096 1048576 9788 8740 2447 3146 0 Y DATA/
MOUNTED EXTERN N 512 4096 1048576 9788 7438
创建卷标准语法
volcreate -G diskgroup -s size
[ --column number ] [ --width stripe_width ]
[--redundancy {high|mirror|unprotected} ]
[--primary {hot|cold}] [--secondary {hot|cold}] volume
1、使用ASMCMD volcreate命令在挂载的磁盘组中创建一个Oracle ASM卷
ASMCMD> volcreate -G ACFS -s 2G ADVM1
ASMCMD> volinfo -G ACFS ADVM1
2、确定创建的卷的设备名称
ASMCMD> volinfo -G acfs advm1
Diskgroup Name: ACFS
Volume Name: ADVM1
Volume Device: /dev/asm/advm1-84
State: ENABLED
Size (MB): 2048
Resize Unit (MB): 32
Redundancy: UNPROT
Stripe Columns: 4
Stripe Width (K): 128
Usage: ACFS
Mountpath:
3、使用Oracle ACFS mkfs 命令创建一个文件系统
/sbin/mkfs -t acfs /dev/asm/advm1-84
[root@JiekeXu01 ~]# /sbin/mkfs -t acfs /dev/asm/advm1-84
mkfs.acfs: version = 11.2.0.3.0
mkfs.acfs: on-disk version = 39.0
mkfs.acfs: volume = /dev/asm/advm1-84
mkfs.acfs: volume size = 2147483648
mkfs.acfs: Format complete.
[root@JiekeXu01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 3.4G 1.3G 73% /stage
/dev/sda2 15G 13G 1.7G 88% /u01
tmpfs 4.0G 630M 3.4G 16% /dev/shm
/dev/asm/advm-84 2.0G 137M 1.9G 7% /u01/app/oracle/acfs_advm
4、可以选择使用 acfsutil registry 命令注册文件系统。
/sbin/acfsutil registry -a /dev/asm/advm1-84 /u01/app/oracle/acfs_advm1
[root@JiekeXu01 ~]# /sbin/acfsutil registry -a /dev/asm/advm1-84 /u01/app/oracle/acfs_advm1
acfsutil registry: mount point/u01/app/oracle/acfs_advm1 successfully added to Oracle Registry
[root@JiekeXu01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 3.4G 1.3G 73% /stage
/dev/sda2 15G 13G 1.7G 88% /u01
tmpfs 4.0G 630M 3.4G 16% /dev/shm
/dev/asm/advm-84 2.0G 137M 1.9G 7% /u01/app/oracle/acfs_advm
/dev/asm/advm1-84 2.0G 41M 2.0G 2% /u01/app/oracle/acfs_advm1
5、使用 Oracle ACFS Mount 命令挂载文件系统。可以在注册文件系统之前或之后挂载文件系统。如果文件系统已经注册,您可以等待文件系统被自动挂载。
/bin/mount -t acfs /dev/asm/advm1-84/u01/app/oracle/acfs_advm1
chown -R oracle:dba/u01/app/oracle/acfs_advm1
6、在文件系统中创建一个测试文件
echo "Oracle ACFS File System"> /u01/app/oracle/acfs_advm1/myfile
7、列出在文件系统中创建的测试文件的内容。
cat /u01/app/oracle/acfs_advm1/myfile
[root@JiekeXu01 ~]# /bin/mount -t acfs /dev/asm/advm1-84 /u01/app/oracle/acfs_advm1
[root@JiekeXu01 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 3.4G 1.3G 73% /stage
/dev/sda2 15G 13G 1.7G 88% /u01
tmpfs 4.0G 630M 3.4G 16% /dev/shm
/dev/asm/advm-84 2.0G 137M 1.9G 7% /u01/app/oracle/acfs_advm
/dev/asm/advm1-84 2.0G 73M 2.0G 4% /u01/app/oracle/acfs_advm1
[root@JiekeXu01 ~]# cd /u01/app/oracle/
[root@JiekeXu01 oracle]# ll
total 32
drwxr-xr-x 4 root root 4096 Jun 14 15:32 acfs_advm
drwxrwx--- 4 root dba 4096 Jun 14 18:00 acfs_advm1
drwxr-xr-x 2 root root 4096 May 31 22:16 acfs_advm_bak
drwxr-x--- 3 oracle oinstall 4096 May 31 23:10 admin
drwxr-x--- 5 oracle oinstall 4096 May 31 23:16 cfgtoollogs
drwxr-xr-x 2 oracle oinstall 4096 May 31 23:04 checkpoints
drwxrwxr-x 11 oracle oinstall 4096 May 3122:52 diag
drwxr-xr-x 3 oracle oinstall 4096 May 31 22:36 product
[root@JiekeXu01 oracle]# chown -R oracle:dba /u01/app/oracle/acfs_advm1
[root@JiekeXu01 oracle]# ll
total 32
drwxr-xr-x 4 root root 4096 Jun 14 15:32 acfs_advm
drwxrwx--- 4 oracle dba 4096 Jun 1418:00 acfs_advm1
drwxr-xr-x 2 root root 4096 May 31 22:16 acfs_advm_bak
drwxr-x--- 3 oracle oinstall 4096 May 31 23:10 admin
drwxr-x--- 5 oracle oinstall 4096 May 31 23:16 cfgtoollogs
drwxr-xr-x 2 oracle oinstall 4096 May 31 23:04 checkpoints
drwxrwxr-x 11 oracle oinstall 4096 May 3122:52 diag
drwxr-xr-x 3 oracle oinstall 4096 May 31 22:36 product
[root@JiekeXu01 oracle]# echo "OracleACFS File System" > /u01/app/oracle/acfs_advm1/myfile
[root@JiekeXu01 oracle]# cat /u01/app/oracle/acfs_advm1/myfile
Oracle ACFS File System
[root@JiekeXu01 oracle]#
--节点2 查看
[oracle@JiekeXu02 ~]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 139M 4.5G 3% /stage
/dev/sda2 15G 8.1G 5.8G 59% /u01
tmpfs 4.0G 670M 3.4G 17% /dev/shm
/dev/asm/advm-84 2.0G 137M 1.9G 7% /u01/app/oracle/acfs_advm
/dev/asm/advm1-84 2.0G 73M 2.0G 4% /u01/app/oracle/acfs_advm1
[oracle@JiekeXu02 ~]$
[oracle@JiekeXu02 ~]$ cat /u01/app/oracle/acfs_advm1/myfile
Oracle ACFS File System
[oracle@JiekeXu02 ~]$ cd /u01/app/oracle/acfs_advm1
[oracle@JiekeXu02 acfs_advm1]$ ll
total 68
drwx------ 2 oracle dba 65536 Jun 14 18:00 lost+found
-rw-r--r-- 1 root root 24 Jun 14 18:03 myfile
卷删除命令
voldelete -G ACFS ADVM1
卷禁用、启用、查看命令
voldisable、volenable、volinfo
voldisable { -a | -G diskgroup -a | -G diskgroup volume }
volenable { -a | -G diskgroup -a | -G diskgroup volume }
volinfo { -a | -G diskgroup -a | -G diskgroup volume }volinfo {--show_diskgroup |--show_volume} volumedevice
volstat 显示卷信息
ASMCMD> volstat -G acfs
DISKGROUP NUMBER / NAME: 1 / ACFS
---------------------------------------
VOLUME_NAME
READS BYTES_READ READ_TIME READ_ERRS
WRITES BYTES_WRITTEN WRITE_TIME WRITE_ERRS
-------------------------------------------------------------
ADVM
1003 4937728 3.656 0
1553 7982592 4.982 0
ADVM1
0 0 0 0
0 0 0 0
volset 设置卷属性
volset -G diskgroup [ --usagestring string]
[--mountpath mount_path ]
[--primary {hot|cold}] [--secondary {hot|cold}] volume
ASMCMD> volset -G ACFS --usagestring 'ACFS' ADVM1
ASMCMD> volinfo -G ACFS ADVM1
volresize 调整 Oracle ADVM 卷的大小
volresize -G diskgroup -s size [ -f ] volume
volresize -G ACFS -s 2050M -f ADVM1
ASMCMD> volresize -G ACFS -s 2050M -f ADVM1
ORA-15032: not all alterations performed
ORA-15476: ACFS volumes must be resized with the 'acfsutilsize' operating system command. (DBD ERROR: OCIStmtExecute)
ASMCMD> quit
居然报错提示使用操作系统命令,如下使用acfsutil size +1G /u01/app/oracle/acfs_advm1 命令完成扩容。
[root@JiekeXu01 ACFS_SNAP1]# acfsutil size-h
Usage: acfsutil [-h] size[-|+]nnn[K|M|G|T|P] <path> - Resize file system
[root@JiekeXu01 ACFS_SNAP1]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 3.4G 1.3G 73% /stage
/dev/sda2 15G 13G 1.8G 88% /u01
tmpfs 4.0G 630M 3.4G 16% /dev/shm
/dev/asm/advm-84 2.0G 137M 1.9G 7% /u01/app/oracle/acfs_advm
/dev/asm/advm1-84 2.0G 137M 1.9G 7% /u01/app/oracle/acfs_advm1
[root@JiekeXu01 ACFS_SNAP1]# acfsutil size +3G /u01/app/oracle/acfs_advm1
acfsutil size: new file system size:5368709120 (5120MB)
[root@JiekeXu01 ACFS_SNAP1]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 3.4G 1.3G 73% /stage
/dev/sda2 15G 13G 1.8G 88% /u01
tmpfs 4.0G 630M 3.4G 16% /dev/shm
/dev/asm/advm-84 2.0G 137M 1.9G 7% /u01/app/oracle/acfs_advm
/dev/asm/advm1-84 5.0G 143M 4.9G 3% /u01/app/oracle/acfs_advm1
[root@JiekeXu01 ACFS_SNAP1]# acfsutil size -2G /u01/app/oracle/acfs_advm1
acfsutil size: new file system size:3221225472 (3072MB)
[root@JiekeXu01 ACFS_SNAP1]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 6.8G 3.4G 3.1G 52% /
/dev/sda3 4.9G 3.4G 1.3G 73% /stage
/dev/sda2 15G 13G 1.8G 88% /u01
tmpfs 4.0G 630M 3.4G 16% /dev/shm
/dev/asm/advm-84 2.0G 137M 1.9G 7% /u01/app/oracle/acfs_advm
/dev/asm/advm1-84 3.0G 143M 2.9G 5% /u01/app/oracle/acfs_advm1
更多 ACFS 信息请查看官方文档
https://docs.oracle.com/cd/E11882_01/server.112/e18951/asmfs_util001.htm#OSTMG94787
最后,说明的一点是 Rman 备份数据可以存储在 ASM 里,具体的步骤请查看以下官方文档链接,下边一脚本只是抛砖引玉了。
https://docs.oracle.com/cd/E11882_01/server.112/e18951/asm_rman.htm#OSTMG12121
RUN
{
ALLOCATE CHANNEL dev1 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev2 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev3 DEVICE TYPE DISK;
ALLOCATE CHANNEL dev4 DEVICE TYPE DISK;
BACKUP AS COPY
INCREMENTAL LEVEL 0
DATABASE
FORMAT '+DATA'
TAG 'ORA_ASM_MIGRATION';
}
关于 ACFS 网上一篇翻译也很不错,感兴趣的可以查看。
https://blog.csdn.net/tianlesoftware/article/details/8457494
操作环境说明:操作系统版本:EnterpriseLinux Enterprise Linux Server release 5.4 (Carthage)
数据库版本:11.2.0.3(p10404530),环境均使用 Oracle 用户管理。