asm的安装

来源:互联网 发布:java交换两个数的值 编辑:程序博客网 时间:2024/05/28 04:55

系统:linux-as3 x86 oracle10.2

1.检查内核版本

uname -a

2.下载相应的asm程序

下载地址;根据自己内核版本,下载相应程序

http://www.oracle.com/technology/software/tech/linux/asmlib/rhel3.html

3.安装模块

下载的模块共3个:

oracleasm-support-2.0.3-1.i386.rpm

oracleasmlib-2.0.2-1.i386.rpm

oracleasm-2.4.21-37.EL-1.0.5-1.i686.rpm

用rpm安装:

# rpm -Uvh oracleasm-support-2.0.3-1.i386.rpm

# rpm -Uvh oracleasm-2.4.21-37.EL-1.0.5-1.i686.rpm

# rpm -Uvh oracleasmlib-2.0.2-1.i386.rpm

4.配置ASMLib

# /etc/init.d/oracleasm configure,选默认值

5.确认ASMLib已经可以自动加载
#lsmod |grep oracleasm
#dmesg |grep oracleasm

6.为 ASM 配置磁盘

事前先准备好分区,然后添加.

# /etc/init.d/oracleasm createdisk VOL1 /dev/hda8

# /etc/init.d/oracleasm createdisk VOL1 /dev/hda9

# /etc/init.d/oracleasm createdisk VOL1 /dev/hda10

在添加时遇到一个问题,每次都fail,并提示hda8不是分区,搜一网上,有的朋友遇到这个问题,他们的原因是直接添加磁盘,这是不可的,必须 是分区.但我这里的问题不同,回头重新分区,发现分区时提示了问题原因.按照提示,重新启动,问题解决.

Command (m for help): p
 
Disk /dev/hda: 80.0 GB, 80060424192 bytes
255 heads, 63 sectors/track, 9733 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
 
   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1      1913  15361888+   7  HPFS/NTFS
/dev/hda2          1914      2040   1020127+  82  Linux swap
Partition 2 does not end on cylinder boundary.
/dev/hda3          2041      4463  19462747+  83  Linux
/dev/hda4          4464      9733  42328912+   f  Win95 Ext'd (LBA)
Partition 4 does not end on cylinder boundary.
/dev/hda5          4464      6376  15362361    c  Win95 FAT32 (LBA)
/dev/hda6          6376      8288  15361888+   c  Win95 FAT32 (LBA)
/dev/hda7          8289      8301    104391   83  Linux
/dev/hda8          8302      8363    497983+  83  Linux
/dev/hda9          8364      8425    497983+  83  Linux
/dev/hda10         8426      8487    497983+  83  Linux
 
Command (m for help): w
The partition table has been altered!
 
Calling ioctl() to re-read partition table.
 
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table.
The new table will be used at the next reboot
.
Syncing disks.



[root@john oracle]# /etc/init.d/oracleasm createdisk VOL1 /dev/hda8
Marking disk "/dev/hda8" as an ASM disk:                   [  OK  ]
[root@john oracle]# /etc/init.d/oracleasm createdisk VOL1 /dev/hda9
Marking disk "/dev/hda9" as an ASM disk: asmtool: Unable to create ASM disk "VOL1": File exists
                                                           [FAILED]
[root@john oracle]# /etc/init.d/oracleasm createdisk VOL2 /dev/hda9
Marking disk "/dev/hda9" as an ASM disk:                   [  OK  ]
[root@john oracle]# /etc/init.d/oracleasm createdisk VOL3 /dev/hda10
Marking disk "/dev/hda10" as an ASM disk:                  [  OK  ]
[root@john oracle]# /etc/init.d/oracleadm listdisks
bash: /etc/init.d/oracleadm: No such file or directory
[root@john oracle]# /etc/init.d/oraclea3m listdisks
bash: /etc/init.d/oraclea3m: No such file or directory


查看asm磁盘

[root@john oracle]# /etc/init.d/oracleasm listdisks
VOL1
VOL2
VOL3

7.使用dbca创建asm实例和磁盘组,磁盘组名定为asmdisk

8.登陆asm实例

实例却省名为+ASM,登陆使用SQLPLUS,需要设置ORACLE_SID=+ASM

要关闭ASM实例,首先要关闭每一个数据库实例

% sqlplus /nolog
SQL> CONNECT / AS sysdba
Connected to an idle instance.

SQL> STARTUP
ASM instance started

Total System Global Area   71303168 bytes
Fixed Size                  1069292 bytes
Variable Size              45068052 bytes
ASM Cache                  25165824 bytes
ASM diskgroups mounted
CRS 根据配置管理 Oracle 的群集资源,包括资源的启动、停止、监视和故障切换。
CSS 可管理 Oracle 群集成员并将其自身的组成员服务提供给 RAC 实例
[oracle@rac2 ~]$ crsctl check cssd
CSS appears healthy

9.使用asm创建表空间

登陆数据库instance

create tablespace asmtb datafile '+asmdisk' size 100m; +asmdisk为磁盘组名称

 

10.ASM限制

ASM imposes the following limits:

63 disk groups in a storage system

10,000 ASM disks in a storage system

4 petabyte maximum storage for each ASM disk

40 exabyte maximum storage for each storage system

1 million files for each disk group

Maximum files sizes as shown in the following table:

Disk Group Type Maximum File Size
External redundancy 35 TB
Normal redundancy 5.8 TB
High redundancy 3.9 TB

11、磁盘组管理

1)、创建磁盘组

SQL> STARTUP NOMOUNT
SQL> CREATE DISKGROUP dgroup1 NORMAL REDUNDANCY
  2  FAILGROUP controller1 DISK
  3 ‘/devices/diska1′,
  4 ‘/devices/diska2′,
  5 ‘/devices/diska3′,
  6 ‘/devices/diska4′
  7 FAILGROUP controller2 DISK
  8 ‘/devices/diskb1′,
  9 ‘/devices/diskb2′,
 10 ‘/devices/diskb3′,
 11 ‘/devices/diskb4′;

2)、添加磁盘

ALTER DISKGROUP dgroup1 ADD DISK
     ‘/devices/diska5′ NAME diska5,
     ‘/devices/diska6′ NAME diska6;

没有指定故障组,所以两个磁盘分别添加到自己的故障组

 

3).ASM中,创建一个目录
alter diskgroup boson add directory ‘+data/backup’;
在已经创建的目录中在创建目录
alter diskgroup boson add directory ‘+data/backup/archivelog’;
重命名一个目录
alter diskgroup boson rename directory ‘+data/backup’ to ‘+data/bak’;
删除一个目录
alter diskgroup boson drop directory ‘+data/bak’force
ASM文件别名的管理,相关视图v$asm_alias
ALTER DISKGROUP dgroup1 ADD ALIAS ‘+dgroup1/mydir/second.dbf’
     FOR ‘+dgroup1/sample/datafile/mytable.342.3′;
重命名一个别名
ALTER DISKGROUP dgroup1 RENAME ALIAS ‘+dgroup1/mydir/datafile.dbf’
     TO ‘+dgroup1/payroll/compensation.dbf’;

删除一个别名
ALTER DISKGROUP dgroup1 DROP ALIAS ‘+dgroup1/payroll/compensation.dbf’;
删除一个ASM文件
ALTER DISKGROUP dgroup1 DROP FILE ‘+dgroup1/payroll/compensation.dbf’;
删除一个磁盘从磁盘组中
ALTER DISKGROUP dgroup1 DROP DISK diska5;

ALTER DISKGROUP dgroup1 DROP DISK diska5
     ADD FAILGROUP failgrp1 DISK ‘/devices/diska9′ NAME diska9;

修改磁盘组中的磁盘大小
修改一个磁盘组中所有的磁盘:
ALTER DISKGROUP dgroup1
     RESIZE DISKS IN FAILGROUP failgrp1 SIZE 100G
手动调整字盘平衡速度
ALTER DISKGROUP dgroup2 REBALANCE POWER 5 WAIT
挂载所有磁盘组
ALTER DISKGROUP ALL DISMOUNT;
ALTER DISKGROUP dgroup1 DISMOUNT;
检查所有磁盘组的一致性
ALTER DISKGROUP dgroup1 CHECK ALL;
删除磁盘组
DROP DISKGROUP dgroup1;

原创粉丝点击