ASM创建与管理

本文介绍了如何在RedHat Linux环境下启动ASM实例,并详细讲解了ASM磁盘组的创建、查看、删除、添加磁盘、卸载/挂载以及一致性检查等操作。此外,还提到了数据库初始化参数配置以及创建数据库的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

启动管理ASM的实例
export ORACLE_SID=+ASM
sqlplus '/as sysdba'

ASM初始化参数文件内容:
$:  vi init+ASM.ora

*.background_dump_dest='d:/oracle/product/10.1.0/admin/+ASM/bdump'
*.core_dump_dest='d:/oracle/product/10.1.0/admin/+ASM/cdump'
*.instance_type='asm'
*.large_pool_size=12M
*.remote_login_passwordfile='SHARED'
*.user_dump_dest='d:/oracle/product/10.1.0/admin/+ASM/udump'

$:export ORACLE_SID=+ASM
$:sqlplus '/as sysdba'
SQL>startup nomount


操作系统环境RedHat Linux 2.4.21-15.EL
裸设备绑定关系:

[root@cg01 root]# raw /dev/raw/raw51 /dev/sdc
/dev/raw/raw51: bound to major 8, minor 32
[root@cg01 root]# raw /dev/raw/raw52 /dev/sdd
/dev/raw/raw52: bound to major 8, minor 48

#:chown oracle:dba /dev/raw/raw*

#:raw -qa|awk '{print $1,$5,$7}'|tr ':' ' '|tr ',' ' ' >/etc/sysconfig/rawdevices    (静态的绑定,以后重起就可以自动绑定)

1)创建磁盘组:(要在NOMOUNT状态下)
create diskgroup disk1 normal redundancy
    failgroup fg1 disk '/dev/raw/raw91' name d1
    failgroup fg2 disk '/dev/raw/raw92' name d2
    failgroup fg3 disk '/dev/raw/raw93' name d3
    failgroup fg4 disk '/dev/raw/raw94' name d4
    ;

注:external redundancy    表明冗余度仅要求一个故障组,假设这个磁盘对于正在运行的数据库操作                           不是关键的,或者磁盘是经过RAID的外部管理。
    normal redundancy      标准冗余度提供双向镜像,要求一个磁盘中要有两个故障组,故障组中的                           一个磁盘出故障不会导致磁盘组停止工作,也不会丢数据,只不过对查询                            组的对象有一些性能上的影响。
    high   redundancy      提供三向镜像,要求一个磁盘中要有三个故障组,故障组中的                                        两个个磁盘出故障不会导致磁盘组停止工作,也不会丢数据,


   在一个磁盘组中的各个磁盘中的文件,被粗糙的或精细的分割,粗糙分割为1MA为单位分布于所有的磁盘中,适用于OLTP数据库,精细分割为128KB为单位分布文件,适合于数据库仓库,


2)查看新的可用的磁盘组:

select GROUP_NUMBER,name,type,total_mb,free_mb from v$asm_diskgroup;

select group_number,disk_number,name,failgroup,path from v$asm_disk;


3)删除磁盘组

drop diskgroup disk1

drop diskgroup disk1 including contents;  (磁盘组中含有数据库对象)


4)为磁盘组添加磁盘

alter diskgroup disk1  add failgroup fg4 disk '/dev/raw/raw4' name d4;                                       
                                                                        

5)从磁盘组中删除一个磁盘成员  (要在mount状态下)

 alter diskgroup disk1 drop disk d4;


6)可以同时对磁盘组进行DROP和ADD操作,这样只发生一次平衡操作,减少CPU和I/O时间                                

alter diskgroup disk1 add failgrop fg4 disk '/dev/raw/raw5' name d4 drop disk d3;

 

7)卸载/挂接磁盘组

alter diskgroup disk1 dismount;   (磁盘组中必须没有打开的文件且磁盘组中的所有表空间处于脱机状态)

alter diskgroup disk1 mount;


8)验证磁盘组的内部一致性

alter diskgroup disk1 check all;

检验也可以用于磁盘组中的单个文件或磁盘,发现错误,会报错,细节在日志警告文件中。

 

create diskgroup disk1 normal redundancy
    failgroup fg1 disk '/dev/raw/raw2' name d1
    failgroup fg2 disk '/dev/raw/raw3' name d2
    failgroup fg3 disk '/dev/raw/raw4' name d3
    failgroup fg4 disk '/dev/raw/raw5' name d4;


9)建立完磁盘组后,就可以创建数据库了。建立数据库的过程与其它的方式建库没有什么区别。

10)打开或关闭一个ASM实例,主要装载ASM磁盘组

startup
alter diskgroup disk1 mount;


11)数据库初始化参数文件
$:cp initdw.ora initcuug.ora
$:vi initcuug.ora


db_name=cuug
 
###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=/oracle/admin/cuug/bdump
core_dump_dest=/oracle/admin/cuug/cdump
user_dump_dest=/oracle/admin/cuug/udump
 
###########################################
# File Configuration
###########################################
db_create_file_dest=+DISK1
db_recovery_file_dest=+DISK1
db_recovery_file_dest_size=200M
 
###########################################
# Job Queues
###########################################
job_queue_processes=10
 
###########################################
# Miscellaneous
###########################################
compatible=10.2.0.1.0
 
###########################################
# Processes and Sessions
###########################################
processes=150
 
###########################################
# SGA Memory
###########################################
sga_target=167772160
 
###########################################
# Security and Auditing
###########################################
audit_file_dest=/oracle/admin/cuug/adump
remote_login_passwordfile=EXCLUSIVE
 
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=16777216
 
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS1
#############################################
shared_pool_size=90m
large_pool_size=30m


11)建库脚本  (建库时ASM实例要求是mount状态,这时磁盘组才是可用)

CREATE DATABASE cuug
MAXINSTANCES 8
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
DATAFILE SIZE 300M AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE SIZE 50M AUTOEXTEND ON NEXT  10240K MAXSIZE UNLIMITED
SMALLFILE DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE SIZE 20M AUTOEXTEND ON NEXT  640K MAXSIZE UNLIMITED
SMALLFILE UNDO TABLESPACE "UNDOTBS1" DATAFILE SIZE 100M AUTOEXTEND ON NEXT  5120K MAXSIZE UNLIMITED
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
LOGFILE GROUP 1  SIZE 51200K,
GROUP 2  SIZE 51200K,
GROUP 3  SIZE 51200K;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值