ORACLE ASM 存储磁盘管理-阿里云开发者社区

开发者社区> ziheng> 正文

ORACLE ASM 存储磁盘管理

简介: -- 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; 如果磁盘组中还包含文件,那么上述命令将执行失效。
+关注继续查看

-- 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         -- 实例正在成功地将磁盘组服务于其数据库客户端


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C/C++封装库ocicpplib调用Oracle存储过程的方法
工作这么多年,一直使用Mysql, Oracle数据库没有接触过, 这次要使用C/C++语言来调用Oracle的存储过程, 懒得自己去看OCI的API了, 直接上网找别人封装的库, 最后发现了这个ocicpplib, 下载了看了一下, 还不错, 使用起来比较简单。
1069 0
OTL调用Oracle存储过程
OTL很早前用过,今天写东西要调存储过程,程序写完了,调试死活通不过,折腾了一早晨。 最后才发现错误,这里总结一下: 1、代码写的不规范。 有个参数后边少写了个“,”以至于总是抱错。而单独写的测试例子就没问题,后来一步一步跟踪了后才发现。
1367 0
【原】Oracle VirtualBox搭建RAC共享存储划分
作者:david_zhang@sh 【转载时请以超链接形式标明文章】 链接:http://www.cnblogs.com/david-zhang-index/archive/2012/07/12/2587826.
927 0
存储基础知识 - 磁盘寻址(CHS寻址方式、LBA寻址方式)
http://blog.csdn.net/haiross/article/details/38659825
1203 0
Linux 磁盘管理1——基础
一、fdisk  实例解说Linux中fdisk分区使用方法   fdisk -Partition table manipulator for Linux ,译成中文的意思是磁盘分区表操作工具;本人译的不太好,也没有看中文文档;其实就是分区工具;   fdsik...
1107 0
+关注
ziheng
喜欢搞事情。。。
98
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载