欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

使用ASMACFS文件系统

程序员文章站 2022-05-18 10:29:56
...

ACFS是oracle提供的基于ASM的共享文件系统,在11.2版本之上才能使用。可以在安装oracle asm软件的主机上用作共享文件系统,存放归档日志,本地的rman备份等,比单纯放在ASM中更直观,可以使用os上的命令进行检查和操作。下面是简单的用法 1,create DG SQL CRE

ACFS是oracle提供的基于ASM的共享文件系统,在11.2版本之上才能使用。可以在安装oracle asm软件的主机上用作共享文件系统,存放归档日志,本地的rman备份等,比单纯放在ASM中更直观,可以使用os上的命令进行检查和操作。下面是简单的用法

1,create DG
SQL> CREATE DISKGROUP ACFSDG EXTERNAL REDUNDANCY DISK 'ORCL:ASMDISK8' SIZE 4157 M DISK 'ORCL:ASMDISK9' SIZE 4157 M

ATTRIBUTE 'compatible.asm' = '11.2', 'compatible.advm' = '11.2';

2,修改版本,有时候虽然数据库的安装版本是11.2,一些参数版本不是,安装前请检查
alter diskgroup FRA set attribute 'COMPATIBLE.ASM'='11.2';

alter diskgroup FRA set attribute 'compatible.advm'='11.2'

3,如果已有DG,可省略
SQL> ALTER DISKGROUP FRA ADD VOLUME ACFSARCVOL SIZE 100G;

Diskgroup altered.

ASMCMD> volinfo -a
Diskgroup Name: FRA

         Volume Name: ACFSARCVOL
         Volume Device: /dev/asm/acfsarcvol-306
         State: ENABLED
         Size (MB): 102400
         Resize Unit (MB): 256
         Redundancy: UNPROT
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage:
         Mountpath: 

4,挂载文件系统
su - root
mkidr -p /archive
 chown oracle:oinstall /archive
/sbin/mkfs -t acfs -b 4k /dev/asm/acfsarcvol-306
[root@dtydb3 ~]# /sbin/mkfs -t acfs -b 4k /dev/asm/acfsarcvol-306
mkfs.acfs: version                   = 11.2.0.2.0
mkfs.acfs: on-disk version           = 39.0
mkfs.acfs: volume                    = /dev/asm/acfsarcvol-306
mkfs.acfs: volume size               = 107374182400
mkfs.acfs: Format complete.

[root@dtydb3 ~]# /sbin/acfsutil registry -f -a /dev/asm/acfsarcvol-306 /archive
acfsutil registry: mount point /archive successfully added to Oracle Registry
[root@dtydb3 ~]#

[root@dtydb3 ~]# /sbin/mount.acfs -o all

[root@dtydb3 ~]# df -h

/dev/asm/acfsarcvol-306
                      100G  304M  100G   1% /archive

5, 再一次查看信息

ASMCMD> volinfo -a
Diskgroup Name: FRA

         Volume Name: ACFSARCVOL
         Volume Device: /dev/asm/acfsarcvol-306
         State: ENABLED
         Size (MB): 102400
         Resize Unit (MB): 256
         Redundancy: UNPROT
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage: ACFS
         Mountpath: /archive 

如果是rac其它主机也可以看到该文件系统了


6,扩acfs文件系统,resize 大小
su - grid
[grid@dtydb4 ~]$ /sbin/acfsutil size 110G /archive
acfsutil size: new file system size: 118111600640 (112640MB)

[grid@dtydb4 ~]$ df -h /archive
Filesystem            Size  Used Avail Use% Mounted on
/dev/asm/acfsarcvol-306
                      110G  3.5G  107G   4% /archive

7,修改DB_RECOVERY_FILE_DEST_SIZE到acfs上
SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST_SIZE = 10G SCOPE=BOTH SID='*';

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '/backup/flash_recovery_area' SCOPE=BOTH SID='*';

如果不使用acfs,而是默认备份到ASM磁盘组FRA中,使用如下命令

SQL> ALTER SYSTEM SET DB_RECOVERY_FILE_DEST = '+FRA' SCOPE=BOTH SID='*';

参考文档

How To Resize An ACFS Filesystem/ASM Volume (ADVM) [ID 1173978.1]
How To Create A New ACFS Volume & Filesystem And Set The ACFS Filesystem Ownership To A Non-Grid/Oracle OS User? [ID 1322383.1]
http://docs.oracle.com/cd/E18283_01/server.112/e16102/asmfs_util001.htm#BABGBDFH

附录:

1)删除acfs,官方的文档,可以参考下

To permanently remove a volume and Oracle ACFS file system, perform the following steps. These steps destroy the data in the file system.

Deregister the file system with acfsutil registry -d.

For example:

$ /sbin/acfsutil registry -d /oracle/acfsmounts/acfs1
acfsutil registry: successfully removed ACFS mount point
/oracle/acfsmounts/acfs1 from Oracle Registry

For information about running acfsutil registry, see "acfsutil registry".

Dismount the file system.

For example:

# /bin/umount /oracle/acfsmounts/acfs1

You must dismount the file system on all nodes of a cluster.

Use umount on Linux systems or acfsdismount on Windows systems. For information about running umount or acfsdismount, see "umount" or "acfsdismount".

Remove the file system with acfsutil rmfs.

If you were not planning to remove the volume in a later step, this step is necessary to remove the file system. Otherwise, the file system is removed when the volume is deleted.

For example:

$ /sbin/acfsutil rmfs /dev/asm/volume1-123

For information about running acfsutil rmfs, see "acfsutil rmfs".

Optionally you can disable the volume with the ASMCMD voldisable command.

For example:

ASMCMD> voldisable -G data volume1

For information about running voldisable, see "voldisable".

Delete the volume with the ASMCMD voldelete command.

For example:

ASMCMD> voldelete -G data volume1

For information about running voldelete, see "voldelete".

2)如何手工启动acfs


In this Document
Symptoms
Changes
Cause
Solution
References

Applies to:
Oracle Server - Enterprise Edition - Version 11.2.0.2 and later
Information in this document applies to any platform.
Symptoms

ora.registry.acfs show offline and will not auto start

it is started on other node
Changes

restart of cluster
Cause

ACFS driver did not start on this node


Solution

manually start it using:

a) Start the ACFS driver manually

${GRID_HOME}/bin/acfsload start -s

b) Enable Volume in ASM instance.

ALTER DISKGROUP ENABLE VOLUME ;

( which you have created for ACFS/third party file system)

c) Mount volume as root

use your path in below example

mount -t acfs -rw /dev/asm/acfs01_db1-432 /oracle/bkup01

d) View filesystems as root

acfsutil info fs