创建生成控制文件脚本
【将当前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
【将当前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 这句虽然注释掉了,但是也要删除,否则执行的时候会报错。
凭借此方法半小时给公司赚到4000大洋费用。
如果使用的语句是 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 这句虽然注释掉了,但是也要删除,否则执行的时候会报错。
凭借此方法半小时给公司赚到4000大洋费用。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29578568/viewspace-2152775/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29578568/viewspace-2152775/