MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

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

2024-11-26 20:12 huorong 数据库 6 ℃ 0 评论

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

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



通过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

执行完以上操作之后,

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

动启动。

Tags:oracle的ip

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言