oracle随记——控制文件

来源:互联网 发布:js选项卡切换代码 编辑:程序博客网 时间:2024/05/16 05:48
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
原创粉丝点击