程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracleacfs基本知識。

oracleacfs基本知識。

編輯:Oracle教程

今天是2014-03-13,學習一下acfs基本知識。

oracle acfs 簡介:
Oracle Automatic Storage Management Cluster File System (Oracle ACFS) is a multi-platform, scalable file system, and storage management technology that extends Oracle Automatic Storage Management (Oracle ASM) functionality to support customer files maintained outside of Oracle Database. Oracle ACFS supports many database and application files, including executables, database trace files, database alert logs, application reports, BFILEs, and configuration files. Other supported files are video, audio, text, images, engineering drawings, and other general-purpose application file data.
一、創建acfs文件系統:
1)創建acfs文件系統的前提要求是:
數據庫版本為11G R2,已經安裝了gi和asm實例且存在磁盤組,磁盤組的屬性compatible.asm 是11.2之上,另外compatible.advm為11.2之上
2)創建邏輯卷
在創建acfs文件系統之前需要先創建動態卷(advm),注意在創建動態卷之前必須要加載acfs 文件系統驅動,否則會報錯。如果啟動acfs volume driver需要使用root權限進行啟動。啟動之後即可創建卷組。
eg:

SQL> alter diskgroup datagroup2 add volume acfsvol0 size 512M;
alter diskgroup datagroup2 add volume acfsvol0 size 512M
*
ERROR at line 1:
ORA-15032: not all alterations performed
ORA-15477: cannot communicate with the volume driver


SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option
-bash-4.1$ cd $ORACLE_HOME
-bash-4.1$ cd bin/
-bash-4.1$ ./acfsload start
ACFS-9130: Root access required
[root@oracle-one ~]# /ginf/grid/product/11.2.0/grid_1/bin/acfsload start
ACFS-9391: Checking for existing ADVM/ACFS installation.
ACFS-9392: Validating ADVM/ACFS installation files for operating system.
ACFS-9393: Verifying ASM Administrator setup.
ACFS-9308: Loading installed ADVM/ACFS drivers.
ACFS-9154: Loading 'oracleoks.ko' driver.
ACFS-9154: Loading 'oracleadvm.ko' driver.
ACFS-9154: Loading 'oracleacfs.ko' driver.
ACFS-9327: Verifying ADVM/ACFS devices.
ACFS-9156: Detecting control device '/dev/asm/.asm_ctl_spec'.
ACFS-9156: Detecting control device '/dev/ofsctl'.
ACFS-9322: completed
[root@oracle-one ~]# 
-bash-4.1$ sqlplus / as sysasm

SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 13 15:05:24 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option

SQL> alter diskgroup datagroup2 add volume acfsvol0 size 512M;

Diskgroup altered.

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option
-bash-4.1$ asmcmd -p
ASMCMD [+] > volcreate -G datagroup2 -s 512M acfsvol1    
ASMCMD [+] > volinfo -G datagroup2 -a
Diskgroup Name: DATAGROUP2

         Volume Name: ACFSVOL0
         Volume Device: /dev/asm/acfsvol0-142
         State: ENABLED
         Size (MB): 512
         Resize Unit (MB): 32
         Redundancy: MIRROR
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage: 
         Mountpath: 

         Volume Name: ACFSVOL1
         Volume Device: /dev/asm/acfsvol1-142
         State: ENABLED
         Size (MB): 512
         Resize Unit (MB): 32
         Redundancy: MIRROR
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage: 
         Mountpath: 

ASMCMD [+] > 

查看卷組信息:

SQL> set linesize 200
SQL> col volume_device for a50
SQL> col volume_name for a40
SQL> select volume_name,size_mb,state,volume_device from v$asm_volume;

VOLUME_NAME                                 SIZE_MB STATE    VOLUME_DEVICE
---------------------------------------- ---------- -------- --------------------------------------------------
ACFSVOL1                                        512 ENABLED  /dev/asm/acfsvol1-142
ACFSVOL0                                        512 ENABLED  /dev/asm/acfsvol0-142

SQL> 


3)格式化文件系統為acfs

eg:

[root@oracle-one ~]# /sbin/mkfs -t acfs -n acfsvol0 /dev/asm/acfsvol0-142 
mkfs.acfs: version                   = 11.2.0.4.0
mkfs.acfs: on-disk version           = 39.0
mkfs.acfs: volume                    = /dev/asm/acfsvol0-142
mkfs.acfs: volume size               = 536870912
mkfs.acfs: Format complete.
[root@oracle-one ~]# /sbin/mkfs -t acfs -n acfsvol1 /dev/asm/acfsvol1-142 
mkfs.acfs: version                   = 11.2.0.4.0
mkfs.acfs: on-disk version           = 39.0
mkfs.acfs: volume                    = /dev/asm/acfsvol1-142
mkfs.acfs: volume size               = 536870912
mkfs.acfs: Format complete.
[root@oracle-one ~]# 


4)注冊acfs文件系統信息;

[root@oracle-one ~]# mkdir -p /ginf/grid/acfs
acfssystem/ acfsvolume/ 
[root@oracle-one ~]# mkdir -p /ginf/grid/acfssystem/acfsvol0
You have new mail in /var/spool/mail/root
[root@oracle-one ~]# mkdir -p /ginf/grid/acfssystem/acfsvol1
[root@oracle-one ~]# /sbin/acfsutil registry -a -f /dev/asm/acfsvol0-142 /ginf/grid/acfssystem/acfsvol0
acfsutil registry: mount point /ginf/grid/acfssystem/acfsvol0 successfully added to Oracle Registry
[root@oracle-one ~]# /sbin/acfsutil registry -a -f /dev/asm/acfsvol1-142 /ginf/grid/acfssystem/acfsvol1
acfsutil registry: mount point /ginf/grid/acfssystem/acfsvol1 successfully added to Oracle Registry
[root@oracle-one ~]# 

5)掛在acfs文件信息:

[root@oracle-one ~]# mount.acfs -o all
[root@oracle-one ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_oracleone-lv_root
                      5.0G  3.9G  876M  82% /
tmpfs                 1.0G   83M  942M   9% /dev/shm
/dev/sda1             485M   55M  405M  12% /boot
/dev/mapper/vg_oracleone-LogVol02
                      5.0G  2.2G  2.6G  46% /home
/dev/mapper/vg_oracleone-LogVol03
                       13G  7.0G  4.8G  60% /opt
/dev/sdf1             5.0G  139M  4.6G   3% /tmp
/dev/sdg1              16G  4.3G   11G  29% /ginf
/dev/asm/acfsvol0-142
                      512M   40M  473M   8% /ginf/grid/acfssystem/acfsvol0
/dev/asm/acfsvol1-142
                      512M   40M  473M   8% /ginf/grid/acfssystem/acfsvol1
[root@oracle-one ~]# 

至此acfs文件系統創建完成。

二)動態擴展acfs文件系統。
acfs可以支持卷組的動態擴展類似aix的chfs -a size=xx directory,只要磁盤組有足夠的空間就可進行動態擴展。
eg:

-bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 13 15:23:53 2014

Copyright (c) 1982, 2013, Oracle.  All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option

SQL> col volume_device for a50
SQL> col volume_name for a40
SQL> set linesize 200
SQL> select volume_name,size_mb,state,volume_device from v$asm_volume;

VOLUME_NAME                                 SIZE_MB STATE    VOLUME_DEVICE
---------------------------------------- ---------- -------- --------------------------------------------------
ACFSVOL1                                        512 ENABLED  /dev/asm/acfsvol1-142
ACFSVOL0                                        512 ENABLED  /dev/asm/acfsvol0-142

SQL> select name ,state,type,total_mb,free_mb from v$asm_diskgroup;

NAME                           STATE       TYPE     TOTAL_MB    FREE_MB
------------------------------ ----------- ------ ---------- ----------
DATAGROUP1                     MOUNTED     NORMAL      16376       9758
DATAGROUP2                     MOUNTED     NORMAL       8188       5946
DATAGROUP3                     MOUNTED     NORMAL       4076       3966

SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option
-bash-4.1$ exit
[root@oracle-one ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_oracleone-lv_root
                      5.0G  3.9G  876M  82% /
tmpfs                 1.0G   83M  942M   9% /dev/shm
/dev/sda1             485M   55M  405M  12% /boot
/dev/mapper/vg_oracleone-LogVol02
                      5.0G  2.2G  2.6G  46% /home
/dev/mapper/vg_oracleone-LogVol03
                       13G  7.0G  4.8G  60% /opt
/dev/sdf1             5.0G  139M  4.6G   3% /tmp
/dev/sdg1              16G  4.3G   11G  29% /ginf
/dev/asm/acfsvol0-142
                      512M   40M  473M   8% /ginf/grid/acfssystem/acfsvol0
/dev/asm/acfsvol1-142
                      512M   40M  473M   8% /ginf/grid/acfssystem/acfsvol1
[root@oracle-one ~]# acfsutil size +512m /ginf/grid/acfssystem/acfsvol0
acfsutil size: new file system size: 1073741824 (1024MB)
[root@oracle-one ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_oracleone-lv_root
                      5.0G  3.9G  876M  82% /
tmpfs                 1.0G   83M  942M   9% /dev/shm
/dev/sda1             485M   55M  405M  12% /boot
/dev/mapper/vg_oracleone-LogVol02
                      5.0G  2.2G  2.6G  46% /home
/dev/mapper/vg_oracleone-LogVol03
                       13G  7.0G  4.8G  60% /opt
/dev/sdf1             5.0G  139M  4.6G   3% /tmp
/dev/sdg1              16G  4.3G   11G  29% /ginf
/dev/asm/acfsvol0-142
                      1.0G   41M  984M   4% /ginf/grid/acfssystem/acfsvol0
/dev/asm/acfsvol1-142
                      512M   40M  473M   8% /ginf/grid/acfssystem/acfsvol1
[root@oracle-one ~]# 

另外還可以動態縮小:

eg:

[root@oracle-one ~]# acfsutil size -512M /ginf/grid/acfssystem/acfsvol0

acfsutil size: new file system size: 536870912 (512MB)
[root@oracle-one ~]# 
[root@oracle-one ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_oracleone-lv_root
                      5.0G  3.9G  876M  82% /
tmpfs                 1.0G   83M  942M   9% /dev/shm
/dev/sda1             485M   55M  405M  12% /boot
/dev/mapper/vg_oracleone-LogVol02
                      5.0G  2.2G  2.6G  46% /home
/dev/mapper/vg_oracleone-LogVol03
                       13G  7.0G  4.8G  60% /opt
/dev/sdf1             5.0G  139M  4.6G   3% /tmp
/dev/sdg1              16G  4.3G   11G  29% /ginf
/dev/asm/acfsvol0-142
                      512M   41M  472M   8% /ginf/grid/acfssystem/acfsvol0
/dev/asm/acfsvol1-142
                      512M   40M  473M   8% /ginf/grid/acfssystem/acfsvol1
[root@oracle-one ~]# 

三)查看acfs文件系統信息:
可以通過v$asm_diskgroup,v$asm_volume,v$asm_acfsvolume進行信息查看

SQL> col vol_label for a20
SQL> col fs_name for a40
SQL> select * from v$asm_acfsvolumes;

FS_NAME                                  VOL_DEVICE                               VOL_LABEL            PRIMA   TOTAL_MB    FREE_MB
---------------------------------------- ---------------------------------------- -------------------- ----- ---------- ----------
/ginf/grid/acfssystem/acfsvol0           /dev/asm/acfsvol0-142                    acfsvol0             TRUE         512 471.742188
/ginf/grid/acfssystem/acfsvol1           /dev/asm/acfsvol1-142                    acfsvol1             TRUE         512 472.742188

SQL> 

通過asmcmd查看:

ASMCMD [+] > volinfo -G datagroup2 -a
Diskgroup Name: DATAGROUP2

         Volume Name: ACFSVOL0
         Volume Device: /dev/asm/acfsvol0-142
         State: ENABLED
         Size (MB): 512
         Resize Unit (MB): 32
         Redundancy: MIRROR
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage: ACFS
         Mountpath: /ginf/grid/acfssystem/acfsvol0 

         Volume Name: ACFSVOL1
         Volume Device: /dev/asm/acfsvol1-142
         State: ENABLED
         Size (MB): 512
         Resize Unit (MB): 32
         Redundancy: MIRROR
         Stripe Columns: 4
         Stripe Width (K): 128
         Usage: ACFS
         Mountpath: /ginf/grid/acfssystem/acfsvol1 

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  NORMAL  N         512   4096  1048576     16376     9758             4094            2832              0             N  DATAGROUP1/
MOUNTED  NORMAL  N         512   4096  1048576      8188     5946                0            2973              0             N  DATAGROUP2/
MOUNTED  NORMAL  N         512   4096  1048576      4076     3966             1019            1473              0             N  DATAGROUP3/
ASMCMD [+] > 

另外還有一個與acfs文件系統交互的命令acfsutl
eg:

[root@oracle-one ~]# acfsutil info fs
/ginf/grid/acfssystem/acfsvol0
    ACFS Version: 11.2.0.4.0
    flags:        MountPoint,Available
    mount time:   Thu Mar 13 15:15:52 2014
    volumes:      1
    total size:   536870912
    total free:   494657536
    primary volume: /dev/asm/acfsvol0-142
        label:                 acfsvol0
        flags:                 Primary,Available,ADVM
        on-disk version:       39.0
        allocation unit:       4096
        major, minor:          251, 72707
        size:                  536870912
        free:                  494657536
        ADVM diskgroup         DATAGROUP2
        ADVM resize increment: 33554432
        ADVM redundancy:       mirror
        ADVM stripe columns:   4
        ADVM stripe width:     131072
        compatible.advm:       11.2.0.0.0
    number of snapshots:  0
    snapshot space usage: 0
    replication status: DISABLED

/ginf/grid/acfssystem/acfsvol1
    ACFS Version: 11.2.0.4.0
    flags:        MountPoint,Available
    mount time:   Thu Mar 13 15:15:53 2014
    volumes:      1
    total size:   536870912
    total free:   495706112
    primary volume: /dev/asm/acfsvol1-142
        label:                 acfsvol1
        flags:                 Primary,Available,ADVM
        on-disk version:       39.0
        allocation unit:       4096
        major, minor:          251, 72706
        size:                  536870912
        free:                  495706112
        ADVM diskgroup         DATAGROUP2
        ADVM resize increment: 33554432
        ADVM redundancy:       mirror
        ADVM stripe columns:   4
        ADVM stripe width:     131072
    number of snapshots:  0
    snapshot space usage: 0
    replication status: DISABLED
[root@oracle-one ~]# 


四)創建文件系統快照保護。
其實創建快照就是類似cp的過程。eg:

root@oracle-one acfsvol0]# dd if=/dev/zero of=./test.log bs=100M count=1;
1+0 records in
1+0 records out
104857600 bytes (105 MB) copied, 0.28981 s, 362 MB/s
[root@oracle-one acfsvol0]# ls -l
total 107584
drwx------ 2 root root     65536 Mar 13 15:15 lost+found
-rw-r--r-- 1 root root 104857600 Mar 13 15:35 test.log
[root@oracle-one acfsvol0]# pwd
/ginf/grid/acfssystem/acfsvol0
[root@oracle-one acfsvol0]# acfsutil snap create acfsvol0_bak /ginf/grid/acfssystem/acfsvol0
acfsutil snap create: Snapshot operation is complete.
[root@oracle-one acfsvol0]# cd .ACFS
[root@oracle-one .ACFS]# ls
repl  snaps
[root@oracle-one .ACFS]# cd snaps/
[root@oracle-one snaps]# pwd
/ginf/grid/acfssystem/acfsvol0/.ACFS/snaps
[root@oracle-one snaps]# ls -l
total 4
drwxr-xr-x 4 root root 4096 Mar 13 15:36 acfsvol0_bak
[root@oracle-one snaps]# cd acfsvol0_bak/
[root@oracle-one acfsvol0_bak]# ls -l
ls: cannot access lost+found: Permission denied
total 107520
d????????? ? ?    ?            ?            ? lost+found
-rw-r--r-- 1 root root 104857600 Mar 13 15:35 test.log
[root@oracle-one acfsvol0_bak]# pwd
/ginf/grid/acfssystem/acfsvol0/.ACFS/snaps/acfsvol0_bak
[root@oracle-one acfsvol0_bak]# ls -h
ls: cannot access lost+found: Permission denied
lost+found  test.log
[root@oracle-one acfsvol0_bak]# 

刪除acfs文件系統快照
eg:

[root@oracle-one snaps]# ls
acfsvol0_bak
[root@oracle-one snaps]# acfsutil snap delete acfsvol0_bak /ginf/grid/acfssystem/acfsvol0
acfsutil snap delete: Snapshot operation is complete.
[root@oracle-one snaps]# ls
[root@oracle-one snaps]# 

五)卸載acfs文件系統:
1、取消acfs文件系統的注冊

[root@oracle-one snaps]# acfsutil registry -d /ginf/grid/acfssystem/acfsvol0
acfsutil registry: successfully removed ACFS mount point /ginf/grid/acfssystem/acfsvol0 from Oracle Registry
[root@oracle-one snaps]# acfsutil registry -d /ginf/grid/acfssystem/acfsvol1
acfsutil registry: successfully removed ACFS mount point /ginf/grid/acfssystem/acfsvol1 from Oracle Registry
[root@oracle-one snaps]# 


2、卸載acfs卷
[root@oracle-one ~]# umount -t acfs -a
[root@oracle-one ~]#
如果卸載單個卷umount -t acfs /directory
3、刪除acfs
eg:
[root@oracle-one ~]# acfsutil rmfs /dev/asm/acfsvol0-142
[root@oracle-one ~]# acfsutil rmfs /dev/asm/acfsvol1-142
[root@oracle-one ~]#
4、disable 卷組並 刪除卷組:
eg:
-bash-4.1$ asmcmd voldisable -G datagroup2 -a
-bash-4.1$ asmcmd voldelete -G datagroup2 acfsvol0
-bash-4.1$ asmcmd voldelete -G datagroup2 acfsvol1
-bash-4.1$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Thu Mar 13 15:44:50 2014

Copyright (c) 1982, 2013, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Automatic Storage Management option

SQL> select * from v$asm_volume;

no rows selected

SQL> select * from v$asm_acfsvolumes;

no rows selected

SQL>

that‘s all!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved