百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 优雅编程 > 正文

Oracle 管理ASM实例(oracle asm failgroup)

sinye56 2024-10-03 00:39 4 浏览 0 评论

一:查看ASM磁盘及磁盘组状态

SQL> select * from v$asm_disk;

SQL> select * from v$asm_diskgroup;

二:创建external 冗余磁盘组,添加,删除磁盘,删除磁盘的时候需要指定磁盘的name而不是path

SQL> create diskgroup FRA external redundancy disk '/dev/asm-disk4';

Diskgroup created.

SQL> alter diskgroup fra add disk '/dev/asm-disk5' rebalance power 10;

Diskgroup altered.

SQL> select name,failgroup,path from v$asm_disk;

NAME FAILGROUP PATH

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

DATA_0000 DATA_0000 /dev/asm-disk1

DATA_0001 DATA_0001 /dev/asm-disk3

DATA_0002 DATA_0002 /dev/asm-disk2

FRA_0000 FRA_0000 /dev/asm-disk4

FRA_0001 FRA_0001 /dev/asm-disk5

/dev/asm-disk6

/dev/asm-disk7

SQL> alter diskgroup fra drop disk 'FRA_0000' rebalance power 10;

Diskgroup altered.

三:创建normal redundancy磁盘组

SQL> conn /as sysasm

Connected.

SQL> create diskgroup fra normal redundancy

failgroup fg1 disk '/dev/asm-disk4','/dev/asm-disk5'

failgroup fg2 disk '/dev/asm-disk6','/dev/asm-disk7'

attribute 'compatible.rdbms'='11.2','compatible.asm'='11.2';

Diskgroup created.

SQL> select name, total_mb,free_mb,required_mirror_free_mb,usable_file_mb from v$asm_diskgroup;

NAME TOTAL_MB FREE_MB REQUIRED_MIRROR_FREE_MB USABLE_FILE_MB

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

DATA 61440 54873 0 18291

FRA 81920 81592 20480 30556

四:failgroup测试;FAILGROUP是用于将磁盘分组,以保证丢失任何一组FAILGROUP磁盘,数据还是完整的,多用于多阵列,通过ASM来完成冗余的环境!

1:查看FRA磁盘组中failgroup信息及磁盘状态

SQL> select name,path,failgroup,mount_status from v$asm_disk where group_number=2;

NAME PATH FAILGROUP MOUNT_STATUS

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

FRA_0003 /dev/asm-disk7 FG2 CACHED

FRA_0002 /dev/asm-disk6 FG2 CACHED

FRA_0000 /dev/asm-disk4 FG1 CACHED

FRA_0001 /dev/asm-disk5 FG1 CACHED

2:在rdbms实例中创建表空间,建表并插入数据,收集表统计信息

SQL> create tablespace test01 datafile '+FRA';

Tablespace created.

ASMCMD> pwd

+fra/db/datafile

ASMCMD> ls

TEST01.256.800622493

SQL> create table t1 tablespace test01 as select * from dba_objects;

Table created.

SQL> exec dbms_stats.gather_table_stats('SYS','T1');

PL/SQL procedure successfully completed.

SQL> select count(*) from t1;

COUNT(*)

----------

74501

3:删除udev相关规则,重启数据库实例和ASM实例,验证数据是否存在

SQL> conn /as sysasm

Connected.

SQL> alter diskgroup fra mount;

alter diskgroup fra mount

*

ERROR at line 1:

ORA-15032: not all alterations performed

ORA-15040: diskgroup is incomplete

ORA-15042: ASM disk "1" is missing from group number "2"

ORA-15042: ASM disk "0" is missing from group number "2"

SQL> alter diskgroup fra mount force;

Diskgroup altered.

SQL> select name,path,failgroup,mount_status from v$asm_disk;

NAME PATH FAILGROUP MOUNT_STATUS

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

FRA_0000 FG1 MISSING

FRA_0001 FG1 MISSING

FRA_0002 /dev/asm-disk6 FG2 CACHED

FRA_0003 /dev/asm-disk7 FG2 CACHED

DATA_0000 /dev/asm-disk1 DATA_0000 CACHED

DATA_0002 /dev/asm-disk2 DATA_0002 CACHED

DATA_0001 /dev/asm-disk3 DATA_0001 CACHED

7 rows selected.

SQL> conn /as sysdba

Connected.

SQL> select count(*) from t1;

COUNT(*)

----------

74501

五:删除ASM磁盘组,默认磁盘故障条件下,经过12960秒即3.6个小时后自动删除;删除磁盘组之前需要保证无数据存放在磁盘组上且无到该磁盘组的active连接

[grid@localhost ~]$ tail -f /u01/app/grid/diag/asm/+asm/+ASM/trace/alert_+ASM.log

ORA-15062: ASM disk is globally closed

Thu Nov 29 12:00:53 2012

WARNING: Disk 0 (FRA_0000) in group 2 will be dropped in: (12960) secs on ASM inst 1

WARNING: Disk 1 (FRA_0001) in group 2 will be dropped in: (12960) secs on ASM inst 1

Thu Nov 29 12:00:58 2012

asm实例:

SQL> select path,name,repair_timer from v$asm_disk where group_number=2;

PATH NAME REPAIR_TIMER

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

FRA_0000 12960

FRA_0001 12960

/dev/asm-disk6 FRA_0002 0

/dev/asm-disk7 FRA_0003 0

SQL> alter diskgroup fra online disk 'FRA_0000';

Diskgroup altered.

SQL> alter diskgroup fra online disk 'FRA_0001';

Diskgroup altered.

SQL> select name,path,failgroup,mount_status from v$asm_disk;

NAME PATH FAILGROUP MOUNT_STATUS

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

FRA_0002 /dev/asm-disk6 FG2 CACHED

FRA_0003 /dev/asm-disk7 FG2 CACHED

DATA_0000 /dev/asm-disk1 DATA_0000 CACHED

DATA_0002 /dev/asm-disk2 DATA_0002 CACHED

DATA_0001 /dev/asm-disk3 DATA_0001 CACHED

FRA_0001 /dev/asm-disk5 FG1 CACHED

FRA_0000 /dev/asm-disk4 FG1 CACHED

SQL> drop diskgroup fra;

drop diskgroup fra

*

ERROR at line 1:

ORA-15039: diskgroup not dropped

ORA-15053: diskgroup "FRA" contains existing files

rdbms实例:

SQL> drop tablespace test01 including contents;

Tablespace dropped.

SQL> shutdown immediate

Database closed.

Database dismounted.

ORACLE instance shut down.

asm实例:

SQL> drop diskgroup fra including contents;

Diskgroup dropped.

rdbms实例:

SQL> startup

ORACLE instance started.

Total System Global Area 313860096 bytes

Fixed Size 1344652 bytes

Variable Size 192940916 bytes

Database Buffers 113246208 bytes

Redo Buffers 6328320 bytes

Database mounted.

Database opened.

相关推荐

Linux两种光驱自动挂载的方法

环境:CentOS6.4西昆云服务器方式一修改fstab文件/etc/fstab是系统保存文件系统信息?静态文件,每一行描述一个文件系统;系统每次启动会读取此文件信息以确定需要挂载哪些文件系统。参...

linux系统运维,挂载和分区概念太难?在虚机下操作一次全掌握

虚拟机的好处就是可以模拟和学习生产环境的一切操作,假如我们还不熟悉磁盘操作,那先在虚机环境下多操作几次。这次来练习下硬盘扩容操作。虚拟机环境:centos8vm11linux设备命名规则在linux中...

Linux 挂载 NFS 外部存储 (mount 和 /etc/fstab)

mount:手工挂载,下次重启需再重新挂载,操作命令:mount-tnfs-ooptionsserver:/remote/export/local/directory上面命令中,本地目录...

在Linux中如何设置自动挂载特定文件系统(示例)

Linux...

Linux环境中的绑定挂载(bind mount)

简介:Linux中的mount命令是一个特殊的指令,主要用于挂载文件目录。而绑定挂载(bindmount)命令更为特别。mount的bind选项将第一个目录克隆到第二个。一个目录中的改变将会在...

Linux挂载CIFS共享 临时挂载 1. 首先

如何解决服务器存储空间不足的问题?大家好,欢迎回来。在上一期视频中,我为大家介绍了如何利用Linux挂载来扩容服务器存储空间。这一期视频,我将以Linux为例,教大家如何进行扩容。群辉使用的是Linu...

Linux 硬盘挂载(服务器重启自动挂载)

1、先查看目前机器上有几块硬盘,及已挂载磁盘:fdisk-l能够查看到当前主机上已连接上的磁盘,以及已经分割的磁盘分区。(下面以/dev/vdb磁盘进行分区、挂载为例,挂载点设置为/data)df...

linux 挂载磁盘

在Linux中挂载硬盘的步骤如下:...

笨小猪教您Linux磁盘挂载

本教程针对Linux系统比较熟悉或者想学习Linux基础的用户朋友,本教程操作起来比较傻瓜式,跟着步骤就会操作,本文使用的工具是XShell同时多多注意空格(文中会有提示)。【问答】什么是磁盘挂载?答...

Linux 磁盘挂载和docker安装命令

本篇给大家介绍Linux磁盘挂载和docker安装的相关内容,Linux服务器的操作是一个手熟的过程,一些不常用的命令隔断时间就忘记了,熟话说好记性不如烂笔头,还需在平时的工作中多练习记录。...

Linux设置开机自动挂载分区

有时候,我们在安装完Linux系统之后,可能在使用过程中添加硬盘或者分区进行使用,这时候就需要手动把磁盘分区挂载到某个路径,但是开机之后就会消失,需要重新挂载,非常麻烦,那么我们应该如何设置开机自动挂...

在linux挂载一个新硬盘的完整步骤

以下是在Linux中挂载新原始磁盘的完整步骤,包括分区、创建文件系统以及使用UUID在/etc/fstab中启动时挂载磁盘:将新的原始磁盘连接到Linux系统并打开电源。运行以下命令,...

Linux系统如何挂载exFAT分区

简介:Linux系统中不能像Windows系统那样自动识别加载新设备,需要手动识别,手动加载。Linux中一切皆文件。文件通过一个很大的文件树来组织,文件树的根目录是:/,从根目开始录逐级展开。这些文...

Linux系统挂载硬盘

fdisk-l查看可挂载的磁盘都有哪些df-h查看已经挂载的磁盘...

WSL2发布,如何在Win10中挂载Linux文件系统

WSL2是最新版本的架构,它为Windows子系统提供支持,使其能够在Windows上运行ELF64Linux二进制文件。通过最近的更新,它允许使用Linux文件系统访问存储在硬盘中的文件。如果你...

取消回复欢迎 发表评论: