Oracle HA 之 RAC one node实战
--创建rac one node步骤
安装grid软件,配置grid集群;
安装oracle软件;
dbca创建rac one node。
>试验创建的rac one node数据库信息如下:
global db name: dbkdb
sid: dbkdb
service name: dbk
安装节点: node1、node2
--检查数据库信息
>环境信息检查:
[grid@node1 ~]$ crsctl status res -t
--------------------------------------------------------------------------------
NAME TARGET STATE SERVER STATE_DETAILS
--------------------------------------------------------------------------------
.........
ora.dbkdb.db
1 ONLINE ONLINE node2 Open
ora.dbkdb.dbk.svc
1 ONLINE ONLINE node2
ora.dbking.db
1 ONLINE ONLINE node1 Open
2 ONLINE ONLINE node2 Open
.........
ora.orcl.db
1 ONLINE ONLINE node1 Open
ora.orclasm.db
1 ONLINE ONLINE node1 Open
.........
[grid@node1 ~]$
可以看到,目前这个grid集群下包含节点node1和node2,有一套rac数据库dbking,两套单实例数据库orcl(普通存储),orclasm(asm存储),一套rac one node库dbkdb。
>确认dbkdb为rac one node数据库:
[grid@node1 ~]$ srvctl config database -d dbkdb
Database unique name: dbkdb
Database name: dbkdb
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +FLASH/dbkdb/spfiledbkdb.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: dbkdb
Database instances:
Disk Groups: FLASH
Mount point paths:
Services: dbk
Type: RACOneNode --确实为rac one node类型
Online relocation timeout: 30
Instance name prefix: dbkdb
Candidate servers: node2,node1
Database is administrator managed
>rac one node库当前运行情况:
[grid@node1 ~]$ srvctl status database -d dbkdb
Instance dbkdb_1 is running on node node2
Online relocation: INACTIVE
>数据库信息检查如下:
C:\Users\Administrator>sqlplus sys/oracle@192.168.100.23/dbk as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期四 8月 4 09:38:57 2016
Copyright (c) 1982, 2010, Oracle. All rights reserved.
连接到:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters, Automatic Storage Management,
OLAP,
Data Mining and Real Application Testing options
SQL> set line 200;
SQL> set pagesize 999;
SQL> select instance_name,status from gv$instance;
INSTANCE_NAME STATUS
------------------------------------------------ ------------------------------------
dbkdb_1 OPEN
SQL> select name from v$datafile;
NAME
----------------------------------------------------------------------------------------------
+FLASH/dbkdb/datafile/system.261.918983553
+FLASH/dbkdb/datafile/sysaux.262.918983553
+FLASH/dbkdb/datafile/undotbs1.263.918983553
+FLASH/dbkdb/datafile/users.264.918983553
+FLASH/dbkdb/datafile/undotbs2.272.918983747
SQL> select member from v$logfile;
MEMBER
----------------------------------------------------------------------------------------------
+FLASH/dbkdb/onlinelog/group_2.269.918983647
+FLASH/dbkdb/onlinelog/group_2.270.918983649
+FLASH/dbkdb/onlinelog/group_1.267.918983645
+FLASH/dbkdb/onlinelog/group_1.268.918983645
+FLASH/dbkdb/onlinelog/group_3.273.918983845
+FLASH/dbkdb/onlinelog/group_3.274.918983847
+FLASH/dbkdb/onlinelog/group_4.275.918983847
+FLASH/dbkdb/onlinelog/group_4.276.918983849
8 rows selected.
SQL>
--rac one node在线飘移
>语法:srvctl relocate database -d <db_unique_name> {[-n <target node>] [-w <timeout>] | -a [-r]} [-v]
>将dbkdb从node2漂移到node1
检查当前dbkdb运行状态:
[oracle@node1 ~]$ srvctl status database -d dbkdb
Instance dbkdb_1 is running on node node2
Online relocation: INACTIVE
发起漂移命令(oracle用户执行):
###########################如果在grid用户下执行会报“权限不足”的错误#################################################
[grid@node2 ~]$ srvctl relocate database -d dbkdb -n node1 -w 5
PRCD-1222 : Online relocation of database "dbkdb" failed but database was restored to its original state
PRCR-1037 : Failed to update cardinality of the resource ora.dbkdb.db to 2
PRCR-1071 : Failed to register or update resource ora.dbkdb.db
CRS-0245: User doesn't have enough privilege to perform the operation
####################################################################################################################
[oracle@node2 ~]$ srvctl relocate database -d dbkdb -n node1 -w 5
检查中间状态:
[oracle@node2 ~]$ srvctl status database -d dbkdb
Instance dbkdb_1 is running on node node2
Online relocation: ACTIVE
Source instance: dbkdb_1 on node2
Destination instance: dbkdb_2 on node1
漂移完成后检查实例运行状态:以经运行在node1上了
[oracle@node2 ~]$ srvctl status database -d dbkdb
Instance dbkdb_2 is running on node node1
Online relocation: INACTIVE
--rac one node数据库的伸缩能力
>伸:将dbkdb扩展成为rac数据库:转换、add实例、启动实例
当前dbkdb信息:
[oracle@node2 ~]$ srvctl config database -d dbkdb
Database unique name: dbkdb
Database name: dbkdb
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +FLASH/dbkdb/spfiledbkdb.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: dbkdb
Database instances:
Disk Groups: FLASH
Mount point paths:
Services: dbk
Type: RACOneNode
Online relocation timeout: 30
Instance name prefix: dbkdb
Candidate servers: node2,node1
Database is administrator managed
发起转换命令:srvctl convert database
[oracle@node2 ~]$ srvctl convert database -d dbkdb -c rac
再次查看dbkdb信息:
[oracle@node2 ~]$ srvctl config database -d dbkdb
Database unique name: dbkdb
Database name: dbkdb
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +FLASH/dbkdb/spfiledbkdb.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: dbkdb
Database instances: dbkdb_1
Disk Groups: FLASH
Mount point paths:
Services: dbk
Type: RAC
Database is administrator managed
已经成功从rac one node转换为rac数据库,但是目前实例只有一个。
[oracle@node2 ~]$ srvctl status database -d dbkdb
Instance dbkdb_1 is running on node node2
添加实例:
[oracle@node2 ~]$ srvctl add instance -d dbkdb -i dbkdb_2 -n node1
查看dbkdb的配置信息:
[oracle@node2 ~]$ srvctl config database -d dbkdb
Database unique name: dbkdb
Database name: dbkdb
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +FLASH/dbkdb/spfiledbkdb.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: dbkdb
Database instances: dbkdb_2,dbkdb_1
Disk Groups: FLASH
Mount point paths:
Services: dbk
Type: RAC
Database is administrator managed
[oracle@node2 ~]$ srvctl status database -d dbkdb
Instance dbkdb_2 is not running on node node1
Instance dbkdb_1 is running on node node2
实例添加成功,但是实例目前处于关闭状态:
启动新实例:
[oracle@node2 ~]$ srvctl start instance -d dbkdb -i dbkdb_2
[oracle@node2 ~]$ srvctl status database -d dbkdb
Instance dbkdb_2 is running on node node1
Instance dbkdb_1 is running on node node2
可以看到目前,rac one node数据库已经成功转换为rac数据库了。
检查dbkdb这个rac数据库信息:回滚段和日志线程组
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
UNDOTBS2 ONLINE
已选择6行。
SQL> select group#,thread#,status,members from v$log;
GROUP# THREAD# STATUS MEMBERS
---------- ---------- ---------------- ----------
1 1 CURRENT 2
2 1 INACTIVE 2
3 2 CURRENT 2
4 2 UNUSED 2
SQL>
>缩:将dbkdb转换为rac one node数据库:删除实例、转换
注意:
必须要有service;
删除rac数据库多余实例。
查看dbkdb的配置信息:
[grid@node1 ~]$ srvctl config database -d dbkdb
Database unique name: dbkdb
Database name: dbkdb
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +FLASH/dbkdb/spfiledbkdb.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: dbkdb
Database instances: dbkdb_2,dbkdb_1
Disk Groups: FLASH
Mount point paths:
Services: dbk
Type: RAC
Database is administrator managed
[grid@node1 ~]$ srvctl status database -d dbkdb
Instance dbkdb_2 is running on node node1
Instance dbkdb_1 is running on node node2
可以看到,这是一个包含2个实例的rac数据库。
dbca删除实例:图形化界面删除-略。silent模式如下:
dbca -silent -deleteinstance -gdbname dbkdb -instancename dbkdb_2 -sysdbausername sys -sysdbapassword oracle
删除实例后,检查配置信息:
[grid@node1 ~]$ srvctl config database -d dbkdb
Database unique name: dbkdb
Database name: dbkdb
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +FLASH/dbkdb/spfiledbkdb.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: dbkdb
Database instances: dbkdb_1
Disk Groups: FLASH
Mount point paths:
Services: dbk
Type: RAC
Database is administrator managed
[grid@node1 ~]$ srvctl status database -d dbkdb
Instance dbkdb_1 is running on node node2
检查数据库信息:
SQL> select group#,thread#,status,members from v$log;
GROUP# THREAD# STATUS MEMBERS
---------- ---------- ---------------- ----------
1 1 CURRENT 2
2 1 INACTIVE 2
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
UNDOTBS2 ONLINE
已选择6行。
dbkdb_2实例相应的日志线程也同时被删除了,但是其对应的undo表空间还是处于online状态的。
现在dbkdb只剩下一个isntance,可以进行rac数据库向rac one node的转换了:执行转换之前必须保证数据库有service以及仅剩下一个instance
[oracle@node2 ~]$ srvctl convert database -d dbkdb -c raconenode -i dbkdb_1 -w 5
检查dbkdb状态:
[grid@node1 ~]$ srvctl config database -d dbkdb
Database unique name: dbkdb
Database name: dbkdb
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +FLASH/dbkdb/spfiledbkdb.ora
Domain:
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: dbkdb
Database instances:
Disk Groups: FLASH
Mount point paths:
Services: dbk
Type: RACOneNode
Online relocation timeout: 2
Instance name prefix: dbkdb
Candidate servers: node2
Database is administrator managed
Oracle HA 之 RAC one node实战的更多相关文章
- Oracle HA 之 SERVICE和DRM实战
第一部分:service实战 --oracle 11gR2中创建service的方法:db console和srvctl两种方法. --db console创建service方法-略 --srvctl ...
- 【总文档】rac增加新节点的方法步骤 How to Add Node/Instance or Remove Node/Instance in 10gR2, 11gR1, 11gR2 and 12c Oracle Clusterware and RAC
[总文档]How to Add Node/Instance or Remove Node/Instance in 10gR2, 11gR1, 11gR2 and 12c Oracle Clusterw ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
- 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之缓存融合技术和主要后台进程(四)
原文地址:http://www.cnblogs.com/baiboy/p/orc4.html 阅读目录 目录 Cache Fusion 原理 什么是 Cache Fusion? 什么是高可用 FA ...
- 【转】【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
原文地址:http://www.cnblogs.com/baiboy/p/orc1.html 阅读目录 目录 集群概念介绍 什么是集群 为什么搭建数据库集群 数据库集群的分类 可扩展的分布式数据库架构 ...
- [置顶] Oracle 11g R2 RAC:使用 srvctl 工具管理 service 资源
1.使用 srvctl 工具创建 service 资源 srvctl add service -d db_unique_name -s service_name {-r "preferred ...
- weblogic多池与oracle集群RAC
http://www.techpaste.com/2013/04/soa-infra-start-fails-weblogic-common-resourceexception-good-connec ...
- RAC One Node转换为RAC
1.查看状态 [oracle@rone1 ~]$ srvctl config database -d rone Database unique name: rone Database name: ro ...
- rac one node在线relocation
1.查看数据库运行状态 $ srvctl status database -d rone Instance rone_2 is running on node rone2 Online relocat ...
随机推荐
- 根据多表条件更新表.............. 一条sql语句.............
CREATE TABLE a( NAME INT, age int ); CREATE TABLE b( height INT, weight int ); ,); ,); SELECT * FROM ...
- 【Java面试题】38 Collection 和 Collections的区别
Collection是集合类的一个顶级接口,其直接继承接口有List与Set 而Collections则是集合类的一个工具类/帮助类,其中提供了一系列静态方法,用于对集合中元素进行排序.搜索以及线程安 ...
- php中获取网站访客来源的关键词方法
php中获取网站访客来源的关键词方法,收集了 <?php class keyword{ public function getKeyword($referer){ if(strpos($refe ...
- apache Storm之一-入门学习
准备工作 这个教程使用storm-starter项目里面的例子.我推荐你们下载这个项目的代码并且跟着教程一起做.先读一下:配置storm开发环境和新建一个strom项目这两篇文章把你的机器设置好. 一 ...
- LLE局部线性嵌入算法
非线性降维 流形学习 算法思想有些类似于NLM,但是是进行的降维操作. [转载自] 局部线性嵌入(LLE)原理总结 - yukgwy60648的博客 - CSDN博客 https://blog.csd ...
- liunx下误删除/var目录下的empty文件,导致ssh连接不上
清理Liunx上不用的文件,导致误删 /var/下的empty文件,因为用的是ftp删的,所以可能有隐藏文件没有看到,导致其他同事都登录不上去 解决方法: 1.在/var文件夹下,重新建立empty文 ...
- cesium可视化空间数据1
---恢复内容开始--- 1.多边形 我们要从经度和纬度列表中为美国怀俄明州添加一个多边形.(怀俄明被选中是因为它是一个简单的多边形.)我们可以复制并粘贴以下代码到Sandcastle中: < ...
- 如何调用别人发布的WebService程序
这篇经验会告诉我们如何调用别人发布的WebService,并且需要注意的事项.现在就拿获取天气预报的接口举例,因为文中不允许有链接,所以在下文图中有WebService链接的地址. 工具/原料 V ...
- 转:Android文件操作总结
http://www.cnblogs.com/devinzhang/archive/2012/01/19/2327597.html http://blog.sina.com.cn/s/blog_5a4 ...
- MongoDB(一)-- 简介、安装、CRUD
一.Mongodb简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可 ...