十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
Oracle Study之--Oracle RAC重建控制文件
创新互联主营鹿城网站建设的网络公司,主营网站建设方案,app软件开发公司,鹿城h5小程序定制开发搭建,鹿城网站营销推广欢迎鹿城等地区企业咨询系统环境:
操作系统: AIX5.3
Cluster: Oracle 10gR2 CRS
Oracle: Oracle 10gR2
在RAC环境下重建控制文件和在单实例上类似,只是有些步骤需要注意:
[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.dbfDatabase存储在在RAW上。
1、首先在一个节点备份controlfile
[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)
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
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,然后重建重新建立控制文件:
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 ZHS16GBK4、重建成功,启动到open
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.dbf5、修改cluster_database参数,启动所有instance
SQL> alter system set cluster_database =true scope=spfile; System altered.启动所有Instance,如果所有instance启动成功,则controlfile重建成功。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。