ORACLE ASM 存储磁盘管理

简介: -- ORACLE ASM 自动存储管理-- 1、磁盘组的创建与删除sqlplus / as sysasmcreate diskgroup data normal redundancy failgroup f1 disk'/dev/data1','/dev/data2',failgroup f2 disk'/dev/data3','/dev/data4';删除磁盘组:alter drop diskgroup data dismount;drop diskgroup data;如果磁盘组中还包含文件,那么上述命令将执行失效。

-- ORACLE ASM 自动存储管理

-- 1、磁盘组的创建与删除

sqlplus / as sysasm

create diskgroup data normal redundancy failgroup f1 disk

'/dev/data1',

'/dev/data2',

failgroup f2 disk

'/dev/data3',

'/dev/data4';


删除磁盘组:

alter drop diskgroup data dismount;

drop diskgroup data;

如果磁盘组中还包含文件,那么上述命令将执行失效。则需要在删除磁盘组命令中指定 including contents 语句

drop diskgroup data including contents;


-- 2、磁盘的添加与删除

添加磁盘:

alter diskgroup data add disk '/dev/data5' name ds5, '/dev/data6' name ds6;

删除磁盘:

alter diskgroup data drop disk ds5;

删除失败组 f2 中的所有磁盘:

alter diskgroup data drop disks in failgroup f2;

取消还未完成的删除操作:

alter diskgroup data undrop disks;


-- 3、查询磁盘组相关信息

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

select group_number,path,state,total_mb,free_mb from v$asm_disk;

select group_number,instance_name,db_name,status from v$asm_client;


-- 4、磁盘重平衡

平衡级别 0-11(0停止重平衡,11最快重平衡)平衡默认级别由初始化参数 ASM_POWER_LIMIT 限制

alter diskgroup data rebalance power 3;

alter diskgroup data rebalance power 3 wait;


-- 5、磁盘组的挂载和卸载

alter diskgroup data(all) mount;

alter diskgroup data(all) dismount force;


-- 6、磁盘组中文件和目录的管理

在ASM磁盘组中创建目录

alter diskgroup data add directory '+data/d1';

alter diskgroup data rename directory '+data/d1' to '+data/d2';

alter diskgroup data drop directory '+data/d2' force;

alter diskgroup data add alias '+data/d2/tmp01.dbf' for '+/data/orcl/datafile/tmp01.421.3';

alter diskgroup data rename alias '+data/d2/tmp01.dbf' to '+data/d2/tmp01_1.dbf';

alter diskgroup data delete alias '+data/d2/tmp01_1.dbf';


-- 7、自动文件管理功能 OMF

使用Oracle自动文件管理时,需要设置如下参数:

DB_CREATE_FILE_DEST

DB_CREATE_ONLINE_LOG_DEST_n

DB_RECOVERY_FILE_DEST


-- 8、创建OMF数据库 不指定local则为字典管理:

DB_CREATE_FILE_DEST = '+DATA'

DB_CREATE_ONLINE_LOG_DEST_1 = '+DATA'

DB_CREATE_ONLINE_LOG_DEST_2 = '+DATA'

create database test_db extent management local;

如指定参数创建数据库:

create database test_db

datafile size 500m autoextend on next 20m

sysaux datafile size 200m autoextend on next 20m

undo tablespace uts1 datafile size 20m autoextend on next 10m

default temporary tablespace temp tempfile size 50m;


-- 9、创建OMF表空间(Oracle Managed Files)

alter system set DB_CREATE_FILE_DEST = '+data';

create tablespace tbs datafile size 200m maxsize 30g autoextend on;:

alter system set DB_CREATE_FILE_DEST = '+data';

alter tablespace tbs add datafile size 200m autoextend on next 2m maxsize 30g;

select file_name,tablespace_name from dba_data_files;


-- 10、创建OMF重做日志文件

DB_CREATE_ONLINE_LOG_DEST_1 = '+data'

DB_CREATE_ONLINE_LOG_DEST_2 = '+fra'

alter database add logfile size 50m;

select * from v$logfile;


-- 11、存储归档日志

归档日志存储位置由初始化参数 LOG_ARCHIVE_DEST_n 决定 (n->1-31),名称由 LOG_ARCHIVE_FORMAT 指定。


-- 12、ASMCMD 命令的用法

ASMCMD> startup --nomount --pfile asm_init.ora

shutdown

shutdown --abort

lspwusr 

orapwusr 

orapwusr --add --privilege sysasm usr

sqlplus usr/123456 as sysasm

select * from v$pwfile_users;

orapwusr --modify --password usr

orapwusr --delete usr


ASM 参数管理:

ASMCMD> spget

spset +DATA/asm/asmparameterfile/asmspfile.ora

spbackup +DATA/asm/asmparameterfile/asmspfile.ora /u01/backuppfile.ora 

spcopy -u /u01/backuppfile.ora +DATA/backuppfile.ora

spmove  /u01/backuppfile.ora +DATA/testspfileASM.ora


管理磁盘组:

lsdg data --查看磁盘组信息(==v$asm_diskgroup)

lsdsk -G data --查看磁盘组中的磁盘 (v$asm_disk v$asm_disk_stat)

lsdsk --statistics -G data         --获得磁盘组中所有磁盘的I/O信息

lsdsk --candidate -p  --获取系统中的候选磁盘(不属于任何磁盘组的磁盘)

lsod --查看磁盘组中被打开的磁盘

使用方式如下:

lsod -G data --process LGWR --查看LGWR后台进程正在访问的磁盘

lsod --process LGWR disk --查看LGWR后台进程正在访问并且名称中包含字符 disk 的磁盘。

lsattr -l -G data --查看磁盘组的属性信息

setattr --用于修改磁盘组属性值

setattr -G data compatible.rdbms 11.2.0.0.0


磁盘组的创建与删除:

ASMCMD> mkdg /u01/app/data.xml

mkdg '<dg name="data"><dsk string="/dev/sdb[4-5]"/></dg>'

删除磁盘组:

dropdg -r -f data

磁盘组的卸载与挂载:

mount -a

mount data

umount -a

umount data

使磁盘组脱机:-t 参数可以指定脱机时间

offline -G data -D data_0001 -t 2h

使磁盘组联机:

online -G data -a

online -G data -D data_0001

磁盘重平衡:

rebal --power 4 data -w

lsop  --查看磁盘组上正在运行的操作



下面命令获取磁盘组data中各个磁盘的读写数据量、所用时间、发生错误次数、读写次数:

iostat -G data

iostat -t -G data

iostat -e -G data

iostat --io -G data


通过ASMCMD管理磁盘组中的文件:

find +data ttmp0121.dbf --用于在磁盘组中查找文件

find --type controlfile +data/orcl *          --查找类型为controlfile 的所有文件

lsof -G data --查看磁盘组data中被打开的文件

lsof -C orcl1 --查看所有被orcl1实例打开的文件

lsof --dbname orcl --查看属于数据库orcl的被打开的问件


-- 13、ACFS文件系统管理:

在ADVM(ASM Dynamic Volume Manager)中创建ACFS文件系统:

#/u01/app/grid/bin scfsload start

volcreate -G data -s 500m v1

volinfo -a

volinfo -G data v1

volinfo -G data -a

volinfo --show_diskgroup /dev/asm/v1_303

volinfo --show_volume /dev/asm/v1_303

volresize -G data -s 1000M v1

voldisable -a

voldisable -G data -a

voldisable -G data v1

volenable -a

volenable -G data -a

volenable-G data v1

voldelete -G data v1


select volume_name,volume_device from v$asm_volume where volume_name='V1';

SQL>alter diskgroup ORADG enable volume 'V1';

$/sbin/mkfs -t acfs /dev/asm/v1-123

#/bin/mount -t acfs /dev/asm/v1-123 /u01/app/grid/myacfs

$/sbin/acfsutil registry -a /dev/asm/v1-123 /u01/app/grid/myacfs

$/sbin/acfsutil registry -d  /u01/app/grid/myacfs

#/bin/umount  /u01/app/grid/myacfs

$/sbin/acfsutil rmfs /dev/asm/v1-123


-- 14、ACFSUTIL 工具的用法

$ asmcmd volinfo -G DATA -a  

$ asmcmd lsdg  

$/sbin/acfsutil size 30G /u01/app/grid/myacfs          --把文件系统扩展到30GB

$/sbin/acfsutil size +500M /u01/app/grid/myacfs --把文件系统扩展500M的存储空间

$/sbin/acfsutil size -500M /u01/app/grid/myacfs         --把文件系统减小500M的存储空间


$/sbin/acfsutil registry -a  /dev/asm/v1-123 /u01/app/grid/myacfs  --对文件系统进行注册,使其随集群启动而启动

$/sbin/acfsutil registry -d  /u01/app/grid/myacfs  --删除注册信息

$/sbin/acfsutil registry -m  /dev/asm/v1-123    --查看文件系统挂接在那个目录下

$/sbin/acfsutil info fs /u01/app/grid/myacfs    --查看文件系统的详细信息

$/sbin/acfsutil info info /u01/app/grid/myacfs            --查看详细信息

$/sbin/acfsutil rmfs /dev/asm/v1-123 --删除卷上的文件系统

注意:该文件系统删除后文件并没有真正删除,文件系统所在卷也没有被删除,只要该卷没有再次创建文件系统并使用,以前文件系统的数据可以通过 fsck 命令进行恢复。


-- 15、磁盘状态

MEMBER -- 属于当前diskgroup的disk

FORMER -- 这个disk以前属于一个diskgroup,现在这个diskgroup被删除了

CANDIDATE -- 当使用裸设备,一个新的可以被diskgroup所用的disk

PROVISIONED-- 当使用asmlib,一个新的可以被diskgroup所用的disk


-- 16、磁盘组状态

•CONNECTED - Disk group is in use by the database instance

•BROKEN         - Database instance lost connectivity to the Automatic Storage Management instance that mounted the disk group

•UNKNOWN         - Automatic Storage Management instance has never atttmp01ted to mount the disk group

•DISMOUNTED       - Disk group was cleanly dismounted by the Automatic Storage Management instance following a successful mount

•MOUNTED         - Instance is successfully serving the disk group to its database clients

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

•CONNECTED         -- 数据库实例正在使用磁盘组

•BROKEN -- 数据库实例失去了与挂载磁盘组的自动存储管理实例的连接

•UNKNOWN         -- 自动存储管理实例从未尝试挂载磁盘组

•DISMOUNTED -- 成功挂载之后,自动存储管理实例干净地卸载了磁盘组

•MOUNTED         -- 实例正在成功地将磁盘组服务于其数据库客户端


目录
相关文章
|
9天前
|
Oracle 关系型数据库
oracle asm 磁盘显示offline
oracle asm 磁盘显示offline
17 2
|
9天前
|
文字识别 运维 Oracle
asm 磁盘故障处理日志
asm 磁盘故障处理日志
14 2
|
1月前
|
存储 Oracle 关系型数据库
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
oracle数据库ASM磁盘组掉线,ASM实例不能挂载。数据库管理员尝试修复数据库,但是没有成功。
【数据库数据恢复】Oracle数据库ASM磁盘组掉线的数据恢复案例
|
10月前
RAC 增加4块 asm 磁盘
增加磁盘之前的asm状态
|
10月前
|
Oracle 关系型数据库 测试技术
GoldenGate 对asm磁盘的访问的两种方式:asm实例连接和API(dblogreader)两种方式的对比
GoldenGate在抽取数据的时候要读取online redo里的数据,online redo很多时候是储存在asm磁盘里,对asm磁盘的访问有两种方式
|
10月前
创建asm disk 磁盘组出错! ORA-15018 And ORA-15107 (Doc ID 2678808.1)
ORA-15018: diskgroup cannot be created ORA-15107: missing or invalid ASM disk name
|
10月前
|
监控
监控ASM磁盘IO(iostat)
找到ASM磁盘对应的OS设备
156 0
|
SQL Oracle 关系型数据库
Oracle ASM磁盘和磁盘组的常用SQL语句
Oracle ASM磁盘和磁盘组的常用SQL语句
175 0
|
文字识别 Oracle NoSQL
oracle 11g 单机asm配置
oracle 11g 单机asm配置
469 0
|
Oracle 关系型数据库
❤️Oracle ASM加磁盘及剔盘操作❤️
❤️Oracle ASM加磁盘及剔盘操作❤️
184 0