ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 10g学习(3)--ASM

10g学习(3)--ASM

原创 Linux操作系统 作者:lhl1212 时间:2012-09-16 22:23:23 0 删除 编辑
10g学习(3)--ASM

ASM
*****************************************
尽管可以让ASM去管理卷,但是并不推荐将ASM运行在任何基于主机卷管理者上
在安装ASM前,你可能需要安装ASM支持库,ASMLib。ASMLib是ORACLE开发的一个应用程序接口(API),已简化系统到数据库接口的操作,以及开发厂商存储阵列的能力和优点。ASMLib是一个ASM的可选附加物,其提供了一个ASM可用的核心的可选择的接口,以发现和访问块设备。其提供了存储和操作系统厂商一个支持扩展的存储相关的特性的机会。这个特性提供了如下优点:改善性能以及极高的数据完整性
ASMLib信息 http://www.oracle.com/technology/products/database/asm 
AIMLib只支持LINUX平台(未找到其他版本能用的),这个文件是有厂商提供的,应该有适合AIX平台的
ASM没有数据字典,只有SYS用户
ASM是有控制文件的,默认在(RAC):
/u01/app/oracle/product/10.2.0/db_1/dbs/cntrl+ASM2.dbf
/u01/app/oracle/product/10.2.0/db_1/dbs/cntrl+ASM1.dbf
一个节点一个控制文件,建议修改这个位置吧,并多做几个副本
ASM没有数据文件,日志组等东西

ASM相关的几个参数
*****************************************
INSTANCE_TYPE 
必须设置为ASM,注意,只有这个属性是必须的,其他属性都有适当的默认值
ASM_POWER_LIMIT 
磁盘平衡的执行程度,默认1,范围为0-11
ASM_DISKSTRING
限制ASM能发现的磁盘的列表,支持正则表达式
ASM_DISKGROUPS
ASM启动时或者是在alter diskgroup all mount时,必须MOUNT的磁盘组的列表,

Rebalance
*****************************************
如果没有在ALTER DISKGROUP中指定POWER子句,那么在添加或者删除磁盘时,会以ASM_POWER_LIMIT指定的值来进行磁盘平衡
通过V$ASM_OPERATION视图提供的信息来修正ASM_POWER_LIMIT

ASM安装要求
*****************************************
64MB的SGA能适应使用所有的ASM,对于一个典型的ASM实例,大约100MB内存就足够了
CSS守护进程是必须的,其用于ASM和其客户数据库实例之间的通信。
通过DBCA会自动创建CSS,如果没有创建,通过root用户:$ORACLE_HOME/bin/localconfig all

磁盘发现
*****************************************
能被ASM发现的磁盘能在v$asm_disk中查询得到,对于添加进磁盘组的磁盘,将分配一个NAME,以及HEADER_STATUS列将显示为MEMBER,没有添加到磁盘组的磁盘,将没有NAME,HEADER_STATUS列显示为CANDIDATE或者PROVISIONED

查找缺乏副本的文件
*****************************************
V$ASM_FILE.REDUNDANCY_LOWERED
通过V$ASM_DISKGROUP.REQUIRED_MIRROR_FREE_MB来查看为保证镜像所需要的磁盘空间

ASM的限制
*****************************************
63个diskgroup,10000个ASM disk,每个ASM disk最大4PB,每个存储系统最大40EB,每个磁盘组最大存放1百万个文件,External redundancy支持最大35TB的文件,Normal redundancy 5.8 TB,High redundancy 3.9 TB

DISKGROUP
*****************************************
CREATE DISKGROUP dgroup1 NORMAL REDUNDANCY
FAILGROUP controller1 DISK
'/devices/diska1',
'/devices/diska2',
'/devices/diska3',
'/devices/diska4'
FAILGROUP controller2 DISK
'/devices/diskb1',
'/devices/diskb2',
'/devices/diskb3',
'/devices/diskb4';

使用ALTER DISKGROUP可以为磁盘组添加,删除磁盘,默认该语句不会等待动作完成,如果需要等到动作完成,需要添加REBALANCE WAIT子句,可以通过使用REBALANCE POWER控制平衡的速度

FORCE
*****************************************
使用FORCE子句,可以不管目标磁盘是否在使用,都添加到新的组或者删除掉(不等待平衡)

删除FAILOVER组
*****************************************
ALTER DISKGROUP xxx DROP DISKS IN FAILGROUP

UNDROP DISKS
*****************************************
回退正在执行的DROP DISK操作
ALTER DISKGROUP dgroup1 UNDROP DISKS;

其他语句
*****************************************
ALTER DISKGROUP ALL DISMOUNT;
ALTER DISKGROUP dgroup1 MOUNT;
ALTER DISKGROUP dgroup1 CHECK ALL;
DROP DISKGROUP dgroup1;
ALTER DISKGROUP dgroup1 ADD DIRECTORY '+dgroup1/mydir';
ALTER DISKGROUP dgroup1 ADD DIRECTORY '+dgroup1/mydir/first_dir/second_dir';
ALTER DISKGROUP dgroup1 RENAME DIRECTORY '+dgroup1/mydir' TO '+dgroup1/yourdir';
ALTER DISKGROUP dgroup1 DROP DIRECTORY '+dgroup1/yourdir' FORCE;
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';

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

下面是以前做维护RAC的笔记

ASM管理
使用ASMCMD时候,附加参数 -p 可以登录后提示符处显示路径

1. ASM 与 OMF
db_create_file_dest +ORCL_DATA1
db_recovery_file_dest +FLASH_RECOVERY_AREA

2. ASM磁盘复用等级
Disk Group Type Supported Mirroring Levels Default Mirroring Level
Normal redundancy 2-way
3-way
Unprotected (none) 2-way
High redundancy 3-way 3-way
External redundancy Unprotected (none) Unprotected

3. 特定的初始化参数
INSTANCE_TYPE:必须设置为ASM
ASM_POWER_LIMIT:磁盘平衡的默认能力
ASM_DISKSTRING:需要被添加到ASM磁盘组的盘区位置过滤
ASM_DISKGROUPS:ASM实例启动或者运行ALTER DISKGROUP ALL MOUNT命令时MOUNT的磁盘组

4. 添加和移除磁盘时的重新平衡
当添加或移除磁盘时,使用alter dishgroup 命令进行,附加子句POWER可以调整磁盘重新平衡的速度.如果未设置就取参数ASM_POWER_LIMIT的默认值.根据V$ASM_OPERATION视图的信息来调整.该视图在EST_MINUTES列上提供了平衡操作完成的剩余时间.

5. 创建ASM实例
如果不使用DBCA创建ASM实例,必须保证Cluster Synchronization Services (CSS)是在运行的.

启动CSS并配置
Log in to the host as root.
Ensure that $ORACLE_HOME/bin is in your PATH environment variable.
Enter the following command: localconfig add
不要再运行的系统上运行该命令,会导致数据库崩溃

崩溃后启动ASM实例是出现 ORA-29701: unable to connect to Cluster Manager
重新注册CSS 
[root@linux1 ~]# /u01/app/oracle/product/10.2.0/db_1/bin/localconfig delete
[root@linux1 ~]# /u01/app/oracle/product/10.2.0/db_1/bin/localconfig add
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.
Giving up: Oracle CSS stack appears NOT to be running.
Oracle CSS service would not start as installed
Automatic Storage Management(ASM) cannot be used until Oracle CSS service is started

查看/etc/inittab文件,看最后是否是(正确的)
h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 
h2:35:respawn:/etc/init.d/init.cssd fatal >/dev/null 2>&1 
h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 
我的机器上启动顺序错误
#h1:35:respawn:/etc/init.d/init.evmd run >/dev/null 2>&1 
#h3:35:respawn:/etc/init.d/init.crsd run >/dev/null 2>&1 
#h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 
修改就好了

6. 使用密码链接ASM实例
在服务器上配置tnsnames.ora
LISTENER_+ASM =
(ADDRESS = (PROTOCOL = TCP)(HOST = ASMTEST01)(PORT = 1598))
ASM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ASMTEST01)(PORT = 1598))
(CONNECT_DATA =
(SERVER = DEDICATED)
(UR=A)
(SERVICE_NAME = +ASM)
)
)
SQL> show parameter list
local_listener string LISTENER_+ASM

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

另外,ASM中的文件可以通过FTP访问,但是需要安装数据库时安装了XML DB的组件

通过脚本@?/rdbms/admin/catxdbdbca.sql 7787 8080 来建立FTP

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/611609/viewspace-743715/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 10g学习(2)
下一篇: Exadata 安装步骤
请登录后发表评论 登录
全部评论

注册时间:2008-12-08

  • 博文量
    252
  • 访问量
    494013