如何重建RAC的控制文件
1个回答
推荐于2016-11-01 · 知道合伙人互联网行家
关注
展开全部
在下面的一些情况下,可能需要重建控制文件:
o 所有控制文件都已损坏或丢失
o 没有针对控制文件的备份或者备份已损坏
下面是针对RAC环境下重建控制文件的具体过程, 包括两个例子。一个是以noresetlogs模式来重建控制文件,一个是以resetlogs模式来重建控制文件。如果redo logs都存在而且没有被损坏,那么可以采用noresetlogs。 使用resetlogs会将所有redo log清空而且重置log sequence为1.
在RAC上重建控制文件与单实例有一些小区别: 在重建控制文件前必须设置cluster_database=false,而且只启动一个实例来执行操作,否则会报错
ORA-01503: CREATE CONTROLFILE failed
ORA-12720: operation requires database is in EXCLUSIVE mode
重建完控制文件后,需要再将cluster_database设为true.
TESTCASE1
---------------------------
用noresetlog模式重建控制文件
过程:
1.首先生成重建控制文件的脚本:
SQL> alter database backup controlfile to trace;
Database altered.
2. 所生成的控制文件的脚本会在udump下:
SQL> show parameter user_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string /u01/app/Oracle/diag/rdbms/racdb/RACDB1/trace
数据库的Alert log中也会详细输出这个文件的路径和名字:
alter database backup controlfile to trace
Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/racdb/RACDB1/trace/RACDB1_ora_10076.trc
(注意: 例子中使用到的具体脚本,比如创建控制文件和添加临时数据文件的命令都在上面生成的trace文件中,其它步骤和命令也基本都在这个trace中)。
3. 停止所有数据库实例:
[oracle@rac1 trace]$ srvctl stop database -d RACDB
o 所有控制文件都已损坏或丢失
o 没有针对控制文件的备份或者备份已损坏
下面是针对RAC环境下重建控制文件的具体过程, 包括两个例子。一个是以noresetlogs模式来重建控制文件,一个是以resetlogs模式来重建控制文件。如果redo logs都存在而且没有被损坏,那么可以采用noresetlogs。 使用resetlogs会将所有redo log清空而且重置log sequence为1.
在RAC上重建控制文件与单实例有一些小区别: 在重建控制文件前必须设置cluster_database=false,而且只启动一个实例来执行操作,否则会报错
ORA-01503: CREATE CONTROLFILE failed
ORA-12720: operation requires database is in EXCLUSIVE mode
重建完控制文件后,需要再将cluster_database设为true.
TESTCASE1
---------------------------
用noresetlog模式重建控制文件
过程:
1.首先生成重建控制文件的脚本:
SQL> alter database backup controlfile to trace;
Database altered.
2. 所生成的控制文件的脚本会在udump下:
SQL> show parameter user_dump_dest
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string /u01/app/Oracle/diag/rdbms/racdb/RACDB1/trace
数据库的Alert log中也会详细输出这个文件的路径和名字:
alter database backup controlfile to trace
Backup controlfile written to trace file /u01/app/oracle/diag/rdbms/racdb/RACDB1/trace/RACDB1_ora_10076.trc
(注意: 例子中使用到的具体脚本,比如创建控制文件和添加临时数据文件的命令都在上面生成的trace文件中,其它步骤和命令也基本都在这个trace中)。
3. 停止所有数据库实例:
[oracle@rac1 trace]$ srvctl stop database -d RACDB
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询