oracle更改盘符后连接不上,更改db_unique_name后,修复磁盘组依赖关系和其他crs中的相关配置...

做ADG时,修改了数据库的db_unique_name后,alert中报错如下:

ERROR: failed to establish dependency between database mynewdb and diskgroup resource ora.DATA.dg

ERROR: failed to establish dependency between database mynewdb and diskgroup resource ora.REDODG.dg

这个错误不影响使用,但是终归是别扭的……

检查crs中数据库的配置:

[oracle@lunardb2 ~]$ srvctl config database -d lunardb

Database unique name: lunardb

Database name: lunardb

Oracle home: /u01/app/oracle/product/11.2.0/db_1

Oracle user: oracle

Spfile: +DATA/lunardb/spfilelunardb.ora

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: lunardb

Database instances: lunardb1,lunardb2

Disk Groups: DATA

Mount point paths:

Services:

Type: RAC

Database is administrator managed

[oracle@lunardb2 ~]$

这里可以看到,以前的spfile(主库的)位置是:+DATA/lunardb/spfilelunardb.ora

此时,即便是手动修改了参数文件位置为 SPFILE=’+DATA/mynewdb/spfilemynewdb.ora’,重启crs后,启动数据库也会有报错信息:

[oracle@lunardb1 ~]$ ss

SQL*Plus: Release 11.2.0.3.0 Production on Wed Sep 24 23:51:54 2014

Copyright (c) 1982, 2011, Oracle. All rights reserved.

Connected to an idle instance.

23:51:54 SYS@ lunardb1> startup

ORA-01078: failure in processing system parameters

ORA-01565: error in identifying file '+DATA/lunardb/spfilelunardb.ora'

ORA-17503: ksfdopn:2 Failed to open file +DATA/lunardb/spfilelunardb.ora

ORA-15056: additional error message

ORA-17503: ksfdopn:2 Failed to open file +DATA/lunardb/spfilelunardb.ora

ORA-15173: entry 'lunardb' does not exist in directory '/'

ORA-06512: at line 4

23:51:57 SYS@ lunardb1>

因为它还是自动修改为crs的db资源中的信息,并把以前我手工修改的信息做了备份:

[oracle@lunardb1 dbs]$ cat initlunardb1.ora

SPFILE='+DATA/lunardb/spfilelunardb.ora' # line added by Agent

[oracle@lunardb1 dbs]$ cat initlunardb1.ora.bak.lunardb1

SPFILE='+DATA/mynewdb/spfilemynewdb.ora'

[oracle@lunardb1 dbs]$

可以修改crs中db的spfile位置:

srvctl modify database -d lunardb -p ‘+DATA/mynewdb/spfilemynewdb.ora’

再次检查,可以发现spfile位置已经正确了:

[oracle@lunardb1 ~]$ srvctl config database -d lunardb

Database unique name: lunardb

Database name: lunardb

Oracle home: /u01/app/oracle/product/11.2.0/db_1

Oracle user: oracle

Spfile: +DATA/mynewdb/spfilemynewdb.ora

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: lunardb

Database instances: lunardb1,lunardb2

Disk Groups: ARCHDG,DATA,REDODG

Mount point paths:

Services:

Type: RAC

Database is administrator managed

[oracle@lunardb1 ~]$

这里很显然,除了spfile位置,Database unique name也是不对的,因为crs中保存的db信息是根据db_unique_name来判断的,只能通过remove database,然后再add database,add instance等等:

[oracle@lunardb1 ~]$ srvctl remove database -d lunardb

Remove the database lunardb? (y/[n]) y

[oracle@lunardb1 ~]$ srvctl add database -d mynewdb -o /u01/app/oracle/product/11.2.0/db_1

[oracle@lunardb1 ~]$ srvctl config database -d mynewdb

Database unique name: mynewdb

Database name:

Oracle home: /u01/app/oracle/product/11.2.0/db_1

Oracle user: oracle

Spfile:

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: mynewdb

Database instances: lunardb1,lunardb2

Disk Groups:

Mount point paths:

Services:

Type: RAC

Database is administrator managed

[oracle@lunardb1 ~]$ srvctl modify database -d mynewdb -a ARCHDG,DATA,REDODG

[oracle@lunardb1 ~]$ srvctl modify database -d mynewdb -p '+DATA/mynewdb/spfilemynewdb.ora'

[oracle@lunardb1 ~]$ srvctl config database -d mynewdb

Database unique name: mynewdb

Database name:

Oracle home: /u01/app/oracle/product/11.2.0/db_1

Oracle user: oracle

Spfile: +DATA/mynewdb/spfilemynewdb.ora

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: mynewdb

Database instances: lunardb1,lunardb2

Disk Groups: ARCHDG,DATA,REDODG

Mount point paths:

Services:

Type: RAC

Database is administrator managed

[oracle@lunardb1 ~]$ srvctl modify database -d mynewdb -n lunardb

[oracle@lunardb1 ~]$ srvctl config database -d mynewdb

Database unique name: mynewdb

Database name: lunardb

Oracle home: /u01/app/oracle/product/11.2.0/db_1

Oracle user: oracle

Spfile: +DATA/mynewdb/spfilemynewdb.ora

Domain:

Start options: open

Stop options: immediate

Database role: PRIMARY

Management policy: AUTOMATIC

Server pools: mynewdb

Database instances: lunardb1,lunardb2

Disk Groups: ARCHDG,DATA,REDODG

Mount point paths:

Services:

Type: RAC

Database is administrator managed

[oracle@lunardb1 ~]$

好了,alert中信息正常了:

ALTER DATABASE MOUNT

This instance was first to mount

NOTE: Loaded library: System

SUCCESS: diskgroup DATA was mounted

SUCCESS: diskgroup REDODG was mounted

NOTE: dependency between database mynewdb and diskgroup resource ora.DATA.dg is established

NOTE: dependency between database mynewdb and diskgroup resource ora.REDODG.dg is established

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值