oracle-asm,acfs

 

两个类比
asm与lvm比较
asm实例与oracle实例比较

ASM是OMF的一个扩展,通过ASM和OMF的结合,oracle在上层将数据文件进行自我管理,在底层将存储进行自我管理。同时,ASM模式下,备份恢复只能由rman来承担,真正做到了“3M融合”。同时也是向上兼容的体现,简化RAC中存储端的配置。

oracle将extents播撒在它所管理的磁盘组的磁盘上,与LVM基本对应。
ASM diskgroup          VG
ASM disk            PV
ASM file              LV

ASM实例和oracle实例都是由SGA和一堆后台进程构成,但他们所面对的对象是不同的,oracle实例管理的是数据库,而ASM实例用于对磁盘组的管理。
启动和停止实例的命令也基本一样。
 NOMOUNT :仅启动实例
 MOUNT 、OPEN:启动实例并加载磁盘,注意加载的是磁盘组,OPEN选项对于ASM实例无意义,等同于MOUNT
 FORCE :相当于先执行shutdown abort,然后再startup
但是,ASM 实例没有数据字典之类的东东存储用户系统。

 

[root@rac02 ~]# acfsutil --help



Usage: acfsutil [-h] command ...   # (Version 11.2.0.1.0.0)



             -h - help



 Command Subcmd Arguments

-------- ------ ----------------------------------------------------------------

    help                                 - display this message

 version                                 - display ACFS version information

    info fs                              - Display all ACFS file systems

    info fs     [<path> ...]             - Display specific ACFS file sys

    info fs     -o <item> <path>         - Display specific file sys item:

    info fs     -o                           freespace,    totalspace,

    info fs     -o                           mountpoints,  volumes,

    info fs     -o                           available,    ismountpoint,

    info fs     -o                           isavailable,  iscorrupt,

    info fs     -o                           isadvm,       diskgroup,

    info fs     -o                           redundancy,   resizeincrement,

    info fs     -o                           stripewidth,  stripecolumns,

    info fs     -o                           primaryvolume

    info file   <path> [<path> ...]      - Display specific file info

    info id     <file-identifier> <mountpoint> -

    info id           Display the pathname associated with the given

    info id           ACFS file identifier and mountpoint.

    rmfs        <device>                 - Remove unmounted ACFS file sys

    size        [-|+]nnn[K|M|G|T|P] [-d <device>] <path> - Resize file system

registry        [-l]                     - Display registry contents

registry        -l <mountpoint>          - Display a specific mount point

registry        -l <device>              - Display a specific device

registry        -m <device>              - Display a specific mount point associated with a device

registry        -a [-f] [-o <opts>] [-n <nodes>] <device> <mountpoint> - Add a mount point

registry        -d [<mountpoint> | <device>] - Delete a mount point or a device

    tune        AcfsMaxOpenFiles         - Maximum number of open files

    tune                                   (Windows only)

    snap create <snap_name> <mountpoint> - create a file system snapshot

    snap delete <snap_name> <mountpoint> - delete a file system snapshot

[root@rac02 ~]# acfsutil registry -l

Device : /dev/asm/archlv-215 : Mount Point : /archive : Options : none : Nodes : all : Disk Group : ARCH : Volume : ARCHLV

[root@rac02 ~]# acfsutil info fs

/archive

    ACFS Version: 11.2.0.1.0.0

    flags:        MountPoint,Available

    mount time:   Wed Nov 19 16:22:33 2014

    volumes:      1

    total size:   107105746944

    total free:   65709084672

    primary volume: /dev/asm/archlv-215

        label:

        flags:                 Primary,Available,ADVM

        on-disk version:       39.0

        allocation unit:       4096

        major, minor:          252, 110081

        size:                  107105746944

        free:                  65709084672

        ADVM diskgroup         ARCH

        ADVM resize increment: 268435456

        ADVM redundancy:       unprotected

        ADVM stripe columns:   4

        ADVM stripe width:     131072

    number of snapshots:  0

    snapshot space usage: 0


####oracle ASM     安装这三个包
[root@rac01 /]# rpm -qa|grep oracl
oracleasm-2.6.18-308.el5-2.0.5-1.el5
oracleasm-support-2.1.8-1.el5
oracleasmlib-2.0.4-1.el5
[root@rac01 /]# find / -name oracleasm
/sys/module/oracleasm
/lib/modules/2.6.18-308.el5/kernel/drivers/addon/oracleasm
/proc/fs/oracleasm
/usr/lib/oracleasm
/usr/sbin/oracleasm
/etc/rc.d/init.d/oracleasm
/etc/sysconfig/oracleasm
/dev/oracleasm
/var/log/oracleasm

####配置ASMlib,再使用ASMlib之前,必须运行配置脚本准备驱动程序
/etc/init.d/oracleasm configure
/etc/init.d/oracleasm enable
####检查驱动加载情况
[root@rac01 dev]# lsmod | grep oracleasm
检查oracleasmfs文件系统:
[root@rac01 ~]# df -a |head -1;df -a | grep oracleasm
asm disk创建成功后,会在/dev/oracleasm/disks目录下有相应的文件
[root@rac01 ~]# cat /var/log/oracleasm 及时查看日志 创建asm磁盘 [root@rac01
~]# fdisk -l [root@rac01 ~]# fdisk /dev/sdf
[root@rac01 ~]# partprobe [root@rac01
~]# oracleasm --help [root@rac01 ~]# oracleasm createdisk ARCHVOL1 /dev/sde1 [root@rac01 ~]# oracleasm createdisk CRSVOL1 /dev/sdc1 [root@rac01 ~]# oracleasm createdisk DATAVOL1 /dev/sdf1 [root@rac01 ~]# oracleasm createdisk FLASHVOL1 /dev/sdd1
[root@rac01 ~]# oracleasm scandisks [root@rac02
~]# oracleasm listdisks ARCHVOL1 CRSVOL1 DATAVOL1 FLASHVOL1 [root@rac02 ~]# oracleasm querydisk -p ARCHVOL1
Disk "ARCHVOL1" is a valid ASM disk
/dev/sde1: LABEL="ARCHVOL1" TYPE="oracleasm"
[root@rac01 ~]# oracleasm querydisk -d ARCHVOL1
Disk "ARCHVOL1" is a valid ASM disk on device /dev/sde1[8,65]
[root@rac01 ~]# oracleasm querydisk -d CRSVOL1
Disk "CRSVOL1" is a valid ASM disk on device /dev/sdc1[8,33]
[root@rac01 ~]# oracleasm querydisk -d DATAVOL1
Disk "DATAVOL1" is a valid ASM disk on device /dev/sdf1[8,81]
[root@rac01 ~]# oracleasm querydisk -d FLASHVOL1
Disk "FLASHVOL1" is a valid ASM disk on device /dev/sdd1[8,49]
SQL> select * from v$asm_client;
SQL> select * from v$asm_diskgroup;    4块盘,4个磁盘组
http://blog.csdn.net/leshami/article/details/6134071         ASM 磁盘、目录的管理
创建asm磁盘组 切换到 grid 用户下,执行 ASMCA 创建 ASM 磁盘组 要在 ASM diskgroup 上创建 Oracle ADVM volume,diskgroup 的 COMPATIBLE.ASM和COMPATIBLE.ADVM兼容性必须 设置为
11.2.0.2。 可以在创建磁盘组时选择“Advanced Options”设置diskgroup的该属性,也可以通过 sql 命令创建磁盘组或者修改磁盘组的该属性, 创建Oracle ADVM volume ASMCMD [+] > volcreate -G GOLDENGATE -s 1900m GOLDENGATE 创建Oracle ACFS 文件系统 [root@rac1 ~]# /sbin/mkfs -t acfs /dev/asm/goldengate-257 在节点1和2上分别创建 ACFS 文件系统的挂载点 在集群 mount registery 中注册刚刚创建的 ACFS 文件系统,也可以不注册,直接手动挂载。注册 ACFS 文件系统的好处是在集群每隔30秒检查 mount registery 时会在每个节点自动挂载该文件系统,同时当集群软件或系统重启后也会自动挂载该文件系统。 [root@rac1 ~]# /sbin/acfsutil registry -a /dev/asm/goldengate-257 /home/oracle/ggs acfsutil registry: mount point /home/oracle/ggs successfully added to Oracle Registry 手动挂载命令如下: [root@rac1 ~]# /bin/mount -t acfs /dev/asm/goldengate-257 /home/oracle/ggs 执行注册命令后等待30秒,然后在各节点查看ACFS文件系统是否挂载 [root@rac1 ~]# df -h [root@rac2 ~]# df -h 测试文件系统 [root@rac1 ~]# chown -R oracle:oinstall /home/oracle/ggs 第一节点 [oracle@rac1 ~]$ echo "Oracle ACFS File System" > /home/oracle/ggs/acfs.log [oracle@rac1 ggs]$ more /home/oracle/ggs/acfs.log Oracle ACFS File System 第二节点 [oracle@rac2 ~]$ more /home/oracle/ggs/acfs.log Oracle ACFS File System ####下面是一个已设置好的实例,所以只查看相关信息 [root@rac02 ~]# su - grid [grid@rac02 ~]$ echo $ORACLE_SID +ASM2
####如果没有上面的,就会连接到一个空的实例上
[oracle@rac02 ~]$ asmcmd
Connected to an idle instance.
ASMCMD>
[grid@rac02
~]$ asmcmd -p perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8:zh_CN.gb2312" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). perl: warning: Setting locale failed. perl: warning: Please check that your locale settings: LANGUAGE = (unset), LC_ALL = (unset), LANG = "en_US.UTF-8:zh_CN.gb2312" are supported and installed on your system. perl: warning: Falling back to the standard locale ("C"). 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 102398 156 0 156 0 N ARCH/ MOUNTED EXTERN N 512 4096 1048576 5115 4719 0 4719 0 N CRS/ MOUNTED EXTERN N 512 4096 1048576 1454313 1094832 0 1094832 0 N DATA/ MOUNTED EXTERN N 512 4096 1048576 102398 99715 0 99715 0 N FLASH/ ASMCMD [+] > lsdsk Path ORCL:ARCHVOL1 ORCL:CRSVOL1 ORCL:DATAVOL1 ORCL:FLASHVOL1 ASMCMD [+] > lsct DB_Name Status Software_Version Compatible_version Instance_Name Disk_Group +ASM CONNECTED 11.2.0.1.0 11.2.0.1.0 +ASM2 CRS asmvol CONNECTED 11.2.0.1.0 11.2.0.1.0 +ASM2 ARCH bus CONNECTED 11.2.0.1.0 11.2.0.0.0 bus DATA bus CONNECTED 11.2.0.1.0 11.2.0.0.0 bus FLASH ASMCMD [+] > help lsof lsof [-G dgroup] [--dbname dbname] [-C clientinstname] Lists the open files in an ASM instance. [--dbname <dbname>] list files only from database <dbname> [-G <dgname>] list files only from from disk group <dgname> [-C <clientinstname>] list files only from instance <clientinstname> ASMCMD [+] > lsof --dbname asmvol DB_Name Instance_Name Path asmvol +ASM2 +arch/ARCHLV.256.828288767 ASMCMD [+] > lsof --dbname bus DB_Name Instance_Name Path bus bus +data/bus/changetracking/ctf.1271.843239387 bus bus +data/bus/controlfile/current.507.843164017 bus bus +data/bus/datafile/example.263.843164031 ASMCMD [+] > volstat DISKGROUP NUMBER / NAME: 1 / ARCH --------------------------------------- VOLUME_NAME READS BYTES_READ READ_TIME READ_ERRS WRITES BYTES_WRITTEN WRITE_TIME WRITE_ERRS ------------------------------------------------------------- ARCHLV 353545 1892142080 1645824 0 783821 2734544384 271266462 0 ASMCMD [+] > volinfo -G ARCH ARCHLV Diskgroup Name: ARCH Volume Name: ARCHLV Volume Device: /dev/asm/archlv-215 State: ENABLED Size (MB): 102144 Resize Unit (MB): 256 Redundancy: UNPROT Stripe Columns: 4 Stripe Width (K): 128 Usage: ACFS Mountpath: /archive ASMCMD [+] > pwd + ASMCMD [+] > ls ARCH/ CRS/ DATA/ FLASH/ ASMCMD [+] > cd flash ASMCMD [+flash] > ls BUS/ FLT/ MAN/ ASMCMD [+crs/rac-cluster] > du ocrfile Used_MB Mirror_used_MB 262 262 ASMCMD [+data/bus/tempfile] > ls -l Type Redund Striped Time Sys Name TEMPFILE UNPROT COARSE NOV 19 23:00:00 Y TEMP.266.843164027 ASMCMD [+data/bus] > iostat Group_Name Dsk_Name Reads Writes ARCH ARCHVOL1 5443584 24576 CRS CRSVOL1 17080320 876544 DATA DATAVOL1 17450538885632 314646368768 FLASH FLASHVOL1 156485553152 334937889792 ASMCMD [+data/bus] > iostat --io Group_Name Dsk_Name Reads Writes ARCH ARCHVOL1 858 6 CRS CRSVOL1 3944 214 DATA DATAVOL1 81064919 63843900 FLASH FLASHVOL1 1021520 58893700 ASMCMD [+data/bus] > iostat -t Group_Name Dsk_Name Reads Writes Read_Time Write_Time ARCH ARCHVOL1 5455872 24576 .7 .024 CRS CRSVOL1 17092608 876544 3.835 .371 DATA DATAVOL1 17450540815360 314649198080 2107092.656861 160237.009142 FLASH FLASHVOL1 156485630976 334939702784 3062.787 715411.780234 ASMCMD [+data/bus] > lsdsk --statistics Reads Write Read_Errs Write_Errs Read_time Write_Time Bytes_Read Bytes_Written Voting_File Path 864 6 0 0 .703 .024 5480448 24576 N ORCL:ARCHVOL1 3950 214 0 0 3.838 .371 17117184 876544 Y ORCL:CRSVOL1 81065249 63844864 0 0 2107092.775861 160237.608142 17450545494016 314653874176 N ORCL:DATAVOL1 1021534 58894546 0 0 3062.794 715412.346234 156485753856 334941920256 N ORCL:FLASHVOL1 ASMCMD [+data/bus] > help lsod lsod [-H] [-G <group>] [--process <proc>] [disk] Displays the open devices -G <group> Filters devices belonging to diskgroup <group> --process <proc> Filters processes of name <proc>. <disk> Filters disks of name <disk>. -H Suppresses column header from the output. ASMCMD [+data/bus] > lsod Instance Process OSPID Path 2 oracle@rac02 (DBW0) 9187 ORCL:ARCHVOL1 2 oracle@rac02 (DBW0) 9187 ORCL:CRSVOL1 2 oracle@rac02 (DBW0) 9187 ORCL:DATAVOL1 2 oracle@rac02 (DBW0) 9187 ORCL:FLASHVOL1 2 oracle@rac02 (GMON) 9209 ORCL:ARCHVOL1 2 oracle@rac02 (GMON) 9209 ORCL:CRSVOL1 2 oracle@rac02 (GMON) 9209 ORCL:DATAVOL1 2 oracle@rac02 (GMON) 9209 ORCL:FLASHVOL1 2 oracle@rac02 (LGWR) 9191 ORCL:ARCHVOL1 2 oracle@rac02 (LGWR) 9191 ORCL:CRSVOL1 2 oracle@rac02 (LGWR) 9191 ORCL:DATAVOL1 2 oracle@rac02 (LGWR) 9191 ORCL:FLASHVOL1 2 oracle@rac02 (RBAL) 9205 ORCL:ARCHVOL1 2 oracle@rac02 (RBAL) 9205 ORCL:ARCHVOL1 2 oracle@rac02 (RBAL) 9205 ORCL:CRSVOL1 2 oracle@rac02 (RBAL) 9205 ORCL:CRSVOL1 2 oracle@rac02 (RBAL) 9205 ORCL:DATAVOL1 2 oracle@rac02 (RBAL) 9205 ORCL:DATAVOL1 2 oracle@rac02 (RBAL) 9205 ORCL:FLASHVOL1 2 oracle@rac02 (RBAL) 9205 ORCL:FLASHVOL1 2 oracle@rac02 (TNS V1-V3) 9279 ORCL:CRSVOL1 2 oracle@rac02 (VBG0) 9245 ORCL:ARCHVOL1 ASMCMD [+data/bus] > help lstmpl lstmpl [-Hl] [-G dgname] [pattern] Lists ASM templates in a disk group. [-G dgname] shows the templates that belong to a certain disk group. [-l] shows detailed information about the templates. [-H] supress headers. [pattern] filter out template names that match a given pattern. ASMCMD [+data/bus] > lstmpl Group_Name Group_Num Name ARCH 1 ARCHIVELOG ARCH 1 ASMPARAMETERBAKFILE ARCH 1 ASMPARAMETERFILE ARCH 1 ASM_STALE ARCH 1 AUTOBACKUP ARCH 1 BACKUPSET ASMCMD [+data/bus] > help lspwusr lspwusr [-H] List the users from an orapwd file. [-H] suppress headers ASMCMD [+data/bus] > lspwusr Username sysdba sysoper sysasm SYS TRUE TRUE TRUE ASMSNMP TRUE FALSE FALSE SYSASM FALSE FALSE TRUE

 

 多实例的启动,先启动asm实例,再启动bus或man实例。

1.13 启动 ASM 数据库的步骤
由于启动 ASM 数据库必须要先启动ASM 实例, 所以基本上启动步骤如下.
1) 先启动ASM实例
$ export ORACLE_SID=+ASM
$ sqlplus / as sysdba
SQL> startup;
SQL> exit;
2) 再启动数据库
$ export ORACLE_SID=EUIS
$ sqlplus / as sysdba
SQL> startup;
SQL> exit;

单instance使用ASM rac环境使用ASM 使用ASM必须先启动CSS服务,只有启动ASM服务,ASM磁盘组才可以被挂载 Cluster Synchronization Services daemon [root@rac02 bin]# ./localconfig add   启动CSS服务 [root@rac02 bin]# find /u01 -name localconfig /u01/app/11.2.0/grid/crs/utl/localconfig 11g里没有localconfig了。你需要安装grid。用crs_start 命令来启动,要单独用GRID软件 Oracle Grid Infrastructure http://www.oracle.com/technetwork/cn/articles/index-094679-zhs.html [root@rac02 bin]# su - oracle [oracle@rac02 ~]$ export ORACLE_SID=+ASM [oracle@rac02 ~]$ asmcmd Connected to an idle instance. ASMCMD> startup ERROR: ORA-01031: insufficient privileges Enter password: ERROR: ORA-01005: null password given; logon denied Connected to an idle instance. 查看自己的环境变量 export ORACLE_BASE=/grid export ORACLE_HOME=$ORACLE_BASE/product/11.2.3 跟运行的不一样,所以所环境变量改好就行了。 ASMCMD-08102: no connection to ASM; command requires ASM to run 11G R2 有专门的grid用户维护ASM和cluster ware 而且你看看你的ASMinstance到底启动了没? 看看进程也行啊 两种方式  sqlplus / as sysasm和grid用户的asmcmd命令 11g r2 不能用 sqlplus / as sysdba这样启动的 用 sqlplus / as sysasm ps -ef | grep asm* 从上面看,ASM instance好像已经起来了 但是我使用grid 用户,asmcmd 进去之后,任何的命令都无法执行 报错提示全部都是:ASMCMD-08102: no connection to ASM; command requires ASM to run 我用 sysasm 启动也是这样,说已经有实例在运行了,现在关也关不掉,难道让我重启服务器吗? 正如楼上说的,这是环境变量设置错误的结果 我当时做实验的时候没有新建grid用户,所以,我的操作是 export ORACLE_SID=+ASM export ORACLE_HOME=/u01/app/11.2.0/grid 可以看出diskgroup没有mount,所以先把diskgroup mount

 

 

[root@rac02 ~]# su - grid

[grid@rac02 ~]$ sqlplus / as sysasm



SQL*Plus: Release 11.2.0.1.0 Production on Mon Jul 20 11:23:23 2015



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





Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Real Application Clusters and Automatic Storage Management options



SQL> help

SP2-0171: HELP system not available.

 

你可能感兴趣的:(oracle)