设为首页 收藏本站
查看: 438|回复: 0

[经验分享] Oracle Study之--Oracle RAC重建控制文件

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-3-24 08:17:16 | 显示全部楼层 |阅读模式
系统环境:
操作系统: 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重建成功。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-49947-1-1.html 上篇帖子: 在Python中使用cx_Oracle来访问Oracle 下篇帖子: oracle判断手机号码是否合法 Oracle
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表