ASM下裸裝置的路徑更改是否會影響資料庫的運行

來源:互聯網
上載者:User

ASM下裸裝置的路徑更改是否會影響資料庫的運行

通過asm來儲存資料庫檔案,在linux下可以通過asmlib的方式來管理塊裝置,也可以直接使用裸裝置來建立asm磁碟。在asmlib方式下,磁碟裝置啟動順序和名稱的改變不會影響到asm的使用,但如果直接使用裸裝置會怎麼樣那?我們知道asm會在磁碟中儲存與asm有關的中繼資料,通過這些中繼資料asm可以瞭解磁碟的相關資訊,因此理論上裸裝置名稱的改變不會影響asm的正常使用。下面,通過實驗來驗證一下。

在CentOS 6.4下安裝Oracle 11gR2(x64)

Oracle 11gR2 在VMWare虛擬機器中安裝步驟

Debian 下 安裝 Oracle 11g XE R2

Oracle 11g從入門到精通 PDF+光碟片原始碼

RHEL6 ASM方式安裝Oracle 11g R2

Oracle 10g 手工建立ASM資料庫

Oracle 10g R2建立ASM執行個體Step By Step

首先看以下,裸裝置的設定檔

node1

[root@node1 ~]# cat /etc/udev/rules.d/60-raw.rules # Enter raw device bindings here. # # An example would be: #  ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N" # to bind /dev/raw/raw1 to /dev/sda, or #  ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m" # to bind /dev/raw/raw2 to the device with major 8, minor 1.

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", KERNEL=="sdb5", RUN+="/bin/raw /dev/raw/raw3 %N" ACTION=="add", KERNEL=="sdb6", RUN+="/bin/raw /dev/raw/raw4 %N" ACTION=="add", KERNEL=="sdb7", RUN+="/bin/raw /dev/raw/raw5 %N" ACTION=="add", KERNEL=="sdb8", RUN+="/bin/raw /dev/raw/raw6 %N" ACTION=="add", KERNEL=="sdb9", RUN+="/bin/raw /dev/raw/raw7 %N"

node2:

[root@node2 rules.d]# cat 60-raw.rules # Enter raw device bindings here. # # An example would be: #  ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N" # to bind /dev/raw/raw1 to /dev/sda, or #  ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m" # to bind /dev/raw/raw2 to the device with major 8, minor 1.

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", KERNEL=="sdb5", RUN+="/bin/raw /dev/raw/raw3 %N" ACTION=="add", KERNEL=="sdb6", RUN+="/bin/raw /dev/raw/raw4 %N" ACTION=="add", KERNEL=="sdb7", RUN+="/bin/raw /dev/raw/raw5 %N" ACTION=="add", KERNEL=="sdb8", RUN+="/bin/raw /dev/raw/raw6 %N" ACTION=="add", KERNEL=="sdb9", RUN+="/bin/raw /dev/raw/raw7 %N"

asm下的磁碟資訊如下:

[oracle@node1 ~]$ export ORACLE_SID=+ASM1 [oracle@node1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Sun Aug 31 12:55:25 2014

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

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

SQL> col name for a30 SQL> col label for a30 SQL> col path for a30 SQL> set linesize 200 SQL> /

NAME          LABEL        PATH ------------------------------ ------------------------------ ------------------------------ DG1_0000            /dev/raw/raw3 DG2_0000            /dev/raw/raw4 DG3_0000            /dev/raw/raw5 DG3_0001            /dev/raw/raw6 DG4_0000            /dev/raw/raw7             /dev/raw/raw2             /dev/raw/raw1

7 rows selected.

SQL> ho ssh node2 Last login: Sat Aug 30 17:56:54 2014 from node1 [oracle@node2 ~]$ export ORACLE_SID=+ASM2 [oracle@node2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Sun Aug 31 12:56:38 2014

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

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

SQL> col name for a30 SQL> col label for a30 SQL> col path for a30 SQL> set linesize 200 SQL> select name,label,path from v$asm_disk order by 1;

NAME          LABEL        PATH ------------------------------ ------------------------------ ------------------------------ DG1_0000            /dev/raw/raw3 DG2_0000            /dev/raw/raw4 DG3_0000            /dev/raw/raw5 DG3_0001            /dev/raw/raw6 DG4_0000            /dev/raw/raw7             /dev/raw/raw2             /dev/raw/raw1

7 rows selected.

建立測試表:

SQL> select file_name,tablespace_name from dba_data_files;

FILE_NAME        TABLESPACE_NAME -------------------------------------------- ------------------------------ +DG4/easy/datafile/system.272.856543875      SYSTEM +DG4/easy/datafile/undotbs1.273.856543885    UNDOTBS1 +DG4/easy/datafile/sysaux.274.856543891      SYSAUX +DG4/easy/datafile/undotbs2.276.856543901    UNDOTBS2 +DG4/easy/datafile/users.277.856543905      USERS

SQL> create table t1 (id number,name varchar2(20)) tablespace users;

Table created.

SQL> insert into t1 values(1,111);

1 row created.

SQL> insert into t1 select * from t1;

1 row created.

SQL> /

2 rows created.

SQL> /

4 rows created.

SQL> /

8 rows created.

SQL> /

16 rows created.

SQL> /

32 rows created.

SQL> /

64 rows created.

SQL> commit;

Commit complete.

SQL> select count(*) from t1;

  COUNT(*) ----------       128

SQL> update t1 set id=rownum,name=rownum;

128 rows updated.

SQL> commit;

Commit complete.

修改裸裝置的路徑名稱並重起叢集

[root@node1 ~]# cat /etc/udev/rules.d/60-raw.rules # Enter raw device bindings here. # # An example would be: #  ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N" # to bind /dev/raw/raw1 to /dev/sda, or #  ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m" # to bind /dev/raw/raw2 to the device with major 8, minor 1.

ACTION=="add", KERNEL=="sdb1", RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add", KERNEL=="sdb2", RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add", KERNEL=="sdb5", RUN+="/bin/raw /dev/raw/raw7 %N" ACTION=="add", KERNEL=="sdb6", RUN+="/bin/raw /dev/raw/raw6 %N" ACTION=="add", KERNEL=="sdb7", RUN+="/bin/raw /dev/raw/raw5 %N" ACTION=="add", KERNEL=="sdb8", RUN+="/bin/raw /dev/raw/raw4 %N" ACTION=="add", KERNEL=="sdb9", RUN+="/bin/raw /dev/raw/raw3 %N"

 

[oracle@node1 ~]$ export ORACLE_SID=+ASM1 [oracle@node1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Sun Aug 31 13:13:01 2014

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

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

SQL> col name for a30 SQL> col lable for a33 SQL> col path for a33 SQL> set linesize 222 SQL> col label for a31 SQL> /

NAME          LABEL          PATH ------------------------------ ------------------------------- --------------------------------- DG1_0000            /dev/raw/raw7 DG2_0000            /dev/raw/raw6 DG3_0000            /dev/raw/raw5 DG3_0001            /dev/raw/raw4 DG4_0000            /dev/raw/raw3               /dev/raw/raw1               /dev/raw/raw2

7 rows selected.

SQL> ho ssh oracle@node2 Last login: Sun Aug 31 12:56:27 2014 from node1 [oracle@node2 ~]$ export ORACLE_SID=+ASM2 [oracle@node2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Sun Aug 31 13:14:31 2014

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

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

SQL> col name for a31 SQL> col label for a31 SQL> col path for a31 SQL> set linesize 211 SQL> select name,label,path from v$asm_disk order by 1;

NAME    LABEL    PATH ------------------------------- ------------------------------- ------------------------------- DG1_0000       /dev/raw/raw3 DG2_0000       /dev/raw/raw4 DG3_0000       /dev/raw/raw5 DG3_0001       /dev/raw/raw6 DG4_0000       /dev/raw/raw7         /dev/raw/raw2         /dev/raw/raw1

7 rows selected.

SQL> exit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production With the Partitioning, Real Application Clusters, OLAP, Data Mining and Real Application Testing options [oracle@node2 ~]$ export ORACLE_SID=easy2 [oracle@node2 ~]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Sun Aug 31 13:15:31 2014

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

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

SQL> select count(*) from t1;

  COUNT(*) ----------       128

SQL> select min(id),max(id) from t1;

  MIN(ID)    MAX(ID) ---------- ----------   1  128

由此可見,裸裝置路徑和名稱的改變不會影響asm的使用,但是,我們依然建議保持路徑名稱的穩定性,方便管理。

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.