Oracle Study之--Oracle RAC重建控制文件

系统环境:

操作系统: AIX5.3

Cluster:  Oracle 10gR2 CRS

Oracle:   Oracle 10gR2


  在RAC环境下重建控制文件和在单实例上类似,只是有些步骤需要注意:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[oracle@aix211 ~]$cat mkln.sh 
ln -s /dev/rsystem           /u01/app/oracle/oradata/prod/system01.dbf
ln -s /dev/rsysaux           /u01/app/oracle/oradata/prod/sysaux01.dbf
ln -s /dev/rusers            /u01/app/oracle/oradata/prod/users01.dbf
ln -s /dev/rundotbs1         /u01/app/oracle/oradata/prod/undotbs01.dbf 
ln -s /dev/rundotbs2         /u01/app/oracle/oradata/prod/undotbs02.dbf
ln -s /dev/rtemp             /u01/app/oracle/oradata/prod/temp01.dbf
ln -s /dev/rcontrol1_1         /u01/app/oracle/oradata/prod/control01.ctl
ln -s /dev/rcontrol2_2         /u01/app/oracle/oradata/prod/control02.ctl
ln -s /dev/rcontrol3_3         /u01/app/oracle/oradata/prod/control03.ctl
ln -s /dev/rredo1_1          /u01/app/oracle/oradata/prod/log11.log
ln -s /dev/rredo1_2          /u01/app/oracle/oradata/prod/log12.log
ln -s /dev/rredo2_1          /u01/app/oracle/oradata/prod/log21.log
ln -s /dev/rredo2_2          /u01/app/oracle/oradata/prod/log22.log
ln -s /dev/rindex            /u01/app/oracle/oradata/prod/index01.dbf
ln -s /dev/rspfile           /u01/app/oracle/oradata/prod/spfile01
ln -s /dev/rexample          /u01/app/oracle/oradata/prod/example01.dbf

   Database存储在在RAW上。

1、首先在一个节点备份controlfile

1
2
3
4
5
6
7
8
9
10
11
12
13
[oracle@aix201 ~]$sqlplus  '/as sysdba'
SQL*Plus: Release  10.2. 0.1. 0  - Production  on  Mon Mar  23  16 : 16 : 07  2015
Copyright (c)  1982 2005 , Oracle.  All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release  10.2. 0.1. 0  - 64bit Production
With the Partitioning, Real Application Clusters, OLAP  and  Data Mining options
 
SQL> select status  from  v$instance;
STATUS
------------
OPEN
SQL> alter database backup controlfile to trace;
Database altered.

2、查看控制文件的trace备份(udump)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
CREATE CONTROLFILE REUSE DATABASE  "PROD"  NORESETLOGS  NOARCHIVELOG
     MAXLOGFILES  192
     MAXLOGMEMBERS  3
     MAXDATAFILES  1024
     MAXINSTANCES  32
     MAXLOGHISTORY  292
LOGFILE
   GROUP  1  '/u01/app/oracle/oradata/prod/log11.log'   SIZE 50M,
   GROUP  2  '/u01/app/oracle/oradata/prod/log12.log'   SIZE 50M,
   GROUP  3  '/u01/app/oracle/oradata/prod/log21.log'   SIZE 50M,
   GROUP  4  '/u01/app/oracle/oradata/prod/log22.log'   SIZE 50M
-- STANDBY LOGFILE
DATAFILE
   '/u01/app/oracle/oradata/prod/system01.dbf' ,
   '/u01/app/oracle/oradata/prod/undotbs01.dbf' ,
   '/u01/app/oracle/oradata/prod/sysaux01.dbf' ,
   '/u01/app/oracle/oradata/prod/users01.dbf' ,
   '/u01/app/oracle/oradata/prod/example01.dbf' ,
   '/u01/app/oracle/oradata/prod/undotbs02.dbf'
CHARACTER SET ZHS16GBK
;

3、关闭database,启动其中一个instance到弄mount

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
SQL> startup nomount;
ORACLE instance started.
Total System Global Area   612368384  bytes
Fixed Size                   2022832  bytes
Variable Size              184549968  bytes
Database Buffers           423624704  bytes
Redo Buffers                 2170880  bytes
 
SQL> @/home/oracle/cr_ctr.sql
CREATE CONTROLFILE REUSE DATABASE  "PROD"  NORESETLOGS  NOARCHIVELOG
*
ERROR  at  line  1 :
ORA -01503 : CREATE CONTROLFILE failed
ORA -12720 : operation requires database is  in  EXCLUSIVE mode
SQL> show parameter cluster
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cluster_database                     boolean     TRUE
cluster_database_instances           integer      2
cluster_interconnects                string
 
---创建失败,原因是在RAC下控制文件时处于共享(share)模式,需启动到独立( exclusive )模式,才能重建;修改cluster_database 为 false ,然后重建

重新建立控制文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
SQL> alter system set cluster_database = false  scope=spfile;
System altered.
SQL> startup nomount
ORACLE instance started.
Total System Global Area   612368384  bytes
Fixed Size                   2022832  bytes
Variable Size              184549968  bytes
Database Buffers           423624704  bytes
Redo Buffers                 2170880  bytes
 
SQL> show parameter cluster
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
cluster_database                     boolean     FALSE
cluster_database_instances           integer      1
cluster_interconnects                string
 
SQL> @/home/oracle/cr_ctr.sql
Control file created.
 
告警日志:
alter.log:
Mon Mar  23  16 : 41 : 00  2015
CREATE CONTROLFILE REUSE DATABASE  "PROD"  NORESETLOGS  NOARCHIVELOG
     MAXLOGFILES  192
     MAXLOGMEMBERS  3
     MAXDATAFILES  1024
     MAXINSTANCES  32
     MAXLOGHISTORY  292
LOGFILE
   GROUP  1  '/u01/app/oracle/oradata/prod/log11.log'   SIZE 50M,
   GROUP  2  '/u01/app/oracle/oradata/prod/log12.log'   SIZE 50M,
   GROUP  3  '/u01/app/oracle/oradata/prod/log21.log'   SIZE 50M,
   GROUP  4  '/u01/app/oracle/oradata/prod/log22.log'   SIZE 50M
-- STANDBY LOGFILE
DATAFILE
   '/u01/app/oracle/oradata/prod/system01.dbf' ,
   '/u01/app/oracle/oradata/prod/undotbs01.dbf' ,
   '/u01/app/oracle/oradata/prod/sysaux01.dbf' ,
   '/u01/app/oracle/oradata/prod/users01.dbf' ,
   '/u01/app/oracle/oradata/prod/example01.dbf' ,
   '/u01/app/oracle/oradata/prod/undotbs02.dbf'
CHARACTER SET ZHS16GBK
Mon Mar  23  16 : 41 : 00  2015
WARNING: Default Temporary Tablespace  not  specified  in  CREATE DATABASE command
Default Temporary Tablespace will be necessary  for  a locally managed database  in  future release
WARNING: You are creating/reusing datafile /u01/app/oracle/oradata/prod/control01.ctl.
WARNING: Oracle recommends creating  new  datafiles  on  devices  with  zero offset. The command  "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs"  can be used. Please contact Oracle customer support  for  more details.
WARNING: You are creating/reusing datafile /u01/app/oracle/oradata/prod/control01.ctl.
WARNING: Oracle recommends creating  new  datafiles  on  devices  with  zero offset. The command  "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs"  can be used. Please contact Oracle customer support  for  more details.
WARNING: You are creating/reusing datafile /u01/app/oracle/oradata/prod/control02.ctl.
WARNING: Oracle recommends creating  new  datafiles  on  devices  with  zero offset. The command  "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs"  can be used. Please contact Oracle customer support  for  more details.
WARNING: You are creating/reusing datafile /u01/app/oracle/oradata/prod/control02.ctl.
WARNING: Oracle recommends creating  new  datafiles  on  devices  with  zero offset. The command  "/usr/sbin/mklv -y LVname -T O -w n -s n -r n VGname NumPPs"  can be used. Please contact Oracle customer support  for  more details.
Setting recovery target incarnation to  1
Mon Mar  23  16 : 41 : 05  2015
Successful mount of redo thread  1 with  mount id  286981148
Mon Mar  23  16 : 41 : 05  2015
Completed: CREATE CONTROLFILE REUSE DATABASE  "PROD"  NORESETLOGS  NOARCHIVELOG
     MAXLOGFILES  192
     MAXLOGMEMBERS  3
     MAXDATAFILES  1024
     MAXINSTANCES  32
     MAXLOGHISTORY  292
LOGFILE
   GROUP  1  '/u01/app/oracle/oradata/prod/log11.log'   SIZE 50M,
   GROUP  2  '/u01/app/oracle/oradata/prod/log12.log'   SIZE 50M,
   GROUP  3  '/u01/app/oracle/oradata/prod/log21.log'   SIZE 50M,
   GROUP  4  '/u01/app/oracle/oradata/prod/log22.log'   SIZE 50M
-- STANDBY LOGFILE
DATAFILE
   '/u01/app/oracle/oradata/prod/system01.dbf' ,
   '/u01/app/oracle/oradata/prod/undotbs01.dbf' ,
   '/u01/app/oracle/oradata/prod/sysaux01.dbf' ,
   '/u01/app/oracle/oradata/prod/users01.dbf' ,
   '/u01/app/oracle/oradata/prod/example01.dbf' ,
   '/u01/app/oracle/oradata/prod/undotbs02.dbf'
CHARACTER SET ZHS16GBK


4、重建成功,启动到open

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
SQL> select status  from  v$instance;
STATUS
------------
MOUNTED
 
SQL> alter database open;
Database altered.
 
添加临时表空间数据文件:
SQL> select name  from  v$tempfile;
no rows selected
 
SQL> select tablespace_name  from  dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
UNDOTBS2
EXAMPLE
7  rows selected.
 
SQL> alter tablespace temp add 
   2   tempfile  '/u01/app/oracle/oradata/prod/temp01.dbf'  size 100m reuse;
Tablespace altered.
SQL>  select name  from  v$tempfile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/prod/temp01.dbf


5、修改cluster_database参数,启动所有instance

1
2
SQL> alter system set cluster_database = true  scope=spfile;
System altered.

启动所有Instance,如果所有instance启动成功,则controlfile重建成功。










本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/1623515,如需转载请自行联系原作者
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值