翻译mos文章 磁盘组的错误依赖关系导致数据库启动失败

本文解决Oracle 11.2版本数据库迁移后无法启动的问题,涉及更新数据库资源概要文件中的依赖关系,去除旧ASM磁盘组依赖,并重新开启数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

              Wrong Dependency Caused Failure of Database Startup on 11.2 (文档 ID 1481896.1)

 

适用范围

Oracle Database - EnterpriseEdition - Version 11.2.0.1 and later

Information in this documentapplies to any platform.

适用11.2.0.1之后的企业版的所有平台

症状

将数据库的数据迁移到新的磁盘组,迁移完成后数据库打不开。

改变

数据库的数据文件移动到新的asm磁盘组,旧的磁盘组被破坏。

产生原因

从视图中验证所有数据文件都已经迁移到新的磁盘组,但是数据库的资源概要文件

仍然保留着数据库旧的磁盘组的依赖关系,当完成迁移后打开数据库,会等待这些旧的磁盘组挂载。

From the output of belowcommand,

 

crsctl stat res ora.acmdmp.db-p

 

NAME=ora.acmdmp.db

TYPE=ora.database.type

ACL=owner:oracle:rwx,pgrp:dba:rwx,other::r--

ACTION_FAILURE_TEMPLATE=

ACTION_SCRIPT=

ACTIVE_PLACEMENT=1

AGENT_FILENAME=%CRS_HOME%/bin/oraagent%CRS_EXE_SUFFIX%

AUTO_START=restore

CARDINALITY=3

CHECK_INTERVAL=1

CHECK_TIMEOUT=600

CLUSTER_DATABASE=true

DB_UNIQUE_NAME=acmdmp

DEFAULT_TEMPLATE=PROPERTY(RESOURCE_CLASS=database)PROPERTY(DB_UNIQUE_NAME= CONCAT(PARSE(%NAME%, ., 2), %USR_ORA_DOMAIN%, .))ELEMENT(INSTANCE_NAME= %GEN_USR_ORA_INST_NAME%)

DEGREE=1

DESCRIPTION=Oracle Databaseresource

ENABLED=1

FAILOVER_DELAY=0

FAILURE_INTERVAL=60

FAILURE_THRESHOLD=1

GEN_AUDIT_FILE_DEST=/u01/app/oracle/admin/acmdmp/adump

GEN_USR_ORA_INST_NAME=

GEN_USR_ORA_INST_NAME@SERVERNAME(plxdacdm301)=acmdmp1

GEN_USR_ORA_INST_NAME@SERVERNAME(plxdacdm302)=acmdmp2

GEN_USR_ORA_INST_NAME@SERVERNAME(plxdacdm303)=acmdmp3

HOSTING_MEMBERS=

INSTANCE_FAILOVER=0

LOAD=1

LOGGING_LEVEL=1

MANAGEMENT_POLICY=AUTOMATIC

NLS_LANG=

NOT_RESTARTING_TEMPLATE=

OFFLINE_CHECK_INTERVAL=0

ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

PLACEMENT=restricted

PROFILE_CHANGE_TEMPLATE=

RESTART_ATTEMPTS=2

ROLE=PRIMARY

SCRIPT_TIMEOUT=60

SERVER_POOLS=ora.acmdmp

SPFILE=+DATA_MART/acmdmp/spfileacmdmp.ora

START_DEPENDENCIES=hard(ora.DATA_MART.dg,ora.FLASH_MART.dg,ora.DATA.dg,ora.FLASH.dg)weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,uniform:ora.eons)pullup(ora.DATA_MART.dg,ora.FLASH_MART.dg)

START_TIMEOUT=600

STATE_CHANGE_TEMPLATE=

STOP_DEPENDENCIES=hard(intermediate:ora.asm,shutdown:ora.DATA_MART.dg,shutdown:ora.FLASH_MART.dg,shutdown:ora.DATA.dg,shutdown:ora.FLASH.dg)

STOP_TIMEOUT=600

UPTIME_THRESHOLD=1h

USR_ORA_DB_NAME=acmdmp

 

 

 

Where OLD diskgroups wereDATA and FLASH

 

and New diskgroup wereDATA_MART and FLASH_MART

 

解决方案

1. Remove the dependency fromdatabase resource and remove those old diskgroup resource from this clusterusing crsctl command,

移走它们的依赖关系

crsctl modify resourceora.acmdmp.db -attr "hard(ora.DATA_MART.dg,ora.FLASH_MART.dg)weak(type:ora.listener.type,global:type:ora.scan_listener.type,uniform:ora.ons,uniform:ora.eons)pullup(ora.DATA_MART.dg,ora.FLASH_MART.dg) "

 

crsctl modify resourceora.acmdmp.db -attr "STOP_DEPENDENCIES=hard(intermediate:ora.asm,shutdown:ora.DATA_MART.dg,shutdown:ora.FLASH_MART.dg)"

 

Then remove those resources

移走这两个磁盘组

srvctl remove diskgroup -gdata

srvctl remove diskgroup -gfra

 

2. Then open the databaseusing sqlplus/srvctl .

重新打开数据库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值