查看原文
其他

关于 Oracle ACFS 相关知识的简单学习

JiekeXu JiekeXu DBA之路 2024-03-03

作者 | JiekeXu

来源 | JiekeXu之路(ID: JiekeXu_IT)

转载请联系授权 | (微信ID:xxq1426321293)

大家好,我是 JiekeXu,很高兴又和大家见面了,今天分享下 关于 Oracle ACFS 相关知识的简单学习。本文首发于微信公众号【JiekeXu之路】,欢迎点击上方蓝字关注我吧!


前  言


前些日子,由于备考 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

 

ACFS 相关动态视图

 

V$ASM_ACFS_ENCRYPTION_INFOV$ASM_ACFS_SECURITY_INFOV$ASM_ACFSSNAPSHOTSV$ASM_ACFSVOLUMESV$ASM_FILESYSTEMV$ASM_VOLUMEV$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 ADVM


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 allmount.acfs:CLSU-00100: Operating System function: open64 failed with error data: 2mount.acfs:CLSU-00101: Operating System error message: No such file or directorymount.acfs:CLSU-00103: error location: OOF_1mount.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 -hFilesystem 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% /u01tmpfs 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]# lltotal 2676-rw------- 1 rootroot 2408448 Jun 14 15:32 core.5567drwx------ 2 rootroot 65536 Jun 14 15:22 lost+found[oracle@JiekeXu02~]$ cd /u01/app/oracle/acfs_advm[oracle@JiekeXu02acfs_advm]$ lltotal 2676-rw------- 1 rootroot 2408448 Jun 14 15:32 core.5567drwx------ 2 rootroot 65536 Jun 14 15:22 lost+found


创建成功后,可以查看大小 mount、dismount、resize 等

 


使用 root 用户将其卸载,注意两节点均要 umount。



[oracle@JiekeXu01 ~]$ df -hFilesystem 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% /u01tmpfs 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 -hFilesystem 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% /u01tmpfs 4.0G 630M 3.4G 16% /dev/shm


节点 2 卸载时出现磁盘繁忙的错误,需要使用 lsof 或者 fuser 命令确认相关的进行并 kill掉,然后便可以 umount 卸载掉了。但卸载后两节点挂载点的目录文件还存在,将其重命名或者删除掉。

 

[root@JiekeXu02 ~]# /bin/umount /dev/asm/advm-84umount: /u01/app/oracle/acfs_advm: device is busyumount: /u01/app/oracle/acfs_advm: device is busyumount: /u01/app/oracle/acfs_advm: device is busyumount: /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-84COMMAND PID USER FD TYPE DEVICE SIZE NODE NAMEbash    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 -hFilesystem 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% /u01tmpfs                 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 24Kdrwxr-xr-x 2 root root 4.0K May 31 22:16 acfs_advm_bakdrwxr-x--- 3 oracle oinstall4.0K May 31 23:10 admindrwxr-x--- 5 oracle oinstall4.0K May 31 23:16 cfgtoollogsdrwxr-xr-x 2 oracle oinstall4.0K May 31 23:04 checkpointsdrwxrwxr-x 11 oracle oinstall 4.0K May 31 22:52 diagdrwxr-xr-x 3 oracle oinstall4.0K May 31 22:36 product


当卸载完成后便可以delete 删除了,如下图所示:

 


ACFS 快照(About Oracle ACFSSnapshots)


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 -hUsage: 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/snapstotal 8drwxr-xr-x 4 root root 4096 Jun 14 16:25 ACFS_SNAP1drwxr-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_SNAP1total 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 -latotal 2684drwxr-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.5567drwx------ 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 -ltotal 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_SNAP1total 2612-rw------- 1 root root 2408448 Jun 14 15:32 core.5567?--------- ? ? ? ? ? lost+found


EM 管理 ACFS(Managing Oracle ACFS with Oracle Enterprise Manager)


官方在线文档很是详细,这里就不用说明了。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

 

命令行管理 ACFS (Basic Steps to Manage Oracle ACFSSystems)

 

asmcmdASMCMD> lsdgState Type Rebal Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files NameMOUNTED 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 0 7438 0 N FFRA/

 

创建卷标准语法


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 ADVM1ASMCMD> volinfo -G ACFS ADVM1


 

2、确定创建的卷的设备名称

ASMCMD> volinfo -G acfs advm1Diskgroup 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-84mkfs.acfs: version = 11.2.0.3.0mkfs.acfs: on-disk version = 39.0mkfs.acfs: volume = /dev/asm/advm1-84mkfs.acfs: volume size = 2147483648mkfs.acfs: Format complete.[root@JiekeXu01 ~]# df -hFilesystem 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% /u01tmpfs 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_advm1acfsutil registry: mount point/u01/app/oracle/acfs_advm1 successfully added to Oracle Registry[root@JiekeXu01 ~]# df -hFilesystem 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% /u01tmpfs 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_advm1chown -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 -hFilesystem 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% /u01tmpfs 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]# lltotal 32drwxr-xr-x 4 root root 4096 Jun 14 15:32 acfs_advmdrwxrwx--- 4 root dba 4096 Jun 14 18:00 acfs_advm1drwxr-xr-x 2 root root 4096 May 31 22:16 acfs_advm_bakdrwxr-x--- 3 oracle oinstall 4096 May 31 23:10 admindrwxr-x--- 5 oracle oinstall 4096 May 31 23:16 cfgtoollogsdrwxr-xr-x 2 oracle oinstall 4096 May 31 23:04 checkpointsdrwxrwxr-x 11 oracle oinstall 4096 May 3122:52 diagdrwxr-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]# lltotal 32drwxr-xr-x 4 root root 4096 Jun 14 15:32 acfs_advmdrwxrwx--- 4 oracle dba 4096 Jun 1418:00 acfs_advm1drwxr-xr-x 2 root root 4096 May 31 22:16 acfs_advm_bakdrwxr-x--- 3 oracle oinstall 4096 May 31 23:10 admindrwxr-x--- 5 oracle oinstall 4096 May 31 23:16 cfgtoollogsdrwxr-xr-x 2 oracle oinstall 4096 May 31 23:04 checkpointsdrwxrwxr-x 11 oracle oinstall 4096 May 3122:52 diagdrwxr-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/myfileOracle ACFS File System[root@JiekeXu01 oracle]#
--节点2 查看[oracle@JiekeXu02 ~]$ df -hFilesystem 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% /u01tmpfs 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/myfileOracle ACFS File System[oracle@JiekeXu02 ~]$ cd /u01/app/oracle/acfs_advm1[oracle@JiekeXu02 acfs_advm1]$ lltotal 68drwx------ 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

 

卷禁用、启用、查看命令

voldisablevolenablevolinfo


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' ADVM1ASMCMD> 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-hUsage: acfsutil [-h] size[-|+]nnn[K|M|G|T|P] <path> - Resize file system[root@JiekeXu01 ACFS_SNAP1]# df -hFilesystem 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% /u01tmpfs 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_advm1acfsutil size: new file system size:5368709120 (5120MB)[root@JiekeXu01 ACFS_SNAP1]# df -hFilesystem 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% /u01tmpfs 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_advm1acfsutil size: new file system size:3221225472 (3072MB)[root@JiekeXu01 ACFS_SNAP1]# df -hFilesystem 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% /u01tmpfs 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 执行 Oracle ASM 数据迁移


最后,说明的一点是 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 用户管理。


 

好了,到这里就告一段落了,写作不易,此文如果对你有帮助,请支持点“在看”与转发,您的支持便是我不断写作的最大的动力,让我们一起努力做更好的自己!




Oracle 11GR2 RAC 最新补丁 190416 安装指导

你该知道的 Oracle 认证那些事儿(送 OCP 题库)

三万字打造 91 道 MySQL 面试题【建议收藏】

Oracle 软件包及补丁包免费下载及简单说明

Oracle ASM 磁盘组基础知识整理(收藏版)

Oracle 12C 最新补丁下载与安装操作指北

Oracle 12CR2 安装配置与基础学习

Windows 环境下安装 Oracle 19C


点亮在看,你最好看!

继续滑动看下一个

关于 Oracle ACFS 相关知识的简单学习

JiekeXu JiekeXu DBA之路
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存