一、控制文件的多路复用
a)、shutdown immediate;
b)、操作系统下,复制备份文件到新的磁盘,拷贝下新控制文件的全路径;
c)startup nomount;
d)、
alter system set control_files =
'F:OraclePRODUCT10.1.0ORADATAORCLCONTROL01.CTL',
'F:ORACLEPRODUCT10.1.0ORADATAORCLCONTROL02.CTL',
'F:ORACLEPRODUCT10.1.0ORADATAORCLCONTROL03.CTL',
'E:Oracle_Learncontrol_bakCONTROL04.CTL'
scope = spfile;
c)、shutdown immediate;
d)、startup;
注意:控制文件的手动备份一定要在数据库停止后再备份,
二、控制文件的移除
a)、shutdown immediate;
b)、startup nomount;
c)、
alter system set control_files =
'F:ORACLEPRODUCT10.1.0ORADATAORCLCONTROL01.CTL',
'F:ORACLEPRODUCT10.1.0ORADATAORCLCONTROL02.CTL',
'F:ORACLEPRODUCT10.1.0ORADATAORCLCONTROL03.CTL'
scope = spfile;
d)、shutdown immediate;
e)、startup ;
f)、手动删除不要的控制文件;
三、控制文件丢失的模拟测试
1、shutdown immediate;
2、手动删除控制文件,只保留一个;
3、startup启动数据库,报ORA-00205,控制文件错误;
4、shutdown immediate;
5、startup nomount;
6、alter system set control_files =
'E:Oracle_Learncontrol_bakCONTROL04.CTL'
scope = spfile;
7、shutdown immediate;
8、startup;
说明:控制文件只要一个即可启动数据库,但是数据库在活动状态时,是严格保证每一个控制文件内容一致的。
对于控制文件没有备份,后期只能手动创建,获得手动创建控制文件脚本方法如下:
1、sqlplus或plsql执行如下命令:
alter database backup controlfile to trace;--在数据库好的时候就要执行这个
2、找到跟踪文件位置
SQL> show parameter user_dump_dest;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
user_dump_dest string F:ORACLEPRODUCT10.1.0ADMINORCLUDUMP
--按时间,打开最近的跟踪文件
cat orcl_ora_4172.trc,找到如下内容:
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 454
LOGFILE
GROUP 1 'F:ORACLEPRODUCT10.1.0ORADATAORCLREDO01.LOG' SIZE 10M,
GROUP 2 'F:ORACLEPRODUCT10.1.0ORADATAORCLREDO02.LOG' SIZE 10M,
GROUP 3 'F:ORACLEPRODUCT10.1.0ORADATAORCLREDO03.LOG' SIZE 10M
-- STANDBY LOGFILE
DATAFILE
'F:ORACLEPRODUCT10.1.0ORADATAORCLSYSTEM01.DBF',
'F:ORACLEPRODUCT10.1.0ORADATAORCLUNDOTBS01.DBF',
'F:ORACLEPRODUCT10.1.0ORADATAORCLSYSAUX01.DBF',
'F:ORACLEPRODUCT10.1.0ORADATAORCLUSERS01.DBF'
CHARACTER SET ZHS16GBK
相关阅读:
Oracle 10g ASM 控制文件多路复用
多路复用控制文件