对于创建控制文件后MISSINGnnnn文件的处理
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;
上一篇: yii添删改查实例_PHP
下一篇: asp/php下生成GUID
推荐阅读
-
win10系统打开文件总是提示请在默认程序控制面板创建关联的两种解决方法
-
用批处理实现的创建带日期的文件夹的代码
-
Java利用exe4j工具生成exe文件实例演示,IntelliJ IDEA将项目转化为jar包方法,运行生成后的程序弹出exe4j提示处理
-
Mybatis细节处理之mapper.xml的存放,properties配置文件,类型别名以及创建log4j配置文件
-
python用minidom创建xml文件时fileencoding设置与预期不符的问题处理(预期是utf8,结果设置为gbk了)
-
premiere源文件改名后素材脱机怎么解决? pr脱机文件的处理办法
-
Linux删除文件后,磁盘空间没有释放的处理记录怎么解决?
-
Linux查找处理文件名后包含空格的文件(两种方法)
-
删除文件后,磁盘空间没有释放的处理记录
-
批处理创建完全,只读共享文件夹的批处理代码