您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

对于创建控制文件后MISSINGnnnn文件的处理

2025/12/9 3:49:33发布39次查看
1missingnnnn文件产生的原因数据字典file$中存在某个数据文件,而新创建控制文件时没有指定该数据文件,则数据库会在新的控制文件中创建一个该数据文件条目,文
1 missingnnnn文件产生的原因
数据字典file$中存在某个数据文件,而新创建控制文件时没有指定该数据文件,则数据库会在新的控制文件中创建一个该数据文件条目,网站空间,文件名为missingnnnn其中nnnn为十进制文件号
2 对于missingnnnn数据文件的处理
如果misssingnnnn文件属于只读或者正常离线,则可通过重命名missingnnnn文件为真实文件来进行处理。
如果missingnnnn文件不属于只读或者正常离线,则需要通过重命名和介质恢复来处理。
如果file$中不存在该数据文件,而新创建控制文件时指定该数据文件,则数据库会在数据库中删除该数据文件,而数据文件还会存在于系统。
3 5个相关例子
例一:测试如果file$中不存在某个数据文件,而新建控制文件时指定该数据文件,则数据库会在数据库中删除该数据文件,服务器空间,而数据文件不会删除
例二:测试以noresetlogs方式创建控制文件,产生missingnnnn文件的处理方法:
例三:测试以noresetlogs方式创建控制文件+正常离线数据文件,产生missingnnnnn文件的处理过程
例四:测试以resetlogs方式创建控制文件+正常离线数据文件,产生missingnnnn文件的处理过程
例五:测试以resetlogs方式创建控制文件产生missingnnnn文件的处理过程
4 实验过程如下:       
例一:测试如果file$中不存在某个数据文件,而新建控制文件时指定该数据文件,则数据库会在数据库中删除该数据文件,而数据文件不会删除。
1 准备重建控制文件的语句如下:
[oracle@oracle crm]$ cat /oracle/control.sql
startup nomount
create controlfile reuse database crm noresetlogs  archivelog
    maxlogfiles 16
    maxlogmembers 3
    maxdatafiles 100
    maxinstances 8
    maxloghistory 292
logfile
  group 1 (
    '/oracle/app/db1/dbs/log1crm.dbf',
    '/oracle/crm2/crm/redo01b.log'
  ) size 200m,
  group 2 (
    '/oracle/app/db1/dbs/log2crm.dbf',
    '/oracle/crm2/crm/redo02b.log'
  ) size 50m,
  group 3 (
    '/oracle/crm2/crm/redo03.log',
    '/oracle/crm2/crm/redo03b.log'
  ) size 200m,
  group 4 (
    '/oracle/crm2/crm/redo04.log',
    '/oracle/crm2/crm/redo04b.log'
  ) size 200m,
  group 5 (
    '/oracle/crm2/crm/redo05.log',
    '/oracle/crm2/crm/redo05b.log'
  ) size 200m,
  group 6 (
    '/oracle/crm2/crm/redo06.log',
    '/oracle/crm2/crm/redo06b.log'
  ) size 200m
datafile
  '/oracle/crm2/system1.dbf',
  '/oracle/crm2/zxb.dbf',
  '/oracle/crm2/crm/sysaux01.dbf',
  '/oracle/crm2/crm/users01.dbf',
  '/oracle/crm2/zxa.dbf',
  '/oracle/crm2/crm/undotbs2.dbf',
  '/oracle/crm2/zxc.dbf',
  '/oracle/crm2/crm/zxbig1.dbf',
  '/oracle/crm2/crm/jiujian.dbf'
character set zhs16gbk
;
2 删除file$中关于file#=9的条目:
sql> select file#,status$,ts#,relfile# from  file$;
     file#    status$        ts#   relfile#
---------- ---------- ---------- ----------
         1          2          0          1
         2          2          6          2
         3          2          2          3
         4          2          4          4
         5          2          6          5
         6          2          5          6
         7          2          6          7
         8          2          7       1024
         9          2         13          9
9 rows selected.
sql> delete from file$ where file#=9;
1 row deleted.
sql> commit;
commit complete.
注意v$datafile 中存在file#=9的文件信息。
sql> select file#,name,status from v$datafile;
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product