这篇文章将为大家详细讲解有关如何创建生成控制文件脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
创建生成控制文件脚本
【将当前controlfile文件的创建语句放到了trace文件中】备份控制文件
alter database backup controlfile to trace as 'E:/bak_controlfile.txt';
如果已经无法备份控制文件,可在其他库创建一个控制文件,只需修改路径及实例名即可,格式都是一样的。
根据生成的bak_controlfile.txt文件将重建控制文件的脚本create_cfile.sql写好放到E盘下
SQL> shutdown immediate
SQL> startup nomount
SQL>@e:/create_file.sql
如果使用的语句是NORESETLOGS NOARCHIVELOG
SQL>ALTER DATABASE OPEN; –启库
–重建临时表空间
SQL>ALTER TABLESPACE TEMP ADD TEMPFILE 'E:/APP/ADMINISTRATOR/ORADATA/ORCL/TEMP01.DBF'
SIZE 314572800 REUSE AUTOEXTEND ON NEXT 52428800 MAXSIZE 32767M;
如果使用的语句是RESETLOGS NOARCHIVELOG
SQL>ALTER DATABASE OPEN RESETLOGS;
–重建临时表空间
SQL>ALTER TABLESPACE TEMP ADD TEMPFILE 'E:/APP/ADMINISTRATOR/ORADATA/ORCL/TEMP01.DBF'
SIZE 314572800 REUSE AUTOEXTEND ON NEXT 52428800 MAXSIZE 32767M;
完成后查看日志文件,临时表空间文件,数据文件
select * from v$logfile;
select * from v$tempfile;
select * from v$datafile;
重建控制文件的脚本 例子:
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'E:/APP/ADMINISTRATOR/ORADATA/ORCL/REDO01.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 2 'E:/APP/ADMINISTRATOR/ORADATA/ORCL/REDO02.LOG' SIZE 50M BLOCKSIZE 512,
GROUP 3 'E:/APP/ADMINISTRATOR/ORADATA/ORCL/REDO03.LOG' SIZE 50M BLOCKSIZE 512
DATAFILE
'E:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSTEM01.DBF',
'E:/APP/ADMINISTRATOR/ORADATA/ORCL/SYSAUX01.DBF',
'E:/APP/ADMINISTRATOR/ORADATA/ORCL/UNDOTBS01.DBF',
'E:/APP/ADMINISTRATOR/ORADATA/ORCL/USERS01.DBF',
'E:/APP/ADMINISTRATOR/ORADATA/ORCL/EMR01.DBF',
'E:/APP/ADMINISTRATOR/ORADATA/ORCL/EMPI01.DBF'
CHARACTER SET ZHS16GBK
;
注意:
E:/bak_controlfile.txt里创建语句中有一句– STANDBY LOGFILE 这句虽然注释掉了,但是也要删除,否则执行的时候会报错。
关于“如何创建生成控制文件脚本”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
原创文章,作者:306829225,如若转载,请注明出处:https://blog.ytso.com/205114.html