Oracle的文件系统(二)
3)数据库运行期间控制文件不断地被更新
4)每个控制文件都只关联一个数据库
5)应该被多元化
6)维护数据库实体
7)由CREATE DATABASE语句初始化大小
1.3.2 控制文件包含主要内容
1)数据库名及数据库唯一标识
2)数据文件和日志文件标识
3)数据库恢复所需的同步信息,即检查点号
4)数据库创建时间
5)表空间名
6)当前重做日志文件SCN
7)回滚段的开始和结束
8)重做日志归档信息
9)备份信息
1.3.1 控制文件的常用操作
对oracle控制文件的管理主要包括:
1> 控制文件的备份 www.2cto.com
2> 控制文件的移动
3> 控制文件的重建
4> 控制文件的修改(重命名数据库)
1.3.1.1 备份控制文件
有三种方法:
创建备份控制文件 alter database backup controlfile to 'C:\controlfile01.ctl';
通过创建跟踪文件来创建 alter database backup controlfile to trace;
rman配置自动备份控制文件 configure controlfile autobackup on;
1.3.2.2 移动控制文件
确定移动的位置;
启动数据库实例,startup mount或startup;
若用的是PFILE则修改控制文件的路径;若用的是SPFILE
则:alter system set control_files='PATH1,PATH2,PATH3' scope=spfile;
关闭数据库 shutdown immediate;
物理移动控制文件到新的位置;
重启数据库 startup.
1.2.2.3 重建控制文件 www.2cto.com
存在以下存在几种情况
1)控制文件部分丢失
shutdown abort;
cp -p 未丢失的控制文件 已丢失的控制文件
startup nomount;
alter database mount;
alter database open;
2)控制文件丢失
若rman中存在备份,可以通过rman进行恢复控制文件
startup nomount;
restore controlfile from autobackup;
若rman中没有备份,通过数据库备份控制文件来重建控制文件
shutdown immediate;
cp
alter database mount;
alter database open using backup controlfile;
3)通过跟踪文件重建 www.2cto.com
alter database backup controlfile to trace
编辑此跟踪文件并用SQL执行;
4)手工创建控制文件(需要知道的信息:数据库名称,在每个重做日志给中至少一个成员的位置和名称,所有数据文件的名称和位置)
CREATE CONTROLFILE REUSE DATABASE "PRDB"
NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracle/oradata/prdb/redo01.log' SIZE 50M,
GROUP 2 '/oracle/oradata/prdb/redo02.log' SIZE 50M,
GROUP 3 '/oracle/oradata/prdb/redo03.log' SIZE 50M
DATAFILE
'/oracle/oradata/prdb/system01.dbf',
'/oracle/oradata/prdb/undotbs01.dbf',
'/oracle/oradata/prdb/sysaux01.dbf',
'/oracle/oradata/prdb/users01.dbf';
www.2cto.com
1.3.2.4 重命名数据库
alter database backup controlfile to trace;
show parameter user_dump_dest
select name,values from v$parameter
where name='user_dump_dest';
cp ***.trc controlfile.sql
vi controlfile.sql
more controlfile.sql
CREATE CONTROLFILE set DATABASE "PRDB" RESETLOGS FORCE LOGGING ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracle/oradata/prdb/redo01.log' SIZE 50M,
GROUP 2 '/oracle/oradata/prdb/redo02.log' SIZE 50M,
GROUP 3 '/oracle/oradata/prdb/redo03.log' SIZE 50M
DATAFILE
'/oracle/oradata/prdb/system01.dbf',
'/oracle/oradata/prdb/undotbs01.dbf',
'/oracle/oradata/prdb/sysaux01.dbf',
'/oracle/oradata/prdb/users01.dbf'
CHARACTER SET ZHS16GBK; www.2cto.com
shutdown immediate;
先对原数据库进