千家信息网

如何创建生成控制文件脚本

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章将为大家详细讲解有关如何创建生成控制文件脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。创建生成控制文件脚本【将当前controlfile文件的创建语句放
千家信息网最后更新 2025年01月31日如何创建生成控制文件脚本

这篇文章将为大家详细讲解有关如何创建生成控制文件脚本,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创建生成控制文件脚本
【将当前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 这句虽然注释掉了,但是也要删除,否则执行的时候会报错。

关于"如何创建生成控制文件脚本"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0