ASM之建立ASM磁碟
ASM之建立ASM磁碟
(三種方法)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
a.配置裸裝置對映,修改/etc/udev/rules.d/60-raw.rules檔案
使用root帳戶修改/etc/udev/rules.d/60-raw.rules
按如下方式新增磁碟
[root@oradb ~]# cat /etc/udev/rules.d/60-raw.rules --檢視新增的內容
ACTION=="add",
KERNEL=="sdd1",
RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add",
ENV{MAJOR}=="8",
ENV{MINOR}=="1",
RUN+="/bin/raw /dev/raw/raw1 %M %m" ACTION=="add",
KERNEL=="sde1",
RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add",
ENV{MAJOR}=="8", ENV{MINOR}=="17",
RUN+="/bin/raw /dev/raw/raw2 %M %m"
[root@oradb ~]# start_udev #重啟udev服務
Starting udev: [ OK ]
[root@oradb ~]# ll /dev/raw
total 0 crw------- 1 root root 162,
1 Nov 10 18:50 raw1 crw------- 1 root root 162,
2 Nov 10 18:50 raw2
[root@oradb ~]# chown oracle:dba /dev/raw/raw[1-2] --修改屬主,否則建立磁碟組時提示許可權不夠
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
b.也可以採用下面的方式來增加磁碟,即直接修改/etc/sysconfig/rawdevices (root帳戶)
[root@oradb ~]# vim /etc/sysconfig/rawdevices
[root@oradb ~]# cat /etc/sysconfig/rawdevices --檢視增加的內容為raw3,raw4 /dev/raw/raw3 /dev/sdf1 /dev/raw/raw4 /dev/sdg1
[root@oradb ~]# chown oracle:dba /dev/raw/raw[3-4] --修改屬主,否則建立磁碟組時提示許可權不夠
[root@oradb ~]# ll /dev/raw/
total 0 crw------- 1 oracle dba 162,
1 Nov 10 20:12 raw1 crw------- 1 oracle dba 162,
2 Nov 10 20:12 raw2 crw------- 1 oracle dba 162,
3 Nov 10 20:12 raw3 crw------- 1 oracle dba 162,
4 Nov 10 20:12 raw4
重啟裸裝置服務
[root@oradb ~]# /sbin/service rawdevices restart
Assigning devices: /dev/raw/raw3 --> /dev/sdf1 /dev/raw/raw3: bound to major 8,
minor 81 /dev/raw/raw4 --> /dev/sdg1 /dev/raw/raw4: bound to major 8,
minor 97 done
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS ---------------- ------------ +ASM STARTED
SQL> create diskgroup DG1 normal redundancy disk '/dev/raw/raw1','/dev/raw/raw2'; --建立磁碟組DG1
SQL> select * from v$fixed_table where name like '%ASM%'; --檢視和asm相關的檢視
SQL> select name,allocation_unit_size,state,type, free_mb,required_mirror_free_mb req_mi_fr_mb,usable_file_mb from v$asm_diskgroup;
NAME ALLOCATION_UNIT_SIZE STATE TYPE FREE_MB REQ_MI_FR_MB USABLE_FILE_MB
DG1 1048576 MOUNTED NORMAL 296 0 148
SQL> create diskgroup DG2 normal redundancy disk '/dev/raw/raw3','/dev/raw/raw4'; --建立磁碟組DG2
SQL> select name,state,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup; --檢視磁碟組的狀態及資訊
NAME STATE FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
DG1 MOUNTED 296 0 148
DG2 MOUNTED 296 0 148
SQL> select disk_number,total_mb,free_mb from v$asm_disk;
DISK_NUMBER TOTAL_MB FREE_MB
1 199 148 0 199 148
1 199 148 0 199 148
重新啟動Linux 主機後
SQL> startup --重新啟動ASM例項,收到了磁碟組insufficient資訊
ASM instance started
ORA-15032: not all alterations performed
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DG2"
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DG1"
SQL> ho ls -hlt /dev/raw # LINUX主機重新啟動之後屬主性質已發生變化
total 0 crw------- 1 root root 162,
4 Nov 10 20:28 raw4 crw------- 1 root root 162,
3 Nov 10 20:28 raw3 crw------- 1 root root 162,
2 Nov 10 20:28 raw2 crw------- 1 root root 162,
1 Nov 10 20:28 raw1
原因:原始裝置在引導時會重新對映。預設情況下,在引導時原始裝置的擁有者將更改為root 使用者
將下面的內容增加到/etc/rc.local檔案(root帳戶),重新啟動主機,使得屬主變為oracle,則不再出現類似的提示
chown oracle:dba /dev/raw/raw1 chown oracle:dba /dev/raw/raw2
chown oracle:dba /dev/raw/raw3 chown oracle:dba /dev/raw/raw4
chmod 660 /dev/raw/raw1 chmod 660 /dev/raw/raw2
chmod 660 /dev/raw/raw3 chmod 660 /dev/raw/raw4
SQL> drop diskgroup dg1; --將剛才建立的兩個磁碟組刪除
SQL> drop diskgroup dg2;
使用root帳戶清除/etc/udev/rules.d/60-raw.rules /etc/sysconfig/rawdevices 以及/etc/rc.local剛剛增加的記錄 便於下面使用asmlib來建立asm磁碟
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
c.使用root帳戶配置ASMLib驅動及建立ASM磁碟,Oracle建議使用ASMLIB驅動來配置ASM磁碟
[root@oradb ~]# /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 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 []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
--注意下面建立磁碟前本人重新對磁碟分過區
[root@oradb ~]# ls /dev/oracleasm/disks
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdd1
Marking disk "VOL1" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdd2
Marking disk "VOL2" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sde1
Marking disk "VOL3" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL4 /dev/sde2
Marking disk "VOL4" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm listdisks VOL1 VOL2 VOL3 VOL4
[root@oradb ~]# su - oracle
[oracle@oradb ~]$ export ORACLE_SID=+ASM
[oracle@oradb ~]$ sqlplus /nolog
SQL> conn / as sysdba
SQL> startup ASM instance started
ORA-15110: no diskgroups mounted
SQL>
create diskgroup DG1 normal redundancy failgroup
FG1 disk '/dev/oracleasm/disks/VOL1' name VOL1 failgroup
FG2 disk '/dev/oracleasm/disks/VOL2' name VOL2;
create diskgroup DG1 normal redundancy * ERROR at line 1: ORA-15018:
diskgroup cannot be created --下面提示磁碟路徑未在discovery set中設定
ORA-15031: disk specification '/dev/oracleasm/disks/VOL2' matches no disks
ORA-15014: location '/dev/oracleasm/disks/VOL2' is not in the discovery set
ORA-15031: disk specification '/dev/oracleasm/disks/VOL1' matches no disks
ORA-15014: location '/dev/oracleasm/disks/VOL1' is not in the discovery set
SQL> show parameter asm_diskstring NAME TYPE VALUE;
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
asm_diskstring string
SQL> alter system set asm_diskstring='/dev/oracleasm/disks/VOL*';
SQL>
create diskgroup DG1 normal redundancy
failgroup FG1 disk '/dev/oracleasm/disks/VOL1' name VOL1
failgroup FG2 disk '/dev/oracleasm/disks/VOL2' name VOL2;
--設定asm_diskstring後重新建立磁碟DG1成功
SQL> select name,state,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;
NAME
------------------------------------------------------------
STATE FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------------------- ---------- ----------------------- --------------
BACK
MOUNTED 26 0 26
DATA
MOUNTED 0 0 0
OCR
MOUNTED 5215 2047 1584
(三種方法)
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
a.配置裸裝置對映,修改/etc/udev/rules.d/60-raw.rules檔案
使用root帳戶修改/etc/udev/rules.d/60-raw.rules
按如下方式新增磁碟
[root@oradb ~]# cat /etc/udev/rules.d/60-raw.rules --檢視新增的內容
ACTION=="add",
KERNEL=="sdd1",
RUN+="/bin/raw /dev/raw/raw1 %N" ACTION=="add",
ENV{MAJOR}=="8",
ENV{MINOR}=="1",
RUN+="/bin/raw /dev/raw/raw1 %M %m" ACTION=="add",
KERNEL=="sde1",
RUN+="/bin/raw /dev/raw/raw2 %N" ACTION=="add",
ENV{MAJOR}=="8", ENV{MINOR}=="17",
RUN+="/bin/raw /dev/raw/raw2 %M %m"
[root@oradb ~]# start_udev #重啟udev服務
Starting udev: [ OK ]
[root@oradb ~]# ll /dev/raw
total 0 crw------- 1 root root 162,
1 Nov 10 18:50 raw1 crw------- 1 root root 162,
2 Nov 10 18:50 raw2
[root@oradb ~]# chown oracle:dba /dev/raw/raw[1-2] --修改屬主,否則建立磁碟組時提示許可權不夠
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
b.也可以採用下面的方式來增加磁碟,即直接修改/etc/sysconfig/rawdevices (root帳戶)
[root@oradb ~]# vim /etc/sysconfig/rawdevices
[root@oradb ~]# cat /etc/sysconfig/rawdevices --檢視增加的內容為raw3,raw4 /dev/raw/raw3 /dev/sdf1 /dev/raw/raw4 /dev/sdg1
[root@oradb ~]# chown oracle:dba /dev/raw/raw[3-4] --修改屬主,否則建立磁碟組時提示許可權不夠
[root@oradb ~]# ll /dev/raw/
total 0 crw------- 1 oracle dba 162,
1 Nov 10 20:12 raw1 crw------- 1 oracle dba 162,
2 Nov 10 20:12 raw2 crw------- 1 oracle dba 162,
3 Nov 10 20:12 raw3 crw------- 1 oracle dba 162,
4 Nov 10 20:12 raw4
重啟裸裝置服務
[root@oradb ~]# /sbin/service rawdevices restart
Assigning devices: /dev/raw/raw3 --> /dev/sdf1 /dev/raw/raw3: bound to major 8,
minor 81 /dev/raw/raw4 --> /dev/sdg1 /dev/raw/raw4: bound to major 8,
minor 97 done
SQL> select instance_name,status from v$instance;
INSTANCE_NAME STATUS ---------------- ------------ +ASM STARTED
SQL> create diskgroup DG1 normal redundancy disk '/dev/raw/raw1','/dev/raw/raw2'; --建立磁碟組DG1
SQL> select * from v$fixed_table where name like '%ASM%'; --檢視和asm相關的檢視
SQL> select name,allocation_unit_size,state,type, free_mb,required_mirror_free_mb req_mi_fr_mb,usable_file_mb from v$asm_diskgroup;
NAME ALLOCATION_UNIT_SIZE STATE TYPE FREE_MB REQ_MI_FR_MB USABLE_FILE_MB
DG1 1048576 MOUNTED NORMAL 296 0 148
SQL> create diskgroup DG2 normal redundancy disk '/dev/raw/raw3','/dev/raw/raw4'; --建立磁碟組DG2
SQL> select name,state,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup; --檢視磁碟組的狀態及資訊
NAME STATE FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
DG1 MOUNTED 296 0 148
DG2 MOUNTED 296 0 148
SQL> select disk_number,total_mb,free_mb from v$asm_disk;
DISK_NUMBER TOTAL_MB FREE_MB
1 199 148 0 199 148
1 199 148 0 199 148
重新啟動Linux 主機後
SQL> startup --重新啟動ASM例項,收到了磁碟組insufficient資訊
ASM instance started
ORA-15032: not all alterations performed
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DG2"
ORA-15063: ASM discovered an insufficient number of disks for diskgroup "DG1"
SQL> ho ls -hlt /dev/raw # LINUX主機重新啟動之後屬主性質已發生變化
total 0 crw------- 1 root root 162,
4 Nov 10 20:28 raw4 crw------- 1 root root 162,
3 Nov 10 20:28 raw3 crw------- 1 root root 162,
2 Nov 10 20:28 raw2 crw------- 1 root root 162,
1 Nov 10 20:28 raw1
原因:原始裝置在引導時會重新對映。預設情況下,在引導時原始裝置的擁有者將更改為root 使用者
將下面的內容增加到/etc/rc.local檔案(root帳戶),重新啟動主機,使得屬主變為oracle,則不再出現類似的提示
chown oracle:dba /dev/raw/raw1 chown oracle:dba /dev/raw/raw2
chown oracle:dba /dev/raw/raw3 chown oracle:dba /dev/raw/raw4
chmod 660 /dev/raw/raw1 chmod 660 /dev/raw/raw2
chmod 660 /dev/raw/raw3 chmod 660 /dev/raw/raw4
SQL> drop diskgroup dg1; --將剛才建立的兩個磁碟組刪除
SQL> drop diskgroup dg2;
使用root帳戶清除/etc/udev/rules.d/60-raw.rules /etc/sysconfig/rawdevices 以及/etc/rc.local剛剛增加的記錄 便於下面使用asmlib來建立asm磁碟
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
c.使用root帳戶配置ASMLib驅動及建立ASM磁碟,Oracle建議使用ASMLIB驅動來配置ASM磁碟
[root@oradb ~]# /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
Ctrl-C will abort. Default user to own the driver interface []: oracle
Default group to own the driver interface []: dba
Start Oracle ASM library driver on boot (y/n) [n]: y
Scan for Oracle ASM disks on boot (y/n) [y]: y
Writing Oracle ASM library driver configuration: done
Initializing the Oracle ASMLib driver: [ OK ]
Scanning the system for Oracle ASMLib disks: [ OK ]
--注意下面建立磁碟前本人重新對磁碟分過區
[root@oradb ~]# ls /dev/oracleasm/disks
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL1 /dev/sdd1
Marking disk "VOL1" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL2 /dev/sdd2
Marking disk "VOL2" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL3 /dev/sde1
Marking disk "VOL3" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm createdisk VOL4 /dev/sde2
Marking disk "VOL4" as an ASM disk: [ OK ]
[root@oradb ~]# /etc/init.d/oracleasm listdisks VOL1 VOL2 VOL3 VOL4
[root@oradb ~]# su - oracle
[oracle@oradb ~]$ export ORACLE_SID=+ASM
[oracle@oradb ~]$ sqlplus /nolog
SQL> conn / as sysdba
SQL> startup ASM instance started
ORA-15110: no diskgroups mounted
SQL>
create diskgroup DG1 normal redundancy failgroup
FG1 disk '/dev/oracleasm/disks/VOL1' name VOL1 failgroup
FG2 disk '/dev/oracleasm/disks/VOL2' name VOL2;
create diskgroup DG1 normal redundancy * ERROR at line 1: ORA-15018:
diskgroup cannot be created --下面提示磁碟路徑未在discovery set中設定
ORA-15031: disk specification '/dev/oracleasm/disks/VOL2' matches no disks
ORA-15014: location '/dev/oracleasm/disks/VOL2' is not in the discovery set
ORA-15031: disk specification '/dev/oracleasm/disks/VOL1' matches no disks
ORA-15014: location '/dev/oracleasm/disks/VOL1' is not in the discovery set
SQL> show parameter asm_diskstring NAME TYPE VALUE;
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
asm_diskstring string
SQL> alter system set asm_diskstring='/dev/oracleasm/disks/VOL*';
SQL>
create diskgroup DG1 normal redundancy
failgroup FG1 disk '/dev/oracleasm/disks/VOL1' name VOL1
failgroup FG2 disk '/dev/oracleasm/disks/VOL2' name VOL2;
--設定asm_diskstring後重新建立磁碟DG1成功
SQL> select name,state,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;
NAME
------------------------------------------------------------
STATE FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB
---------------------- ---------- ----------------------- --------------
BACK
MOUNTED 26 0 26
DATA
MOUNTED 0 0 0
OCR
MOUNTED 5215 2047 1584
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29500582/viewspace-1356554/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【ASM】如何建立ASM磁碟ASM
- ASM之磁碟建立及管理ASM
- 如何建立ASM磁碟ASM
- ASM之建立ASM例項ASM
- 建立ASM磁碟有兩種方式!ASM
- Oracle下建立ASM磁碟總結OracleASM
- oracle rac 無法建立asm磁碟OracleASM
- ASM之建立ASM例項及ASM資料庫ASM資料庫
- 使用CREATE DISKGROUP語句建立ASM磁碟組,提示找不到相應的ASM磁碟ASM
- ASM 磁碟組的建立及擴容ASM
- ASM磁碟頭ASM
- ASM 增加磁碟ASM
- ASM之建立ASM例項時的常見故障ASM
- Oracle asm磁碟中新加磁碟OracleASM
- ASM磁碟組限制ASM
- asm磁碟normal模式ASMORM模式
- ASM磁碟大小限制ASM
- asm磁碟管理篇ASM
- asm 磁碟切換ASM
- 【資料遷移】RMAN遷移資料庫到ASM(一)建立ASM磁碟組資料庫ASM
- 【ASM】ASM磁碟頭被重寫,如何修復ASM
- 【ASM】Oracle asm刪除磁碟組注意事項ASMOracle
- 【ASM】Oracle asm磁碟被格式化,如何掛載該磁碟組ASMOracle
- asm 磁碟組 增刪磁碟組ASM
- asm磁碟組建立錯誤,用中轉儲存,重建磁碟組ASM
- RAC建立ASM單個磁碟不能操作2TASM
- 建立ASM磁碟組報錯ORA-15063ASM
- 遷移ASM磁碟組ASM
- 配置ASM磁碟-轉載ASM
- ASM磁碟頭比較ASM
- asm新增刪除磁碟ASM
- ASM下更換磁碟ASM
- asm 磁碟更換記ASM
- ASM之ASM相關概念ASM
- 在ASM磁碟組之間移動檔案ASM
- dbca建立oracle 11g rac發現不了asm磁碟OracleASM
- 建立ASM例項及ASM資料庫ASM資料庫
- Data Guard 建立(ASM)ASM