前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >关于 Oracle ACFS 相关知识的简单学习

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

作者头像
JiekeXu之路
发布2020-06-16 15:04:45
1.6K0
发布2020-06-16 15:04:45
举报
文章被收录于专栏: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 相关动态视图
代码语言:javascript
复制
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 语句:

代码语言:javascript
复制
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 需要手动创建此目录。

代码语言:javascript
复制
[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

测试一下 节点一复制文件进去,查看节点二是否能够看到。

代码语言:javascript
复制
[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。

代码语言:javascript
复制
[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 卸载掉了。但卸载后两节点挂载点的目录文件还存在,将其重命名或者删除掉。

代码语言:javascript
复制
[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 删除了,如下图所示:

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".

代码语言:javascript
复制
[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.

创建快照并在两节点查看快照

代码语言:javascript
复制
[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
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)
代码语言:javascript
复制
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      

创建卷标准语法

代码语言:javascript
复制
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卷

代码语言:javascript
复制
ASMCMD> volcreate -G ACFS -s 2G ADVM1
ASMCMD> volinfo -G ACFS  ADVM1

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

代码语言:javascript
复制
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

代码语言:javascript
复制
[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

代码语言:javascript
复制
[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 命令挂载文件系统。可以在注册文件系统之前或之后挂载文件系统。如果文件系统已经注册,您可以等待文件系统被自动挂载。

代码语言:javascript
复制
/bin/mount -t acfs /dev/asm/advm1-84/u01/app/oracle/acfs_advm1
chown -R oracle:dba/u01/app/oracle/acfs_advm1

6、在文件系统中创建一个测试文件

代码语言:javascript
复制
echo "Oracle ACFS File System"> /u01/app/oracle/acfs_advm1/myfile

7、列出在文件系统中创建的测试文件的内容。

代码语言:javascript
复制
cat /u01/app/oracle/acfs_advm1/myfile
代码语言:javascript
复制
[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

卷删除命令

代码语言:javascript
复制
voldelete -G ACFS ADVM1

卷禁用、启用、查看命令

voldisable、volenable、volinfo

代码语言:javascript
复制
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 显示卷信息

代码语言:javascript
复制
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 设置卷属性

代码语言:javascript
复制
volset -G diskgroup [ --usagestring string]        
[--mountpath mount_path ]        
[--primary {hot|cold}] [--secondary {hot|cold}] volume
代码语言:javascript
复制
ASMCMD> volset -G ACFS --usagestring 'ACFS' ADVM1
ASMCMD> volinfo -G ACFS ADVM1

volresize 调整 Oracle ADVM 卷的大小

代码语言:javascript
复制
volresize -G diskgroup -s size [ -f ] volume
代码语言:javascript
复制
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 命令完成扩容。

代码语言:javascript
复制
[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 执行 Oracle ASM 数据迁移

最后,说明的一点是 Rman 备份数据可以存储在 ASM 里,具体的步骤请查看以下官方文档链接,下边一脚本只是抛砖引玉了。

https://docs.oracle.com/cd/E11882_01/server.112/e18951/asm_rman.htm#OSTMG12121

代码语言:javascript
复制
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 用户管理。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JiekeXu之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正 文
  • ACFS 相关动态视图
  • Oracle ADVM
  • ACFS 快照(About Oracle ACFSSnapshots)
  • EM 管理 ACFS(Managing Oracle ACFS with Oracle Enterprise Manager)
  • 命令行管理 ACFS (Basic Steps to Manage Oracle ACFSSystems)
  • 使用 RMAN 执行 Oracle ASM 数据迁移
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档