Oracle10g系统管理6

39.控制文件用于记录和维护数据库的物理结构。当启动例程并打开数据库时,Oracle会根据初始化参数control_files在例程和数据库之间建立关联。
装载数据库(MOUNT状态)时,Oracle会按照初始化参数control_files定位并打开控制文件。
打开数据库时,Oracle会根据控制文件所记载的数据文件和重做日志信息,打开所有数据文件和重做日志。
控制文件主要记载了以下信息:
数据库名称
数据文件名称和位置
重做日志名称和位置
表空间名称
当前日志序列号
检查点信息
日志历史信息
RMAN信息

 

40.控制文件中永久参数
maxinstances:最大例程个数
maxdatafiles:最大数据文件个数
maxlogfiles:最大日志组个数
maxlogmembers:最大日志成员个数
maxloghistory:可记载日志历史的最大个数
使用RMAN执行备份操作时,RMAN备份信息会被记载到控制文件中。初始化参数control_file_record_keep_time指定了RMAN备份信息在控制文件中的
保留时间,其默认值为7.

 

41.多元化控制文件
使用PFILE多元化控制文件
利用数据字典v$controlfile来获取现有控制文件名字。
正常关闭Oracle数据库,如shutdown或shutdown immediate。
将新的控制文件名添加到参数文件的CONTROL_FILES参数中(pfile文件)。
使用操作系统的复制命令将现有控制文件复制到指定位置。
启动Oracle数据库。
利用数据字典v$controlfile来验证新的控制文件名字是否正确。

使用SPFILE多元化控制文件
利用数据字典v$controlfile来获取现有控制文件的名字。
修改SPFILE,使用alter system set control_files命令来改变控制文件的位置。
正常关闭数据库,如shutdown或shutdown immediate。
使用操作系统的复制命令将现有控制文件复制到指定位置。
启动Oracle数据库。
利用数据字典v$controlfile来验证新的控制文件名字是否正确。

 

42.备份控制文件
alter database backup controlfile to '/u01/oracle/controlfile.ctl.bk';
alter database backup controlfile to trace;启动一个追踪备份。路径为参数user_dump_des控制的。
基本的格式为sid_ora_pid.trc;---ls -alt;以时间格式显示trc文件

 

43.建立控制文件
建立控制文件时,要求例程必须处于NOMOUNT状态。正确设置了初始化参数control_files后,启动到nomount状态,并检查初始化参数control_files设置是否正确。建立控制文件时必须提供正确的数据文件和重做日志清单。
create controlfile database demo noresetlogs
logfile
 group 1 ‘…redo01.log’ size 10m,
 group 2 ‘…redo02.log’ size 10m,
 group 3 ‘…redo03.log’ size 10m
datafile
 '…system01.dbf’,
 '…sysaux01.dbf’,
 '…undotbs01.dbf’
character set zhs16gbk;

alter database open;
如果建立控制文件时指定了RESETLOGS选项,那么打开数据库时必须带有该选项。
alter database open resetlogs.

增加临时文件
alter tablespace temp add tempfile ‘…temp.dbf’ size 10485760 reuse autoextend off;

为了修改永久参数DB_NAME、MAXINSTANCES、MAXLOGMEMBERS、MAXLOGFILES、MAXLOGMEMBERS、MAXLOGHISTORY,DBA必须重新建立控制文件。
CREATE CONTROLFILE REUSE DATABASE “DEMO” NORESETLOGS
 MAXLOGFILES 10
 …..

如果建立控制文件时指定了RESETLOGS选项,那么打开数据库时必须带有该选项。
alter database open resetlogs.

增加临时文件
alter tablespace temp add tempfile ‘…temp.dbf’ size 10485760 reuse autoextend off;

 

44.修改数据库名称有两种方法:
第一种方法是使用CREATE CONTROLFILE命令重建控制文件。
第二种方法是使用DBNEWID改变数据库名。

建立PFILE文件:SQL>CREATE PFILE FROM SPFILE;
编辑PFILE修改初始化参数DB_NAME
建立临时的SPFILE
CREATE SPFILE='$ORACLE_HOME/dbs/spfiletemp.ora'
from PFILE='$ORACLE_HOME/dbs/initdemo.ora';
关闭Oracle数据库。
启动例程用新spfile。
建立控制文件。因为要修改数据库名称,建立控制文件时必须指定SET DATABASE选项和RESETLOGS选项,因为原有控制文件仍然存在,必须指定REUSE选项覆盖控制文件。
CREATE CONTROLFILE REUSE SET DATABASE “example” RESETLOGS
 MAXLOGFILES 16
 ….
打开数据库ALTER DATABASE OPEN RESETLOGS;
添加临时文件alter tablespace temp add tempfile ‘…temp.dbf’ size 10485760 reuse autoextend off.

通过查询动态性能视图v$controlfile_record_section可以获得控制文件所记载的各部分信息和永久参数设置。
select type,record_size,records_total,records_used from v$controlfile_record_section;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值