oracle随记——控制文件

1. 查看当前的控制文件
show parameter control_files 或者
select name from v$controlfile;
2. 查看控制文件的内容
oradebug setmypid
oradebug dump control 3
上面两条命令会将控制文件写入文本文件,然后去用户进程日志下访问,查询当然用户(SYS)的用户进程文件用下面这条语句
SELECT tracefile FROM V$PROCESS WHERE  ADDR = (select paddr from v$session where username = 'SYS');
3. 产生重建控制文件的脚本
alter database backup controlfile to trace;
同样在用户进程日志下可以查看到脚本:
CREATE CONTROLFILE REUSE DATABASE "PRODUCT" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 32
    MAXLOGMEMBERS 2
    MAXDATAFILES 32
    MAXINSTANCES 16
    MAXLOGHISTORY 1752
LOGFILE
  GROUP 1 'C:\APP\ADMINISTRATOR\ORADATA\PRODUCT\REDO01.LOG'  SIZE 10M BLOCKSIZE 512,
  GROUP 2 'C:\APP\ADMINISTRATOR\ORADATA\PRODUCT\REDO02.LOG'  SIZE 10M BLOCKSIZE 512,
  GROUP 3 'C:\APP\ADMINISTRATOR\ORADATA\PRODUCT\REDO03.LOG'  SIZE 10M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  'C:\APP\ADMINISTRATOR\ORADATA\PRODUCT\SYSTEM01.DBF',
  'C:\APP\ADMINISTRATOR\ORADATA\PRODUCT\SYSAUX01.DBF',
  'C:\APP\ADMINISTRATOR\ORADATA\PRODUCT\UNDOTBS101.DBF'
CHARACTER SET US7ASCII
;
4. 新增一个控制文件
先关闭数据库
shutdown immediate
随便复制一个该数据库已存在的control文件到目标文件夹,并改名,例:
C:\app\Administrator\datafiles\product\control_files\ CONTROL03.CTL
启动到nomount状态
startup nomount
修改控制文件
alter system set control_files=’C:\APP\ADMINISTRATOR\ORADATA\PRODUCT\CONTROL01.CTL’,’C:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\PRODUCT\CONTROL02.CTL','C:\app\Administrator\datafiles\product\control_files\CONTROL03.CTL’ scope=spfile
启动数据库
alter database open
5. 删除控制文件
修改control_files 这个参数,去除要删除的文件地址,并删除对应的文件,重启数据库就可以了
6. 重建控制文件
当控制文件全部丢失或者损坏时,将数据库启动至nomount状态,删除所有的损坏的控制文件,运行重建控制文件的脚本,生成一个控制文件,将新的文件重新命名,并在数据库中指定这些控制文件,重启数据库即可。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值