RAC -- the cluster database(DB_NAME) already exits

 

RAC DBCA新建数据库的时候报个错,之前的那个数据库没有删除掉,dbca 命令还能显示这个数据库。 之前采用的crs_unregister 这个命令从OCR中注销的。 但是没有彻底清除。 如图:

 

 

 

 

如果我们忽略它,创建同样名称的数据库,那么会报错。 错误如图显示:

      the cluster database(DB_NAME) already exits

 

  

 

出现这个的原因很简单,就是rac 这个数据库的信息没有彻底的从OCR中清除干净。下面我们来清除这些信息。

 

[oracle@rac1 bin]$ srvctl config   -- 这个命令用来显示保存在SRVM配置文件中的配置信息

Rac

[oracle@rac1 bin]$ srvctl remove database -d rac  -- 删除这个数据库

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

[oracle@rac1 bin]$ srvctl config   -- 再次查看,还存在,很奇怪

rac

 

[oracle@rac1 bin]$ srvctl remove database -d rac –f  -- 加上-f 参数,强制删除

[oracle@rac1 bin]$ srvctl config    -- 查看,正常,信息已经被删除掉

[oracle@rac1 bin]$

 

 

因为之前这个数据库的实例信息我已经删除了,所以rac这个数据库的信息也是不完整的,对于不完整的信息删除,还是要强制删除。

 

我们在运行一下DBCA 看一下:

 

 

 

 

 

至此,问题已经解决了。 但是想借此反思一下。 为什么我们会出现这么多错误。 就是因为不规范的操作。 如果每一步都按照文档来操作,如果我们理解了每一步的原理,那么我们就不会犯这么多错误。

但是学习是一个过程,我们会不断的遇到问题,然后解决了,也就进步了,随着时间的积累,我们的经验会越来越丰富,处理问题就会简单很多,出现问题的概率也会小很多。

 

总之,解决问题的过程就是成长的过程,搞技术需要的是这个独立解决问题的能力。

 

 

 

 

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

QQ: 492913789
Email: ahdba@qq.com
Blog: http://www.cndba.cn/dave

网上资源: http://tianlesoftware.download.youkuaiyun.com

相关视频:http://blog.youkuaiyun.com/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(); DBA2 群:62697977()

DBA3 群:63306533;     聊天 群:40132017

--加群需要在备注说明SGA的组成部分,否则拒绝申请

<think>好的,用户的问题是在Oracle RAC环境中如何修改DB_NAME。我需要根据提供的引用内容来整理步骤。首先,引用3提到了在RAC集群中修改DB_NAME的过程,但步骤可能不够详细。引用1和引用2讨论了修改DB_UNIQUE_NAME时遇到的问题,特别是节点启动问题。需要确保在修改DB_NAME时,所有节点都能正常启动。 用户可能需要的步骤包括:检查当前参数、关闭数据库、修改参数文件、使用nid工具、更新集群配置等。同时需要注意参数如db_files的修改方法(引用4),但这里主要是DB_NAME。需要结合RAC环境,确保所有节点同步,并处理可能出现的错误,如实例无法启动的情况。还要提醒备份和测试环境的重要性,避免生产环境风险。</think>### Oracle RAC环境修改DB_NAME操作指南 在Oracle RAC环境中修改数据库名称($DB_NAME$)需谨慎操作,以下是详细步骤: #### 1. **预检查与准备** - 备份数据库(RMAN全库备份+控制文件备份) - 检查当前$DB_NAME$和$DB_UNIQUE_NAME$: ```sql SQL> show parameter name; ``` 确认输出包含以下关键参数: ```plaintext NAME TYPE VALUE ------------------------------------ ----------- -------------------------- db_name string old_dbname db_unique_name string old_dbname_adg ``` - 确保所有RAC节点处于正常运行状态 #### 2. **关闭数据库** ```sql SQL> shutdown immediate; ``` **注意**:需在所有实例执行关闭操作[^3] #### 3. **修改参数文件** - 修改$ORACLE_HOME/dbs/init.ora或SPFILE中的参数: ```sql *.db_name='new_dbname' ``` - **RAC特有步骤**:更新集群注册信息: ```sql srvctl modify database -db old_dbname -newdb new_dbname ``` #### 4. **使用DBNEWID工具** ```bash nid target=/ dbname=new_dbname ``` **关键响应选项**: ```plaintext Do you want to proceed? (Y/[N]) => Y ``` #### 5. **更新集群配置** - 删除原数据库资源: ```bash srvctl remove database -db old_dbname ``` - 创建新数据库资源: ```bash srvctl add database -db new_dbname -o $ORACLE_HOME srvctl add instance -db new_dbname -instance new_dbname1 -node racnode1 srvctl add instance -db new_dbname -instance new_dbname2 -node racnode2 ``` #### 6. **启动数据库验证** ```sql SQL> startup mount; SQL> alter database open; ``` 验证所有节点状态: ```bash srvctl status database -db new_dbname ``` #### 7. **后置处理** - 更新监听器配置(listener.ora) - 修改tnsnames.ora中的服务名 - 检查ASM磁盘组中的控制文件路径 ### 常见问题处理 1. **节点启动失败**:检查$ORACLE_SID$是否同步更新,确认ocrregister信息一致性[^2] 2. **控制文件报错**:使用备份的控制文件恢复 3. **服务注册异常**:执行`alter system register`强制注册 **注意**:生产环境建议先在测试环境验证操作流程,操作窗口需预留回退时间[^1]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值