使用裸設備配置Oracle ASM實例一例


1.查看當前磁盤

[root@std u01]# fdisk -l

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        4698    37736653+  83  Linux
/dev/sda2            4699        5220     4192965   82  Linux swap / Solaris

Disk /dev/sdb: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

Disk /dev/sdc: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

Disk /dev/sdd: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

Disk /dev/sde: 2147 MB, 2147483648 bytes
255 heads, 63 sectors/track, 261 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System

從上面的輸出可以看出我們有四快盤且都沒有分區:
/dev/sdb
/dev/sdc
/dev/sdd
/dev/sde

 

 

2.對磁盤進行分區

 

[root@std u01]# fdisk /dev/sdb

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-261, default 1): 
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-261, default 261): 
Using default value 261

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

 

對其他磁盤執行同樣的分區操作!

 

[root@std u01]# ll /dev/sd*
brw-r----- 1 root disk 8,  0 Jan 30 09:10 /dev/sda
brw-r----- 1 root disk 8,  1 Jan 30 09:10 /dev/sda1
brw-r----- 1 root disk 8,  2 Jan 30 09:10 /dev/sda2
brw-r----- 1 root disk 8, 16 Jan 30 13:30 /dev/sdb
brw-r----- 1 root disk 8, 17 Jan 30 13:30 /dev/sdb1
brw-r----- 1 root disk 8, 32 Jan 30 13:37 /dev/sdc
brw-r----- 1 root disk 8, 33 Jan 30 13:37 /dev/sdc1
brw-r----- 1 root disk 8, 48 Jan 30 13:38 /dev/sdd
brw-r----- 1 root disk 8, 49 Jan 30 13:38 /dev/sdd1
brw-r----- 1 root disk 8, 64 Jan 30 13:39 /dev/sde
brw-r----- 1 root disk 8, 65 Jan 30 13:39 /dev/sde1

 

3.綁定裸設備

[root@std u01]# vi /etc/sysconfig/rawdevices 
[root@std u01]# cat /etc/sysconfig/rawdevices 
# raw device bindings
# format:  <rawdev> <major> <minor>
#          <rawdev> <blockdev>
# example: /dev/raw/raw1 /dev/sda1
#          /dev/raw/raw2 8 5
/dev/raw/raw1  /dev/sdb1
/dev/raw/raw2  /dev/sdc1
/dev/raw/raw3  /dev/sdd1
/dev/raw/raw4  /dev/sde1
[root@std u01]# service rawdevices restart
Assigning devices: 
           /dev/raw/raw1  -->   /dev/sdb1
/dev/raw/raw1:  bound to major 8, minor 17
           /dev/raw/raw2  -->   /dev/sdc1
/dev/raw/raw2:  bound to major 8, minor 33
           /dev/raw/raw3  -->   /dev/sdd1
/dev/raw/raw3:  bound to major 8, minor 49
           /dev/raw/raw4  -->   /dev/sde1
/dev/raw/raw4:  bound to major 8, minor 65
done
[root@std u01]# raw -qa
/dev/raw/raw1:  bound to major 8, minor 17
/dev/raw/raw2:  bound to major 8, minor 33
/dev/raw/raw3:  bound to major 8, minor 49
/dev/raw/raw4:  bound to major 8, minor 65

 

3.更改裸設備的權限

[root@std u01]# cd /dev/raw
[root@std raw]# ll 
total 0
crw------- 1 root root 162, 1 Jan 30 13:42 raw1
crw------- 1 root root 162, 2 Jan 30 13:42 raw2
crw------- 1 root root 162, 3 Jan 30 13:42 raw3
crw------- 1 root root 162, 4 Jan 30 13:42 raw4
[root@std raw]# chown oracle:dba raw*
[root@std raw]# ll
total 0
crw------- 1 oracle dba 162, 1 Jan 30 13:42 raw1
crw------- 1 oracle dba 162, 2 Jan 30 13:42 raw2
crw------- 1 oracle dba 162, 3 Jan 30 13:42 raw3
crw------- 1 oracle dba 162, 4 Jan 30 13:42 raw4

 

為方便我們把"chown oracle:dba raw*"寫入/etc/rc.local

[root@std raw]# cat /etc/rc.local |grep chown
chown oracle:dba /dev/raw/raw[1-4]
[root@std raw]# 

 

4.安裝配置ASM驅動

[root@std u01]# uname -ra
Linux std 2.6.18-194.el5 #1 SMP Tue Mar 16 21:52:43 EDT 2010 i686 i686 i386 GNU/Linux
[root@std u01]# ll oracleasm*
-rw-r--r-- 1 root root 130018 Jul 24  2013 oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm
-rw-r--r-- 1 root root 130966 Jul 24  2013 oracleasm-2.6.18-194.el5debug-2.0.5-1.el5.i686.rpm
-rw-r--r-- 1 root root   2844 Jul 24  2013 oracleasm-2.6.18-194.el5-debuginfo-2.0.5-1.el5.i686.rpm
-rw-r--r-- 1 root root 130595 Jul 24  2013 oracleasm-2.6.18-194.el5PAE-2.0.5-1.el5.i686.rpm
-rw-r--r-- 1 root root 128392 Jul 24  2013 oracleasm-2.6.18-194.el5xen-2.0.5-1.el5.i686.rpm
-rw-r--r-- 1 root root  13929 Jul 24  2013 oracleasmlib-2.0.4-1.el5.i386.rpm
-rw-r--r-- 1 root root  85303 Jul 24  2013 oracleasm-support-2.1.8-1.el5.i386.rpm

[root@std u01]# rpm -ivh oracleasm*    --這些包之前我們以安裝過 warning: oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686.rpm: Header V3 DSA signature: NOKEY, key ID 1e5e0159
Preparing...                ########################################### [100%]
        package oracleasm-support-2.1.8-1.el5.i386 is already installed
        package oracleasm-2.6.18-194.el5xen-2.0.5-1.el5.i686 is already installed
        package oracleasm-2.6.18-194.el5-2.0.5-1.el5.i686 is already installed
        package oracleasm-2.6.18-194.el5debug-2.0.5-1.el5.i686 is already installed
        package oracleasm-2.6.18-194.el5-debuginfo-2.0.5-1.el5.i686 is already installed
        package oracleasm-2.6.18-194.el5PAE-2.0.5-1.el5.i686 is already installed
        package oracleasmlib-2.0.4-1.el5.i386 is already installed

 

配置驗證ASM驅動:

[root@std u01]# /etc/init.d/oracleasm configure
Configuring the Oracle ASM library driver.
This will configure the on-boot properties of the Oracle ASM library
driver. The following questions will determine whether the driver is
loaded on boot and what permissions it will have. The current values
will be shown in brackets ('[]'). Hitting <ENTER> without typing an
answer will keep that current value. Ctrl-C will abort.
Default user to own the driver interface [ ]:oracle
Default group to own the driver interface [ ]:oinstall
Start Oracle ASM library driver on boot (y/n) [y]:
Scan for Oracle ASM disks on boot (y/n) [y]:
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver:                    [ OK ]
Scanning the system for Oracle ASMLib disks:              [ OK ]

[root@std u01]# lsmod |grep asm
oracleasm              46356  1 

 

 

5.初始化ASM參數

[root@std u01]# su - oracle
[oracle@std ~]$ cd $ORACLE_HOME/dbs
[oracle@std dbs]$ mkdir -p $ORACLE_BASE/admin/+ASM/{b,c,u}dump
[oracle@std dbs]$ touch init+ASM.ora
[oracle@std dbs]$ vi init+ASM.ora 
[oracle@std dbs]$ cat init+ASM.ora 
*.asm_diskstring='/dev/raw/raw*'
*.instance_type='asm'
*.large_pool_size=24M
*.remote_login_passwordfile='SHARED'
*.background_dump_dest='/u02/app/admin/+ASM/bdump'
*.core_dump_dest='/u02/app/admin/+ASM/cdump'
*.user_dump_dest='/u02/app/admin/+ASM/bdump'
[oracle@std dbs]$ 

 

 

6.為ASM實例創建密碼文件

[oracle@std dbs]$ orapwd file=orapw+ASM password=oracle1
[oracle@std dbs]$ 

 

7.以root身份啟動CSS進程

[oracle@std ~]# /u02/app/product/10.2.0/db_1/bin/localconfig add
/etc/oracle does not exist. Creating it now.
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
Configuration for local CSS has been initialized
Adding to inittab
Startup will be queued to init within 90 seconds.
Checking the status of new Oracle init process...
Expecting the CRS daemons to be up within 600 seconds.
CSS is active on these nodes.
localhost
CSS is active on all nodes.
Oracle CSS service is installed and running under init(1M)

 

驗證CSS進程是否啟動;

[oracle@std dbs]$ crsctl check css
CSS appears healthy
[oracle@std dbs]$ crsctl check crs
CSS appears healthy
Cannot communicate with CRS
Cannot communicate with EVM 

 

8.啟動ASM實例

[oracle@std dbs]$ export ORACLE_SID=+ASM
[oracle@std dbs]$ sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Jan 30 14:34:00 2015

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

Connected to an idle instance.

SQL> startup
ASM instance started

Total System Global Area   96468992 bytes
Fixed Size                  1265984 bytes
Variable Size              70037184 bytes
ASM Cache                  25165824 bytes
ORA-15110: no diskgroups mounted



可以看到我們的ASM實例已經正常啟動,最后報出ORA-15110錯誤說明沒有掛載任何磁盤組,
因為此時我們還沒有創建任何磁盤組,所以忽略這個錯誤。

 

9.創建spfile

使用spfile以后,在節下來的我們創建磁盤組時,ASM_DISKGROUPS這個參數會被自動更新。
而如果使用pfile,這個參數值不會自動更新。

SQL> create spfile from pfile;

File created.

SQL> shutdown abort
ASM instance shutdown
SQL> startup
ASM instance started

Total System Global Area   96468992 bytes
Fixed Size                  1265984 bytes
Variable Size              70037184 bytes
ASM Cache                  25165824 bytes
ORA-15110: no diskgroups mounted


SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u02/app/product/10.2.0/db_1/d
                                                 bs/spfile+ASM.ora

 

10.查看磁盤及創建磁盤組

--查看磁盤asm_diskstring參數指定的磁盤

SQL> select path from v$asm_disk;

PATH
--------------------------------------------------------------------------------
/dev/raw/raw4
/dev/raw/raw3
/dev/raw/raw2
/dev/raw/raw1

 

--創建磁盤組

CREATE DISKGROUP diskgroup_name
[ { HIGH | NORMAL | EXTERNAL } REDUNDANCY ]
[ FAILGROUP failgroup_name ]
DISK [ NAME disk_name ] [ SIZE size_clause ] [ FORCE | NOFORCE ] ...;

注意:冗余度有三個選擇:HIGH(高度冗余&gt;三路)、NORMAL(標准冗余--雙路)和EXTERNAL(外部存儲冗余)

 

SQL> create diskgroup DATA external redundancy
  2  disk '/dev/raw/raw1','/dev/raw/raw2';

Diskgroup created.

SQL> create diskgroup FLA external redundancy
  2  disk '/dev/raw/raw3','/dev/raw/raw4';

Diskgroup created.

SQL> select GROUP_NUMBER,NAME,TOTAL_MB,FREE_MB from v$asm_diskgroup;

GROUP_NUMBER NAME                             TOTAL_MB    FREE_MB
------------ ------------------------------ ---------- ----------
           1 DATA                                 4094       4042
           2 FLA                                  4094       4042

 

11.把ASM實例注冊到監聽中

創建好ASM實例后,一般會系統會把ASM實例自動注冊到監聽中,如果沒有自動注冊,可以手動注冊。

[oracle@std bdump]$ export ORACLE_SID=+ASM
[oracle@std bdump]$ sqlplus '/as sysdba'

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Jan 30 15:21:00 2015

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> alter system register;

System altered.
[oracle@std ~]$ lsnrctl status

LSNRCTL for Linux: Version 10.2.0.4.0 - Production on 30-JAN-2015 15:19:33

Copyright (c) 1991, 2007, Oracle.  All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 10.2.0.4.0 - Production
Start Date                30-JAN-2015 15:19:15
Uptime                    0 days 0 hr. 0 min. 18 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /u02/app/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=std)(PORT=1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
  Instance "+ASM", status BLOCKED, has 1 handler(s) for this service...
Service "+ASM_XPT" has 1 instance(s).
  Instance "+ASM", status BLOCKED, has 1 handler(s) for this service...
The command completed successfully

 

12.遠程訪問ASM實例

要想從遠程訪問ASM實例,TNS配置需加上UR屬性

asm=
 (DESCRIPTION= 
  (ADDRESS= (PROTOCOL=tcp)(HOST=192.168.1.172)(PORT=1521))
  (CONNECT_DATA= 
     (SERVICE_NAME=+ASM)
     (UR=A)))

 

C:\Users\Administrator>sqlplus sys/oracle1@asm as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期五 1月 30 15:27:08 2015

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


連接到:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL> select group_number,name from v$asm_diskgroup;

GROUP_NUMBER NAME
------------ ------------------------------------------------------------
           1 DATA
           2 FLA

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM