oracle创建控制文件

1.查看数据文件和重做日志文件

      在创建新控制文件时,首先需要了解数据文件和重做日志文件。如果数据库无法打开,就无法通过查询数据字典来获取数据文件和日志文件信息,唯一的办法就是查看警告日志文件。如果数据库可以打开,则

SQL>select member from v$logfile;

SQL>select name from v$datafile;

2.关闭数据库,在system模式下,执行shutdown immediate

3.备份文件,用户需要备份所有数据文件和重做日志文件,因为在使用create controfile时,操作不当则可能损坏数据文件和日志文件。

4.启动数据库实例,但不加载数据库,因为加载数据库时会打开控制文件。

SQL>startup nomount;

5.创建新的控制文件

可通过以下方式获得创建语句。alter database backup to trace;备份控制文件为可读文本,即创建语句。存放目录通过show parameter user_dump_dest;获取。

也可自己写,如下:

create controlfile
reuse database "orcl"
logfile
group 1 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO01.LOG',
group 2 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO02.LOG',
group 3 'E:\APP\ADMINISTRATOR\ORADATA\ORCL\REDO03.LOG'
datafile
'E:\APP\ADMINISTRATOR\ORADATA\ORADATA\ORCL\SYSTEM01.DBF',
'E:\APP\ADMINISTRATOR\ORADATA\ORADATA\ORCL\SYSAUX01.DBF',
'E:\APP\ADMINISTRATOR\ORADATA\ORADATA\ORCL\UNDOTBS01.DBF',
'E:\APP\ADMINISTRATOR\ORADATA\ORADATA\ORCL\USERS01.DBF'
maxlogfiles 50
maxlogmembers 3
maxinstances 6
maxdatafiles 200
noresetlogs
noarchivelog;

  database关键字后面的数据库名要和spfile文件中的 DB_NAME参数值一致。

  noresetlogs选项表示仍然使用原来的重做日志文件。setlogfiles则表示不使用。

  logfile选项用于指定原数据库重做日志的组号、大小以及对应的日志成员。

  datafile用于指定数据库原有的数据文件。

  maxlogfiles指最大的重做日志文件数。

  maxlogmembers指最大的重做日志组成员。

  maxinstances指最大实例数。

  maxdatafiles指最大数据文件数。

6.通过编辑spfile初始化参数control_files,使其指向新建的控制文件

alter system set control_files=
'E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL',
'E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL'
scope=spfile;

7.打开数据库

alter database open;

如果在创建控制文件时使用了resetlogs,则参考一下代码

alter database openresetlogs;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值