oracle 11g acfs

zhengbao_jun發表於2014-04-01
今天做完了安檢系統的資料庫安裝。因為系統管理員不在,所以除錯上基本一個人完成,比較繞彎。但是oracle的一個特點是,隨著版本的不算升高,安裝方面更趨近於傻瓜化。
僅僅靠安裝資料庫來混資料庫管理員的話,就要快失業了……
原來10G的時候還需要設定ssh,現在資料庫自己就能搞定了。
不過有個問題需要注意一下,我是在安裝的時候,按照以前的文件手工配的ssh,測試也沒問題。但是資料庫的安裝程式總是不讓過,說是測試失敗。困擾我很久。
後來查錯的時候發現,資料庫安裝程式呼叫的用shell是bash,/bin/bash。系統裡沒有,自然找不到。
做了個連結,把ksh連到/bin/bash上,就沒問題了。
ln -s /usr/bin/ksh /bin/bash
然後基本沒有啥大問題了,有也是引數呀什麼的,自己調整一下就OK。打11.2.0.2的補丁的時候,需要先裝一下CPU,11.2.0.1.6應該是裝到11.2.0.1.2以上就OK。然後才能打補丁,最後轉update不然會報錯。那時候再裝會比較麻煩。
安裝注意的問題之後,說一下ASM
11G以後我覺得ASM還是比較好用的,至少比原來的裸裝置要簡單很多,只要把磁碟畫出來就OK了。全部加到ASM裡面讓資料庫自己管理。不用一塊一塊畫裸裝置了。好像現在你想畫裸裝置也不支援。
另外,用ASM的另一個好處是,可以用到免費的並行檔案系統了。
原來的時候如果用並行的檔案系統。AIX上需要買付費的GPFS。
現在只要裝好ASM直接就開塊出來共享就好了。
設定也很簡單。
記下來備忘:
首先開一塊空間出來,按照檔案系統層次來說,就是開個邏輯卷出來。
首先進入ASMCMD
ASMCMD>volcreate -G data -s 50G ssmisvol1(搞個50G大小的)
然後看一下:
ASMCMD>volinfo -a
它會對映到系統裡,形成一個裝置。大體用上面的命令就能看到。
然後在root使用者下面執行:
#acfsutil registry -a /dev/asm/ssmisvol1-103 /ssmiss
這樣據說可以讓這個檔案系統自動裝載。
#mkfs -V acfs /dev/asm/ssmissvol1-103 ssmiss
建立檔案系統
#mount -V acfs /dev/asm/ssmisvol1-103 /ssmiss
安裝檔案系統
這樣就大功告成了。為了保險起見,我又在二號機上也執行了一遍在root下面需要執行的東西。

解除安裝的話,先把檔案系統umount下來。
然後反註冊
#acfsutil registry -d /ssmiss
然後刪除檔案系統
#acfssutil rmfs /dev/asm/ssmisvil1-103
關閉邏輯卷
ASMCMD>voldisable -G data ssmisvol1
刪除邏輯卷:
ASMCMD>voldelete -G data ssmisvol1
搞定!
#fsck -a -v -y -V acfs /dev/asm/ssmisvol1-103
檢查檔案系統。

今天是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>


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/235507/viewspace-1133833/,如需轉載,請註明出處,否則將追究法律責任。

相關文章