暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

RAC多路径复用Controlfile

原创 AIQ 2020-02-14
1283

背景:

  • OCM考试为单机的复用控制文件。
  • 哪RAC集群方式是如何复用的呢?

目录:

[toc]

思路:

1.环境检查

查现控制文件和参数文件所在路径的状况。
复制

2.停止库,并启动到umount阶段的started状态

3.rman复制控制文件。

rman启动到umount阶段

rman的restore方式复制

ASM查找复制后的实际控制文件名与路径。(grid)
复制

4.vi修改参数文件

创建PFILE的参数文件保存到普通路径。

增加新控制文件进PFILE。

停库

覆盖SPFILE
复制

5.启用库(oracle)。

6.检查修改后的结果(sqlplus)。

实验:

1.环境检查

查现控制文件和参数文件所在路径的状况。

show parameter cluster 
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
cluster_database		     boolean	 TRUE
cluster_database_instances	     integer	 2
cluster_interconnects		     string
==
show parameter control
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time	     integer	 7
control_files			     string	 +DATA/racdb/controlfile/curren
						 t.260.1031702135, +FRA/racdb/c
						 ontrolfile/current.256.1031702
						 135
control_management_pack_access	     string	 DIAGNOSTIC+TUNING
==
select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
+DATA/racdb/controlfile/current.260.1031702135
+FRA/racdb/controlfile/current.256.1031702135
==
SQL> show parameter spfile
NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
spfile				     string	 +DATA/racdb/spfileracdb.ora
复制

2.停止库,并启动到umount阶段的started状态

srvctl stop database -d RACDB #id:oracle

3.rman复制控制文件。
rman启动到umount阶段

rman target /
startup nomount

rman target / 
Recovery Manager: Release 11.2.0.4.0 - Production on Thu Feb 13 12:16:42 2020
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database (not started)
RMAN> startup nomount
Oracle instance started
Total System Global Area     835104768 bytes
Fixed Size                     2257840 bytes
Variable Size                608177232 bytes
Database Buffers             218103808 bytes
Redo Buffers                   6565888 bytes
复制

rman的restore方式复制
restore controlfile to '+DATA/racdb/controlfile/current.260.1031702136' from '+DATA/racdb/controlfile/current.260.1031702135';

RMAN> restore controlfile to '+DATA/racdb/controlfile/current.260.1031702136' from '+DATA/racdb/controlfile/current.260.1031702135';
Starting restore at 13-FEB-20
using channel ORA_DISK_1
channel ORA_DISK_1: copied control file copy
Finished restore at 13-FEB-20
复制

ASM查找复制后的实际控制文件名与路径。不会以我们指定的名字一样的,所以要查出来。

su - grid asmcmd
复制
cd +DATA/RACDB/controlfile #由环境检查时查到的目录为准。
ASMCMD> pwd
+DATA/RACDB/controlfile
ASMCMD> ls 
Current.260.1031702135
current.268.1032265221
复制
  • 拼接后的文件名:+DATA/RACDB/controlfile/current.268.1032265221
  • 为以后修改参数文件使用,那是否可以改名呢?

4.vi修改参数文件

创建PFILE的参数文件保存到普通路径。

sqlplus / as sysdba

create pfile='/home/oracle/initRACDB.ora' from spfile='+DATA/racdb/spfileracdb.ora';
复制

增加新控制文件进PFILE。添加新文件进去。

vi /home/oracle/initRACDB.ora

*.control_files='+DATA/racdb/controlfile/current.260.1031702135','+FRA/racdb/controlfile/current.256.1031702135','+DATA/RACDB/controlfile/current.268.1032265221'
复制

停库

​ sqlplus操作:

sqlplus / as sysdba shutdown immediate;
复制

​ 或者rman里面的操作:

rman target / 
shutdown immediate;
复制

覆盖SPFILE

create spfile='+DATA/racdb/spfileracdb.ora' from pfile='/home/oracle/initRACDB.ora' ;

5.启用库(user:oracle)

srvctl start database -d RACDB -o open

6.检查修改后的结果。

select name from v$controlfile;
show parameter control;
select name from v$controlfile;
复制
NAME
--------------------------------------------------------------------------------

+DATA/racdb/controlfile/current.260.1031702135
+FRA/racdb/controlfile/current.256.1031702135
+DATA/racdb/controlfile/current.268.1032265221 
SYS@RACDB_1> show parameter control

NAME				     TYPE	 VALUE

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

control_file_record_keep_time	     integer	 7
control_files			     string	 +DATA/racdb/controlfile/curren
   					 t.260.1031702135, +FRA/racdb/c
   					 ontrolfile/current.256.1031702
   					 135, +DATA/racdb/controlfile/c
   					 urrent.268.1032265221
control_management_pack_access	     string	 DIAGNOSTIC+TUNING
复制

几个遗留问题:

controlfile名字:

  • rman创建crontrolfile时,是否可以修改自己想要的名字?
    • 答案是不可以,上面已经实验出结果,那为何不能按照我们的愿意生成呢?
  • asmcmd是否可以修改自己要的名字?

移动controlfile是怎样操作?

最后修改时间:2020-02-21 16:49:04
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论

TA的专栏
Oracle
收录1篇内容
MySQL Go
收录3篇内容
目录
  • 思路:
  • 实验:
    • 1.环境检查
      • 查现控制文件和参数文件所在路径的状况。
    • 2.停止库,并启动到umount阶段的started状态
      • ASM查找复制后的实际控制文件名与路径。不会以我们指定的名字一样的,所以要查出来。
    • 4.vi修改参数文件
      • 创建PFILE的参数文件保存到普通路径。
      • 增加新控制文件进PFILE。添加新文件进去。
      • 停库
      • 覆盖SPFILE
    • 5.启用库(user:oracle)
    • 6.检查修改后的结果。
    • 几个遗留问题: