Oracle DB 存储增强

• 设置Automatic Storage Management (ASM) 快速镜像 再同步

• 使用ASM 首选镜像读取

• 了解可伸缩性和性能增强

• 设置ASM 磁盘组属性

• 使用SYSASM 角色

• 使用CHECK、MOUNT和DROP 命令的多种易管理的新选项

• 使用ASMCMD 的md_backup、md_restore和cp扩展

  • *无ASM 快速镜像再同步时

无ASM 快速镜像再同步时

每当ASM 无法向分配给某个磁盘的区执行写入操作时,就会使该磁盘脱机,同时会在其 它磁盘上至少写入一个此区的镜像副本(如果相应的磁盘组使用了ASM 冗余)。

使用Oracle Database 10 g 时,ASM 会假定脱机磁盘只包含过时数据,因此不再从此类磁 盘中读取数据。磁盘脱机后不久,ASM 就会使用冗余区副本在磁盘组中的剩余磁盘上重 新创建分配给磁盘的区,将脱机的磁盘从磁盘组中删除。此进程是一项开销相对较大的操 作,可能要花费几小时来完成。

如果磁盘故障只是临时性的(如电缆、主机总线适配器、控制器故障或磁盘的电源中 断),则必须在临时故障修复后重新添加磁盘。但是,将删除的磁盘重新添加回磁盘组还 需要将区迁回磁盘,因此增加了成本。

  • *ASM 快速镜像再同步:概览

ASM 快速镜像再同步会显著减少重新同步临时故障磁盘所需的时间。如果某个磁盘因临 时故障而脱机,ASM 将跟踪在中断期间发生修改的区。临时故障被修复后,ASM 可以快 速地仅重新同步在中断期间受到影响的ASM 磁盘区。

此功能假定受到影响的ASM 磁盘内容未发生损坏或修改。

某个ASM 磁盘路径出现故障时,如果您已设置了相应磁盘组的DISK_REPAIR_TIME 属 性,则ASM 磁盘会脱机,但不会被删除。此属性的设置确定了 ASM 可容忍的磁盘中断 持续时间;如果中断在此时间范围内,则修复完成后仍可重新同步。

注:跟踪机制对每个已修改的区使用一个位,这样可确保跟踪机制非常高效。

  • *使用EM 执行快速镜像再同步

使用EM 执行快速镜像再同步

在Oracle Enterprise Manager (EM) 中使ASM 磁盘脱机时,您需要对该操作进行确认。在 “Confirmation(确认)”页上,可以覆盖默认的磁盘修复时间。同样,可以按故障组进 行查看,并选择使特定的故障组脱机。

  • *使用EM 执行快速镜像再同步

使用EM 执行快速镜像再同步(续)

也可以使用Enterprise Manager 使磁盘联机。

  • *设置ASM 快速镜像再同步

ALTER DISKGROUP dgroupA SET ATTRIBUTE ‘DISK_REPAIR_TIME’=’3H’;

ALTER DISKGROUP dgroupA OFFLINE DISKS IN FAILGROUP contrl2 DROP AFTER 5H;

ALTER DISKGROUP dgroupA ONLINE DISKS IN FAILGROUP contrler2 POWER 2 WAIT;

ALTER DISKGROUP dgroupA DROP DISKS IN FAILGROUP contrl2 FORCE;

设置ASM 快速镜像再同步

请按磁盘组设置此功能。可以在创建磁盘组后使用ALTER DISKGROUP命令完成此操 作。使用一个类似以下命令的命令启用ASM 快速镜像再同步:

ALTER DISKGROUP SET ATTRIBUTE ‘DISK_REPAIR_TIME’=’2D4H30M’

在修复了磁盘后,运行SQL 语句ALTER DISKGROUP ONLINE DISK。此语句可使修复 的磁盘组重新联机以启用写操作,这样便不会丢失新的写入内容。此语句还会启动一个过 程,以复制在其冗余副本上标记为过时的所有区。不能将ONLINE 语句用于已经删除的 磁盘。

可以通过查询V$ASM_ATTRIBUTE视图来查看当前的属性值。

通过查询V$ASM_DISK或V$ASM_DISK_IOSTAT的REPAIR_TIMER列,可以确定 ASM 删除某个脱机磁盘前剩余的时间。此外,V$ASM_OPERATION中将出现一个与磁盘

再同步操作对应的行,其中的OPERATION 列设置为SYNC。

为了进行预防性维护,还可以使用SQL 语句ALTER DISKGROUP OFFLINE DISK 手动 使ASM 磁盘脱机。使用此命令可以指定一个计时器,以覆盖在磁盘组级别定义的计时 器。完成维护后,使用ALTER DISKGROUP ONLINE DISK语句使磁盘重新联机。

如果无法修复处于脱机状态的故障组,则可使用带FORCE选项的ALTER DISKGROUP DROP DISKS IN FAILGROUP 命令,这样便可以确保根据数据的冗余副本重新构建原先存 储在这些磁盘上的数据,并将其存储在同一磁盘组中的其它磁盘上。

注:仅当装载了磁盘组时才计算时间。而且,更改 DISK_REPAIR_TIME 的值不会影响 以前脱机的磁盘。DISK_REPAIR_TIME 的默认设置3.6 小时对多数环境来说应当足够 了。

  • *ASM 首选镜像读取:概览

在Oracle Database 10 g 中配置ASM 故障组时,ASM 将始终读取镜像区的主副本。让节点 从最靠近该节点的故障组区(即使是辅助区)读取数据效率可能更高些。在扩展的集群配 置(节点跨多个站点分布)中,这种情况尤其明显;在这种情况下,从区的本地副本读取 数据可以提高性能。

使用Oracle Database 11 g 时,通过使用新的初始化参数

ASM_PREFERRED_READ_FAILURE_GROUPS 指定首选镜像读取名称列表来配置首选镜 像读取,可以做到这一点。这些故障组中的磁盘将成为首选读取磁盘。这样一来,每个节 点都可以从其本地磁盘读取数据了。这样不但可以提高效率和性能,还可以降低网络通信 量。该参数的设置取决于具体的实例。

  • *ASM 首选镜像读取:设置

ASM 首选镜像读取:设置

要配置此功能,请设置新的ASM_PREFERRED_READ_FAILURE_GROUPS 初始化参数。此 参数是一个多值参数,应包含一个带有逗号分隔的故障组名称列表的字符串。指定的每个 故障组名称应以其磁盘组名称和一个”.”字符为前缀。此参数是动态参数,可以随时使用 ALTER SYSTEM 命令进行修改。图中显示了一个示例。但是,该初始化参数仅对ASM 实例有效。使用扩展集群时,该参数中指定的故障组只应包含对应实例的本地磁盘。 新的列PREFERRED_READ 已被添加到V$ASM_DISK视图中,使用单字符格式。如果磁盘 所属的磁盘组属于首选读取故障组,则此列的值为Y。

要确定ASM 首选读取故障组的特定性能问题,请使用 V$ASM_DISK_IOSTAT视图。

此视图将显示每台ASM 客户机的磁盘输入/ 输出(I/O) 统计信息。如果从一个数据库实例中 查询此视图,则仅显示此实例的行。

  • *Enterprise Manager 的ASM 配置页

Enterprise Manager 的ASM 配置页

可以使用Enterprise Manager 来指定一组磁盘作为每个ASM 实例的首选磁盘。首选读取 属性取决于具体的实例。在Oracle Database 11 g 中,配置页上增加了”Preferred Read Failure Groups(首选读取故障组)”字段 ( asm_preferred_read_failure_group) 。

此参数仅在装载磁盘组之前或者创建磁盘组时才有效,并且仅适用于新打开的文件或新加 载的文件区映射。

  • *ASM 首选镜像读取:最佳方法

ASM 首选镜像读取:最佳方法

在实践中,扩展集群中只有数量有限的有效磁盘组配置。有效磁盘组配置会同时考虑磁盘 组在扩展集群中的性能和可用性。下面是一些可能的示例:

对于一个包含两个站点的扩展集群,正常的冗余磁盘组应只有两个故障组;一个站点的所 有本地磁盘都应属于相同的故障组。此外,每个实例只能指定一个故障组作为首选读取故 障组。如果有两个以上的故障组,则ASM 不会对一个跨两个站点的虚拟区进行镜像。而 且,如果具有两个以上故障组的站点关闭,则也会使磁盘组关闭。如果要创建的磁盘组是 一个高冗余磁盘组,则应在每个站点及其本地磁盘上最多创建两个故障组,并将两个本地 故障组都指定为本地实例的首选读取故障组。

对于包含三个站点的扩展集群,应使用含三个故障组的高冗余磁盘组。通过这种方式, ASM 可以保证每个虚拟区对于每个站点都有一个本地镜像副本,并且三个站点上的磁盘 组都受到保护以避免重大灾难。

  • *ASM 可伸缩性和性能增强

• 区大小自动根据文件大小增加。

• ASM 支持可变区大小,可以:

– 增加可能的最大文件大小

– 减少共享池中内存的使用量

• 出现重要碎片时,不需要执行手动重新平衡以外的其它 管理任务。

ASM 可伸缩性和性能增强

ASM 可变大小区是一种自动功能,ASM 可使用该功能在提高内存使用效率的同时支持较大 的文件大小。

在Oracle Database 11 g 中,ASM 支持1、8 和64 个分配单元(AU) 的可变大小区。ASM 使用 预先确定了数量的各种大小的区。只要一个文件超过了特定的阈值,就会使用下一个区大 小。

利用此功能,可以减少描述文件所需的区指针数,以及管理共享池中区映射所需的内存 (在大型文件配置中禁止使用)。区大小在文件之间以及文件内部都有所不同。

通过可变大小区功能还可以使用ASM 部署几百个 TB(甚至几个PB)大小的Oracle DB。

注:可变大小区的管理是完全自动化的,不需要手动管理。

但是,如果分配并释放了大量非连续的小型数据区,并且没有其它连续的大型区可用时, 则可能出现外部碎片。碎片整理操作将被集成到重新平衡操作中。因此,DBA 始终可以 通过执行重新平衡操作对磁盘组进行碎片整理。

不过,这种情况极其罕见,因为ASM 也会在所需大小不可用时自动在区分配过程中执行 碎片整理。这可能会延长某些分配操作的时间。

注:此功能还可以加快文件的打开速度,因为这可以大量减少存储文件区所需的内存量。

  • *Oracle Database 11g 中的ASM 可伸缩性

ASM 强制实施下列限制:

• 63 个磁盘组

• 10,000 个ASM 磁盘

• 每个ASM 磁盘4 PB

• 40 EB 的存储空间

• 每个磁盘组1 百万个文件

• 最大文件大小:

– 外部冗余:140 PB

– 正常冗余:42 PB

– 高冗余:15 PB

Oracle Database 11g 中的ASM 可伸缩性

ASM 强制实施下列限制:

• 存储系统中包含63 个磁盘组

• 存储系统中包含10,000 个ASM 磁盘

• 每个ASM 磁盘的最大存储空间为4 PB

• 每个存储系统的最大存储空间为40 EB

• 每个磁盘组包含1 百万个文件

• 最大文件大小取决于所使用的磁盘组的冗余类型:外部冗余为140 PB (该值当前大 于可能的数据库文件大小),正常冗余为42 PB,高冗余为15 PB。

注:在Oracle Database 10 g 中,外部冗余的最大ASM 文件大小为 35 TB 。

  • *SYSASM 角色

• 使用SYSASM 角色管理ASM 实例可以避免DBA 与存储 管理员之间出现重叠。

SQL> CONNECT / AS SYSASM

SQL> CREATE USER username IDENTIFIED by passwd ;

SQL> GRANT SYSASM TO username ;

SQL> CONNECT username /passwd AS SYSASM;

SQL> DROP USER username ;

• SYSDBA 将被废弃:

– Oracle Database 11g 版本1 的行为与 Oracle Database 10g 中的相同。

– 在将来的版本中, ASM 实例中的 SYSDBA 权限将受到限 制。

SYSASM 角色

此功能引入了一个新角色SYSASM ,专门用于执行ASM 管理任务。使用SYSASM 角色取 代SYSDBA 角色可以提高安全性,因为ASM 管理与数据库管理分开了。

使用Oracle Database 11 g 版本1 时,SYSASM 和SYSDBA 的OS 组是相同的,SYSASM 的默 认安装组是dba 。在将来的版本中,必须创建单独的组,并且在ASM 实例中SYSDBA 用 户将受到限制。

dba 组的成员当前可使用示例中的第一个语句连接到ASM 实例。

您也可以在ASM 实例中使用 CREATE USER和GRANT SYSASM SQL 语句组合来创建新的 SYSASM 用户。这对远程ASM 管理很有用。这些命令可以更新每个 ASM 实例的口令文 件,不需要启动和运行实例。同样,可以使用REVOKE 命令撤消用户的SYSASM 角色,并 可使用DROP USER命令从口令文件中删除用户。

V$PWFILE_USERS 视图集成了一个新列SYSASM ,用于指明用户是否(TRUE 或FALSE) 可与SYSASM 权限关联。

注:使用Oracle Database 11 g 版本1 时,如果以SYSDBA 身份登录ASM 实例,则将在相 应的alert.log 文件中写入警告。

  • *使用EM 管理ASM 用户

使用EM 管理ASM 用户

使用Oracle Enterprise Manager 11g,可以管理通过远程连接(使用口令文件验证)访问 ASM 实例的用户。这些用户仅用于 ASM 实例。

但是,仅当以SYSASM 用户身份连接时才能使用此功能。如果以SYSDBA 或SYSOPER用 户身份连接,则此功能将隐藏起来。

单击”Create(创建)”按钮后,会显示”Create User (创建用户)”页。

单击”Edit (编辑)”按钮后,会显示”Edit User (编辑用户)”页。

单击”Delete(删除)”按钮可以删除创建的用户。

注:Oracle Database 11 g 在ASM 实例登录页中添加了SYSASM 角色。

  • *ASM 磁盘组兼容性

• 可以单独控制每个磁盘组的兼容性:

– ASM 兼容性可以控制磁盘上 ASM 元数据结构。

– RDBMS 兼容性可以控制最低使用者客户机级别。

– 这对于异构环境很有用。

• 对磁盘组兼容性的设置是不可逆的。

ASM 磁盘组兼容性

有两种兼容性适用于ASM 磁盘组:

•ASM 兼容性:处理说明磁盘组的持久数据结构

•RDBMS 兼容性:处理客户机(磁盘组的使用者)的功能

可以独立控制每个磁盘组的兼容性。这是启用包含来自Oracle Database 10 g 和Oracle Database 11 g 的磁盘组的异构环境所必需的。这两种兼容性设置是每个ASM 磁盘组的属 性:

•RDBMS 兼容性是指 RDBMS 实例的最低兼容版本,可以允许该实例装载磁盘组。该 兼容性确定了ASM 实例与数据库 (RDBMS) 实例间交换消息的格式。ASM 实例可以 支持以不同兼容性设置运行的不同RDBMS 客户机。每个实例的数据库兼容版本设置 必须高于或等于该数据库使用的所有磁盘组的RDBMS 兼容性。数据库实例与 ASM 实 例通常在不同的Oracle 主目录中运行。这表示数据库实例与ASM 实例所运行的软件 版本可能不同。数据库实例第一次连接到ASM 实例时,系统会协定这两个实例都支持 的最高版本。数据库的兼容性参数设置、数据库的软件版本以及磁盘组的RDBMS 兼 容性设置确定了数据库实例能否装载指定的磁盘组。

•ASM 兼容性是指控制磁盘上 ASM 元数据的数据结构格式的持久兼容性设置。磁盘组 的ASM 兼容性级别必须始终高于或等于同一磁盘组的 RDBMS 兼容性级别。ASM 兼 容性只与ASM 元数据的格式相关。文件内容的格式取决于数据库实例。例如,可以 将某个磁盘组的ASM 兼容性设置为11.0 ,而将该磁盘组的RDBMS 兼容性设置为 10.1 。这表示该磁盘组只能由软件版本为11.0 或更高的ASM 软件管理,而软件版本 高于或等于10.1 的任何数据库客户机都可以使用该磁盘组。

仅当持久磁盘结构或消息传送协议发生更改时,才需要提高磁盘组的兼容性。但是,提高 磁盘组兼容性是一个不可逆的操作。可以使用CREATE DISKGROUP命令或ALTER

DISKGROUP 命令来设置磁盘组兼容性。

注:除了确定磁盘组兼容性以外,compatible 参数(数据库的兼容版本)还确定启用的功 能。该参数适用于数据库实例或ASM 实例,具体取决于 instance_type 参数。例如,将该 参数设置为10.1 将禁止使用Oracle Database 11 g 中引入的任何新功能(磁盘联机/ 脱机、 可变区等)。

  • *ASM 磁盘组属性

ASM 磁盘组属性

创建或变更ASM 磁盘组时,可以使用 CREATE DISKGROUP 命令或ALTER DISKGROUP 命令新增的ATTRIBUTE 子句更改其属性。图中的表简要概括了这些属性:

• 通过ASM,可以使用在创建磁盘组时指定的不同AU 大小。AU 大小可以为1 MB、 2 MB、4 MB、8 MB、16 MB 、32 MB 或64 MB 。

•RDBMS 兼容性:有关详细信息,请参阅”ASM 磁盘组兼容性”。

•ASM 兼容性:有关详细信息,请参阅”ASM 磁盘组兼容性”。

• 可以用分钟(M) 、小时(H) 或天(D) 为单位指定DISK_REPAIR_TIME 。

如果省略单位,则默认单位为H。如果忽略此属性,则默认值为3.6H。可以使用 ALTER DISKGROUP 语句覆盖此属性。

• 可以为指定的模板指定冗余属性。

• 可以为指定的模板指定条带化属性。

注:对于每个已定义的磁盘组,可以使用 V$ASM_ATTRIBUTE固定视图查看所有定义的 属性。

  • *使用EM 编辑磁盘组属性

使用EM 编辑磁盘组属性

EM 提供了一种简单的方式,可用于存储和检索与磁盘组相关的环境设置。

现在,在”Create Disk Group(创建磁盘组)”页和”Edit Advanced Attributes for Disk Group(编辑磁盘组的高级属性)”页中都可以设置兼容属性。仅”Edit Advanced

Attributes for Disk Group(编辑磁盘组的高级属性)”页中添加了disk_repair_time 属性。

注:对于11 g ASM 实例,默认的 ASM 兼容性值和数据库兼容性值都为 10.1 。

  • *增强的磁盘组检查

• 磁盘组检查语法已经过了简化。

– FILE 和DISK 选项的功能与 ALL 的相同。

• 执行其它检查:

– 别名

– 目录

ALTER DISKGROUP DATA CHECK;

增强的磁盘组检查

CHECK磁盘组命令已经过了简化,默认情况下将检查所有元数据目录。使用CHECK命令 可以验证ASM 磁盘组元数据的内部一致性。

ASM 会显示错误概要,并将检测到的错误细节写入到预警日志中。

在较早的版本中,可以为ALL 、DISK、DISKS IN FAILGROUP和FILE 指定此子句。

由于不再需要这些子句,所以已将其废弃。在当前版本中,CHECK关键字可执行以下 操作:

• 检查磁盘的一致性(等同于以前版本中的CHECK DISK 和CHECK DISK IN FAILGROUP)

• 交叉检查所有文件区映射和分配表的一致性(等同于以前版本中的CHECK FILE )

• 检查别名元数据目录和文件目录的链接是否正确

• 检查别名目录树的链接是否正确

• 检查ASM 元数据目录,确定其不包含无法访问的已分配块

使用REPAIR | NOREPAIR 子句可以指示ASM 是否尝试修复一致性检查过程中发现的错 误。默认设置为”REPAIR (修复)”。如果希望在存在不一致时得到提醒,但不希望 ASM 执行任何自动操作解决问题,则可使用”NOREPAIR (不修复)”设置。

注:在磁盘组检查中引入额外的检查会降低整个磁盘组检查操作的速度。在磁盘组检查中 引入额外的检查会降低整个磁盘组检查操作的速度。

  • *适用于快速重新平衡的受限装载磁盘组

• 磁盘组只能装载在单个实例上。

• 任何数据库客户机或其它ASM 实例都不能获得访问权限。

• 重新平衡可以继续进行,而无锁定开销。

适用于快速重新平衡的受限装载磁盘组

Oracle Database 11 g 中有一种装载磁盘组的新装载模式RESTRICTED。以RESTRICTED 模式装载磁盘组时,客户机将无法访问磁盘组中的文件。如果某个ASM 实例知道不存在 任何客户机,则该实例就不尝试向客户机传送消息来锁定/ 解除锁定区映射,从而可以提 高重新平衡操作的性能。

以RESTRICTED模式装载的磁盘组仅在一个节点上以独占方式进行装载;该节点上的 ASM 客户机无法使用该磁盘组。

利用RESTRICTED模式,可以在ASM 实例中的某个磁盘组上执行所有维护任务,而不 需要进行外部交互。

在维护周期结束时,必须显式卸载磁盘组,然后以正常模式重新装载相应的磁盘组。

ALTER DISKROUP diskgroupname MOUNT 命令已经过扩展,支持ASM 以 RESTRICTED模式装载磁盘组。图中显示了一个示例。

使用RESTRICTED选项启动ASM 实例时,ASM_DISKGROUPS 参数中定义的所有磁盘组 都将以RESTRICTED模式装载。

  • *强制装载磁盘组

• 默认情况下,MOUNT使用NOFORCE选项:

– 所有磁盘必须可用

• 带有FORCE选项的MOUNT:

– 如果存在仲裁磁盘,则会使不可用的磁盘脱机

– 如果所有磁盘都可用,则操作会失败

ALTER DISKGROUP data MOUNT [ FORCE| NOFORCE];

强制装载磁盘组

此功能改变了装载不完整的磁盘组时ASM 的行为。

使用Oracle Database 10 g 时,只要有足够的故障组来装载磁盘组,装载操作就会成功,即使 存在丢失或损坏的故障组时也是如此。这种行为可能会自动删除ASM 磁盘,需要在修复后 重新添加这些磁盘,因而会导致重新平衡操作持续较长的时间。

使用Oracle Database 11 g 时,这样的操作会失败,除非在装载损坏的磁盘组时指定了新的 FORCE 选项。这样一来,您就可以在尝试重新装载前更正配置错误(如ASM_DISKSTRING 设置错误)或解决连接性问题了。

但是,使用FORCE选项装载的磁盘组可能会使一个或多个磁盘脱机(如果这些磁盘在装载 时不可用的话)。必须在DISK_REPAIR_TIME 过期而无法还原这些设备之前采取更正措 施。如果不使这些磁盘联机,系统就会从磁盘组中删除它们,因而需要进行高成本的重新平 衡为磁盘组中的所有文件还原冗余。此外,如果有一个或多个设备因MOUNT FORCE而脱机, 则 在通过重新平衡还原磁盘组中的冗余之前,部分或全部文件将无法得到适当的保护。

因此,如果知道属于某个磁盘组的部分磁盘不可用,则带FORCE选项的MOUNT命令会很有 用。如果ASM 找到了足够的磁盘来形成仲裁磁盘,则磁盘组装载就会成功。

在不指定任何选项时带有NOFORCE选项的MOUNT是默认的MOUNT选项。在NOFORCE 模式下,属于某个磁盘组的所有磁盘都必须是可访问的,否则装载将不会成功。

注:在不必要的情况下指定 FORCE选项也会导致错误。在集群中还存在一种特殊情况: 如果第一个加载到磁盘组的不是ASM 实例,则当确定无法从本地访问磁盘但其它实例可 访问该磁盘时,MOUNT FORCE将因出现错误而失败。

  • *强制删除磁盘组

• 允许用户删除无法装载的磁盘组

• 如果在任何位置装载了磁盘组,则操作会失败

DROP DISKGROUP data FORCE INCLUDING CONTENTS;

强制删除磁盘组

强制删除磁盘组会将属于ASM 实例无法装载的磁盘组的磁盘头标记为 FORMER 。但是, ASM 实例会先确定使用相同存储子系统的任何其它 ASM 实例是否在使用该磁盘组。如果 是,并且该磁盘组在相同的集群或节点上,则语句会失败。

如果该磁盘组在不同的集群上,则系统会进行进一步的检查,以确定其它集群中的某个实 例是否装载了该磁盘组。如果在其它位置装载了该磁盘组,则语句会失败。但是,与对同 一个集群中的磁盘组进行的检查相比。后一项检查不是很确定。因此,应谨慎使用此子 句。

注:执行带FORCE选项的DROP DISKGROUP命令时,必须同时指定INCLUDING CONTENTS 子句。

  • *ASMCMD 扩展

ASMCMD 扩展

•ASMCMD 已经过扩展,包括了ASM 元数据备份,并具备了还原功能。这样一来, 就可以使用完全对应的模板和别名目录结构重新创建先前存在的ASM 磁盘组。目 前,如果丢失了ASM 磁盘组,则可以使用RMAN 来还原丢失的文件,但必须手动重 新创建ASM 磁盘组以及任何必需的用户目录或模板。

ASM 元数据备份和还原 (AMBR) 有两种运行模式:

  • 在备份模式下,AMBR 会分析ASM 固定表和视图来收集有关现有磁盘和故障组 配置、模板以及别名目录结构的信息;然后,将此元数据信息转储至某个文本 文件。

  • 在还原模式下,AMBR 会读取以前生成的文件来重建磁盘组及其元数据。可以在 还原模式下控制AMBR 行为以完成full、nodg 或newdg还原。这三种子模式 间的差别在于是否需要包括磁盘组创建并更改其特性。

• lsdsk命令可列出ASM 磁盘信息。此命令可在两种模式下运行:

  • 在连接模式下,ASMCMD 使用V$视图和GV$ 视图来检索磁盘信息。

  • 在非连接模式下,ASMCMD 使用 ASM 磁盘字符串来限制搜索集,对磁盘头进行 扫描以检索磁盘信息。连接模式始终为首选操作。

• 使用cp命令可以在本地实例和远程实例上的ASM 磁盘组之间复制文件。以下是一 个可能的用法示例:

cp +DATA/ORCL/DATAFILE/TBSJFV.256.629730771 +DATA/ORCL/tbsjfv.bak

在上例中,在本地复制了一个现有文件。但是,可以指定一个连接字符串将文件复制 到远程ASM 磁盘组。被复制的文件的格式在 Little-Endian 系统和Big-Endian 系统之 间是可移植的。也可以使用cp命令将ASM 文件复制到您的操作系统。例如:

cp +DATA/ORCL/DATAFILE/TBSJFV.256.629730771 /home/oracle/tbsjfv.dbf

同样,也可以使用cp命令将文件从您的操作系统复制到某个ASM 目录。例如:

cp /home/oracle/tbsjfv.dbf +data/jfv

如果要将某个ASM 文件从本地 ASM 实例复制到远程 ASM 实例,可使用以下语法:

cp +DATA/orcl/datafile/tbsjfv.256.629989893

\sys@edcdr12p1.+ASM2:+D2/jfv/tbsjfv.dbf

注:有关上述每个命令的语法的详细信息,请参阅《Oracle Database Storage Administrator’s Guide》。

  • *ASMCMD 扩展:示例

ASMCMD 扩展:示例

此示例说明了如何使用md_backup 命令备份ASM 元数据,以及如何使用 md_restore 命令还原数据。

第一个语句指定了命令的–b选项和–g选项。这定义生成的包含备份信息的文件的名 称,以及需要备份的磁盘组(在示例中分别是jfv_backup_file和data)。

在第2 步中,假定DATA 磁盘组中存在问题。因此,该磁盘组被删除了。在还原该磁盘组 包含的数据库文件之前,必须先还原该磁盘组本身。

在第3 步中,使用md_restore命令启动磁盘组重新创建操作及其元数据的还原操作。

在这一步中,需要指定第1 步中生成的备份文件的名称以及要还原的磁盘组的名称,还要 指定所需的还原类型。在此示例中,因为磁盘组已不再存在,所以进行了完全还原。 重新创建了磁盘组之后,可以使用RMAN 之类的功能还原其数据库文件。

小结

• 设置ASM 快速镜像再同步

• 使用ASM 首选镜像读取

• 设置ASM 磁盘组属性

• 使用SYSASM 角色

• 使用CHECK、MOUNT和DROP 命令的多种易管理的新选项

• 使用ASMCMD 的md_backup、md_restore和cp扩展

Original: https://www.cnblogs.com/keanuyaoo/p/3424184.html
Author: 风言枫语
Title: Oracle DB 存储增强

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/552287/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 稀疏数组详细讲解

    稀疏数组的应用场景 稀疏sparsearray数组 稀疏:从字面意思理解就是为了压缩重复冗余的数据 基本介绍: 当一个数组中大部分元素为0,或者为同一个值的数组时,可以使用稀疏数组…

    技术杂谈 2023年6月21日
    085
  • 一文搞懂│mysql 中的备份恢复、分区分表、主从复制、读写分离

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月11日
    084
  • Bash编程中对字符串的操作

    Bash的字符串操作 String="Hello World" #获取字符串长度,获取字符长度的变量调用应该使用${},这里大括号是必须的 #例1-1 echo…

    技术杂谈 2023年6月21日
    092
  • 知识图谱读书笔记5

    posted @2021-10-05 11:34 DarJeely 阅读(36 ) 评论() 编辑 Original: https://www.cnblogs.com/Jeely/…

    技术杂谈 2023年5月31日
    0114
  • UnsupportedOperationException异常

    异常信息如下: Exception in thread "main" java.lang.UnsupportedOperationException at ja…

    技术杂谈 2023年7月24日
    086
  • 负载均衡在web系统中的应用

    在日常的架构设计与开发中,常用的负载均衡算法主要分为静态和动态两类。静态负载算法以固定的频率分配任务不考虑服务器的状态信息,如轮询法、随机法等;动态负载均衡算法以服务器的实时负载状…

    技术杂谈 2023年7月25日
    088
  • HR-901FH卫星信号安全防护装置-授时安全防护装置

    HR-901FH卫星信号安全防护装置-授时安全防护装置 HR-901FH卫星信号安全防护装置-授时安全防护装置 京准电子科技官微——ahjzsz 产品简介 HR-901FH卫星时空…

    技术杂谈 2023年6月21日
    082
  • 线性表-顺序表

    线性表的顺序存&#…

    技术杂谈 2023年7月25日
    089
  • SpringBoot整合阿里云短信服务

    准备工作 开通短信服务(可参考博主的”手机短信验证码”) 如果开通不成功,就只能借下别人已经开通好的短信,如果不想重复,可在其下创建一个新的模板管理 这里只…

    技术杂谈 2023年6月21日
    0132
  • FlinkSQL 之乱序问题

    乱序问题 在业务编写 FlinkSQL 时, 非常常见的就是乱序相关问题, 在出现问题时,非常难以排查,且无法稳定复现,这样无论是业务方,还是平台方,都处于一种非常尴尬的地步。 在…

    技术杂谈 2023年6月21日
    086
  • []APP留存率下降分析的框架

    [原创]APP留存率下降分析的框架 [原创]APP留存率下降分析的框架 posted @2021-10-14 14:46 卖烧烤的鱼 阅读(67 ) 评论() 编辑 Origina…

    技术杂谈 2023年5月30日
    0110
  • Debian修改固定IP

    注意:此配置文件更改权限应为root权限方可修改成功 1.设置固定IP地址、网关 命令: cp /etc/network/interfaces /etc/network/inter…

    技术杂谈 2023年7月10日
    080
  • 介绍下Java内存区域(运行时数据区)

    介绍下Java内存区域(运行时数据区) Java 虚拟机在执行 Java 程序的过程中会把它管理的内存划分成若干个不同的数据区域。JDK 1.8 和之前的版本略有不同。 下图是 J…

    技术杂谈 2023年6月21日
    0101
  • UML图

    依赖(Dependency)关系是一种使用关系,特定事物的改变有可能会影响到使用该事物的其他事物,在需要表示一个事物使用另一个事物时使用依赖关系。大多数情况下,依赖关系体现在某个类…

    技术杂谈 2023年5月31日
    091
  • 贪吃蛇项目的制作

    该项目是根据GUI编程学习所写,详细的学习课程可以参考狂神说老师的GUI课程:一小时开发贪吃蛇。 以下仅仅为简要说一下 逻辑,源码放在最后。 实现该项目总共用到三个类: Data数…

    技术杂谈 2023年7月25日
    080
  • 聊聊消息队列(MQ)那些事

    每年的双十一期间,各大电商平台流量暴增,同时,电商平台系统的负载压力也会很大。譬如订单支付的场景,每个订单支付成功后,服务器可能要完成扣减积分、扣减优惠券、扣减商品库存、发短信等一…

    技术杂谈 2023年7月11日
    0108
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球