• 设置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扩展