控制文件是一个非常重要的文件,记录了数据库的状态信息,是一个二进制文件
控制文件的管理注意两个方面:
1、多元化(多重镜象)
让数据库有多个控制文件,起到互为备份的作用(每个控制文件的内容完全一样)
只要有任何一个控制文件有问题,数据库就会停机或者无法启动
2、实时备份
数据库物理状态发生改变,最好要备份一下控制文件
控制文件多重镜象
多重镜象的原则:
1、要有多个控制文件
2、控制文件分布最好放到不同的物理磁盘上
过程:
1、修改参数文件中控制文件的路径
SQL> alter system set
control_files='/u01/app/oracle/oradata/orcl/control01.ctl',
'/u02/control02.ctl','/u03/control03.ctl' scope=spfile;
2、停库,把控制文件复制到相应的位置(注意权限)
SQL> shutdown immediate;
SQL> host cp /u01/app/oracle/oradata/orcl/control01.ctl /u02/control02.ctl
SQL> host cp /u01/app/oracle/oradata/orcl/control01.ctl /u03/control03.ctl
3、启库、检查、把原来未用的删除
SQL> select name from v$controlfile;
SQL> host rm /u01/app/oracle/flash_recovery_area/orcl/control02.ctl
控制文件备份:
备份成二进制文件:
SQL> alter database backup controlfile to '/home/oracle/ctlbak.ctl';
备份成创建脚本:
SQL> alter database backup controlfile to trace as '/home/oracle/ctlbak.sql';
例:控制文件脚本 create_ctl.sql
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' SIZE 50M BLOCKSIZE 512
DATAFILE
'/u01/app/oracle/oradata/orcl/system01.dbf',
'/u01/app/oracle/oradata/orcl/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl/users01.dbf',
'/u01/app/oracle/oradata/orcl/example01.dbf'
CHARACTER SET AL32UTF8
控制文件的管理注意两个方面:
1、多元化(多重镜象)
让数据库有多个控制文件,起到互为备份的作用(每个控制文件的内容完全一样)
只要有任何一个控制文件有问题,数据库就会停机或者无法启动
2、实时备份
数据库物理状态发生改变,最好要备份一下控制文件
控制文件多重镜象
多重镜象的原则:
1、要有多个控制文件
2、控制文件分布最好放到不同的物理磁盘上
过程:
1、修改参数文件中控制文件的路径
SQL> alter system set
control_files='/u01/app/oracle/oradata/orcl/control01.ctl',
'/u02/control02.ctl','/u03/control03.ctl' scope=spfile;
2、停库,把控制文件复制到相应的位置(注意权限)
SQL> shutdown immediate;
SQL> host cp /u01/app/oracle/oradata/orcl/control01.ctl /u02/control02.ctl
SQL> host cp /u01/app/oracle/oradata/orcl/control01.ctl /u03/control03.ctl
3、启库、检查、把原来未用的删除
SQL> select name from v$controlfile;
SQL> host rm /u01/app/oracle/flash_recovery_area/orcl/control02.ctl
控制文件备份:
备份成二进制文件:
SQL> alter database backup controlfile to '/home/oracle/ctlbak.ctl';
备份成创建脚本:
SQL> alter database backup controlfile to trace as '/home/oracle/ctlbak.sql';
例:控制文件脚本 create_ctl.sql
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/orcl/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/orcl/redo03.log' SIZE 50M BLOCKSIZE 512
DATAFILE
'/u01/app/oracle/oradata/orcl/system01.dbf',
'/u01/app/oracle/oradata/orcl/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl/users01.dbf',
'/u01/app/oracle/oradata/orcl/example01.dbf'
CHARACTER SET AL32UTF8
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21175589/viewspace-755715/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21175589/viewspace-755715/