oracle主目录_Oracle_RAC-通过srvctl add命令添加database信息到srvctl管理器

本文介绍了如何在Oracle RAC环境中,当srvctl管理器中没有数据库信息时,通过srvctl add命令手动添加database信息,包括停止数据库、删除信息、启动数据库、添加database和实例信息的步骤,以便于使用srvctl命令进行数据库维护。

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

通过srvctl add命令添加database信息到srvctl管理器

================================================

355d7ff98bda3d1e1a3866bdd1d63afa.png

通过srvctl add命令添加database信息到srvctl管理器

================================================

对于dbca创建的数据库,srvctl中包含了数据库和实例的信息。但是对于备份恢复的RAC数据库来说,srvctl中不包含数据库和实例信息。

srvctl管理器中没有database信息,很多地方都无法使用srvctl命令管理。所以,需要手动将database信息添加到srvctl管理器中。

1.创建实验环境,实现srvctl管理器中没有database信息的目的。

--原有环境是database信息

[grid@rac1 ~]$ crs_stat -t

Name Type Target State Host

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

ora.DATA.dg ora....up.type ONLINE ONLINE rac1

ora.FRA.dg ora....up.type ONLINE ONLINE rac1

ora....ER.lsnr ora....er.type ONLINE ONLINE rac1

ora....N1.lsnr ora....er.type ONLINE ONLINE rac2

ora....DISK.dg ora....up.type ONLINE ONLINE rac1

ora.asm ora.asm.type ONLINE ONLINE rac1

ora.cvu ora.cvu.type ONLINE ONLINE rac2

ora.gsd ora.gsd.type OFFLINE OFFLINE

ora....network ora....rk.type ONLINE ONLINE rac1

ora.oc4j ora.oc4j.type ONLINE ONLINE rac1

ora.ons ora.ons.type ONLINE ONLINE rac1

ora.rac.db ora....se.type ONLINE ONLINE rac1

ora....SM1.asm application ONLINE ONLINE rac1

ora....C1.lsnr application ONLINE ONLINE rac1

ora.rac1.gsd application OFFLINE OFFLINE

ora.rac1.ons application ONLINE ONLINE rac1

ora.rac1.vip ora....t1.type ONLINE ONLINE rac1

ora....SM2.asm application ONLINE ONLINE rac2

ora....C2.lsnr application ONLINE ONLINE rac2

ora.rac2.gsd application OFFLINE OFFLINE

ora.rac2.ons application ONLINE ONLINE rac2

ora.rac2.vip ora....t1.type ONLINE ONLINE rac2

ora.scan1.vip ora....ip.type ONLINE ONLINE rac2

<1>.停止数据库

su - oracle

[oracle@rac1 ~]$ srvctl stop database -d rac

--db 已经停掉

[grid@rac1 ~]$ crs_stat -t|grep db

ora.rac.db ora....se.type OFFLINE OFFLINE

<2>.删除database信息

[oracle@rac1 ~]$ srvctl remove database -d rac

是否删除数据库 rac? (y/[n]) y

[grid@rac1 ~]$ crs_stat -t|grep db

--返回空,没有了database信息

<3>.通过startup方式启动数据库

[oracle@rac1 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Wed Sep 18 12:59:51 2013

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

Connected to an idle instance.

SQL> startup

ORACLE instance started.

Total System Global Area 488534016 bytes

Fixed Size 2229624 bytes

Variable Size 276826760 bytes

Database Buffers 205520896 bytes

Redo Buffers 3956736 bytes

Database mounted.

<4>.实现缺少database信息的目的

--srvctl命令无法使用,原因:缺少database信息

$ srvctl status database -d rac

PRCD-1120 : 找不到数据库 rac 的资源。

PRCR-1001 : 资源 ora.rac.db 不存在

2.通过srvctl add命令添加database信息和实例信息

su - oracle

$ srvctl add database -d rac -o /u01/app/oracle/11.2.0/db -p +DATA/rac/spfilerac.ora # -d db_unique_name; -o oracle_home; -p spfile_path

$ srvctl add instance -d rac -i rac1 -n rac1 #-i instance_name;-n node_name

--虽然添加了database信息,但是database的状态是错误的

--crs_stat显示db没有online,实际db是启动的

$ crs_stat -t|grep db

ora.rac.db ora....se.type OFFLINE OFFLINE

[oracle@rac1 ~]$ srvctl status database -d rac

实例 rac1 没有在 rac1 节点上运行

3.启动db,修正数据库信息(感觉更像是注册database信息,因为db实际已经启动)

[oracle@rac1 ~]$ srvctl start database -d rac

--database信息变为正常

[grid@rac1 ~]$ crs_stat -t

Name Type Target State Host

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

ora.DATA.dg ora....up.type ONLINE ONLINE rac1

ora.FRA.dg ora....up.type ONLINE ONLINE rac1

ora....ER.lsnr ora....er.type ONLINE ONLINE rac1

ora....N1.lsnr ora....er.type ONLINE ONLINE rac2

ora....DISK.dg ora....up.type ONLINE ONLINE rac1

ora.asm ora.asm.type ONLINE ONLINE rac1

ora.cvu ora.cvu.type ONLINE ONLINE rac2

ora.gsd ora.gsd.type OFFLINE OFFLINE

ora....network ora....rk.type ONLINE ONLINE rac1

ora.oc4j ora.oc4j.type ONLINE ONLINE rac1

ora.ons ora.ons.type ONLINE ONLINE rac1

ora.rac.db ora....se.type ONLINE ONLINE rac1

ora....SM1.asm application ONLINE ONLINE rac1

ora....C1.lsnr application ONLINE ONLINE rac1

ora.rac1.gsd application OFFLINE OFFLINE

ora.rac1.ons application ONLINE ONLINE rac1

ora.rac1.vip ora....t1.type ONLINE ONLINE rac1

ora....SM2.asm application ONLINE ONLINE rac2

ora....C2.lsnr application ONLINE ONLINE rac2

ora.rac2.gsd application OFFLINE OFFLINE

ora.rac2.ons application ONLINE ONLINE rac2

ora.rac2.vip ora....t1.type ONLINE ONLINE rac2

ora.scan1.vip ora....ip.type ONLINE ONLINE rac2

[oracle@rac1 ~]$ srvctl status database -d rac

实例 rac1 正在节点 rac1 上运行

这样数据库就可以利用srvctl命令维护了。

用srvctl查看数据库配置信息

[oracle@rac1 ~]$ srvctl config database -d rac -a

数据库唯一名称: rac

数据库名:

Oracle 主目录: /u01/app/oracle/11.2.0/db

Oracle 用户: oracle

Spfile: +DATA/rac/spfilerac.ora

域:

启动选项: open

停止选项: immediate

数据库角色: PRIMARY

管理策略: AUTOMATIC

服务器池: rac

数据库实例: rac1

磁盘组:

装载点路径:

服务:

类型: RAC

数据库已启用

数据库是管理员管理的

======

补充

======

下面是添加database信息和实例信息全部命令。

node1&node2 oracle

$ srvctl add database -d db_unique_name -o oracle_home e -m DB_DOMAIN -p spfile_path

$ srvctl start database -d db_unique_name

node1 oracle:

$ srvctl add instance -d db_unique_name -i instance_node1 -n node_name1

node2 oracle:

$ srvctl add instance -d db_unique_name -i instance_node2 -n node_name1

添加的数据库资源自动启动

[oracle@rhel1 ~]$ srvctl enable database -d ractest

[oracle@rhel1 ~]$ srvctl enable instance -d ractest -i ractest1

[oracle@rhel1 ~]$ srvctl enable instance -d ractest -i ractest2

[oracle@rhel1 ~]$ srvctl start database -d ractest

执行完以上操作之后,

再次尝试重启服务器观察数据库实例是否自

动启动。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值