重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)
来源:互联网 发布:天猫双11 数据 秋裤 编辑:程序博客网 时间:2024/06/06 01:32
http://blog.oracle.com.cn/index.php/2446/viewspace-5932.html
本案例分两种情况:归档模式和非归档模式。在每种模式下采用两种重建方式,即resetlogs和noresetlogs。
一、archived模式下:
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 C:/oracle/oradata/arch/ora9i
最早的概要日志序列 1
下一个存档日志序列 2
当前日志序列 2
SQL>
1、noresetlogs方式
注意:all online logs are available
将所有的控制文件删除掉后执行重建控制文件脚本,日志如下:
SQL> STARTUP NOMOUNT
ORACLE 例程已经启动。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORA9I" NORESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'C:/ORACLE/ORADATA/ORA9I/REDO01.LOG' SIZE 10M,
10 GROUP 2 'C:/ORACLE/ORADATA/ORA9I/REDO02.LOG' SIZE 10M,
11 GROUP 3 'C:/ORACLE/ORADATA/ORA9I/REDO03.LOG' SIZE 10M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'C:/ORACLE/ORADATA/ORA9I/SYSTEM01.DBF',
15 'C:/ORACLE/ORADATA/ORA9I/UNDOTBS01.DBF',
16 'C:/ORACLE/ORADATA/ORA9I/RMAN.DBF',
17 'C:/ORACLE/ORADATA/ORA9I/DRSYS01.DBF',
18 'C:/ORACLE/ORADATA/ORA9I/EXAMPLE01.DBF',
19 'C:/ORACLE/ORADATA/ORA9I/TEST1.DBF',
20 'C:/ORACLE/ORADATA/ORA9I/ODM01.DBF',
21 'C:/ORACLE/ORADATA/ORA9I/TEST2.DBF',
22 'C:/ORACLE/ORADATA/ORA9I/XDB01.DBF',
23 'C:/ORACLE/ORADATA/ORA9I/PORTAL.DBF'
24 CHARACTER SET ZHS16GBK;
控制文件已创建
SQL>
SQL> ALTER SYSTEM ARCHIVE LOG ALL;
系统已更改。
SQL>
SQL> ALTER DATABASE OPEN;
数据库已更改。
SQL>
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'C:/ORACLE/ORADATA/ORA9I/TEMP01.DBF'
2 SIZE 20971520 REUSE AUTOEXTEND OFF;
表空间已更改。
SQL>
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
数据库装载完毕。
数据库已经打开。
SQL>
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
C:/ORACLE/ORADATA/ORA9I/CONTROL01.CTL
C:/ORACLE/ORADATA/ORA9I/CONTROL02.CTL
C:/ORACLE/ORADATA/ORA9I/CONTROL03.CTL
SQL>
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
C:/ORACLE/ORADATA/ORA9I/REDO01.LOG
C:/ORACLE/ORADATA/ORA9I/REDO03.LOG
C:/ORACLE/ORADATA/ORA9I/REDO02.LOG
SQL>
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 C:/oracle/oradata/arch/ora9i
最早的概要日志序列 1
下一个存档日志序列 3
当前日志序列 3
SQL>
可看到,日志group的sequence并没有从1开始计数。
1、resetlogs方式
注意:online logs are damaged.
将所有的控制文件和日志文件都删除掉后执行重建控制文件脚本,日志如下:
SQL> STARTUP NOMOUNT
ORACLE 例程已经启动。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORA9I" RESETLOGS ARCHIVELOG
2 -- SET STANDBY TO MAXIMIZE PERFORMANCE
3 MAXLOGFILES 50
4 MAXLOGMEMBERS 5
5 MAXDATAFILES 100
6 MAXINSTANCES 1
7 MAXLOGHISTORY 226
8 LOGFILE
9 GROUP 1 'C:/ORACLE/ORADATA/ORA9I/REDO01.LOG' SIZE 10M,
10 GROUP 2 'C:/ORACLE/ORADATA/ORA9I/REDO02.LOG' SIZE 10M,
11 GROUP 3 'C:/ORACLE/ORADATA/ORA9I/REDO03.LOG' SIZE 10M
12 -- STANDBY LOGFILE
13 DATAFILE
14 'C:/ORACLE/ORADATA/ORA9I/SYSTEM01.DBF',
15 'C:/ORACLE/ORADATA/ORA9I/UNDOTBS01.DBF',
16 'C:/ORACLE/ORADATA/ORA9I/RMAN.DBF',
17 'C:/ORACLE/ORADATA/ORA9I/DRSYS01.DBF',
18 'C:/ORACLE/ORADATA/ORA9I/EXAMPLE01.DBF',
19 'C:/ORACLE/ORADATA/ORA9I/TEST1.DBF',
20 'C:/ORACLE/ORADATA/ORA9I/ODM01.DBF',
21 'C:/ORACLE/ORADATA/ORA9I/TEST2.DBF',
22 'C:/ORACLE/ORADATA/ORA9I/XDB01.DBF',
23 'C:/ORACLE/ORADATA/ORA9I/PORTAL.DBF'
24 CHARACTER SET ZHS16GBK;
控制文件已创建
SQL>
SQL> prompt RECOVER DATABASE USING BACKUP CONTROLFILE
RECOVER DATABASE USING BACKUP CONTROLFILE
SQL>
SQL> ALTER DATABASE OPEN RESETLOGS;
数据库已更改。
SQL>
SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'C:/ORACLE/ORADATA/ORA9I/TEMP01.DBF'
2 SIZE 20971520 REUSE AUTOEXTEND OFF;
表空间已更改。
SQL>
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL>
SQL> startup;
ORACLE 例程已经启动。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
数据库装载完毕。
数据库已经打开。
SQL>
SQL>
SQL> select name from v$controlfile;
NAME
--------------------------------------------------------------------------------
C:/ORACLE/ORADATA/ORA9I/CONTROL01.CTL
C:/ORACLE/ORADATA/ORA9I/CONTROL02.CTL
C:/ORACLE/ORADATA/ORA9I/CONTROL03.CTL
SQL>
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
C:/ORACLE/ORADATA/ORA9I/REDO03.LOG
C:/ORACLE/ORADATA/ORA9I/REDO02.LOG
C:/ORACLE/ORADATA/ORA9I/REDO01.LOG
SQL>
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 C:/oracle/oradata/arch/ora9i
最早的概要日志序列 0
下一个存档日志序列 1
当前日志序列 1
SQL>
可看到,日志group的sequence又开始从1开始计数。
二、非归档模式下:
先将数据库由归档模式改为非归档模式,具体操作如下:
SQL> archive log list
数据库日志模式 存档模式
自动存档 启用
存档终点 C:/oracle/oradata/arch/ora9i
最早的概要日志序列 2
下一个存档日志序列 4
当前日志序列 4
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount;
ORACLE 例程已经启动。
Total System Global Area 135864308 bytes
Fixed Size 454644 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 1191936 bytes
SQL> alter database noarchivelog;
alter database noarchivelog
*
ERROR 位于第 1 行:
ORA-01507: ??????
SQL> alter database mount;
数据库已更改。
SQL> alter database noarchivelog;
数据库已更改。
SQL> alter database open;
数据库已更改。
SQL> archive log list
数据库日志模式 非存档模式
自动存档 启用
存档终点 C:/oracle/oradata/arch/ora9i
最早的概要日志序列 2
当前日志序列 4
SQL>
1、noresetlogs方式
同归档模式下的noresetlogs方式
2、resetlogs方式
同非归档模式下的resetlogs方式
从这里再一次可看出重建控制文件跟数据库是否归档没有直接的关系。
- 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)
- 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)
- 重建控制文件时resetlogs与noresetlogs的使用情况
- 创建控制文件resetlogs和noresetlogs的区别
- 关于重建控制文件的两种方式以及区别(resetlogs ,noresetlogs)
- oracle重建控制文件的resetlogs选项
- resetlogs noresetlogs
- RESETLOGS,NORESETLOGS
- Oracle RESETLOGS 和 NORESETLOGS 区别说明
- Oracle RESETLOGS 和 NORESETLOGS 区别说明
- Oracle RESETLOGS 和 NORESETLOGS 区别说明
- Oracle RESETLOGS 和 NORESETLOGS 区别说明
- 丢失所有控制文件,noresetlogs重建控制文件,alter database open
- resetlogs & noresetlogs 探究
- ARCHIVELOG模式下用户管理恢复控制文件(2)——使用trace文件重建控制文件!
- 重建控制文件时提示ORA-01189: file is from a different RESETLOGS than previous files
- ARCHIVELOG模式下用户管理恢复控制文件—使用trace文件重建控制文件
- ORACLE控制文件备份恢复 noresetlogs 恢复
- C中运用正则表达式
- 四.项目可行性研究分析/项目论证及评估
- 博客开张了
- Javascript正则表达式教程
- VC++ DLL的创建与动态调用模板
- 重建控制文件的案例(RESETLOGS模式和NORESETLOGS模式)
- linux的历史演绎
- 在dll中delphi中封装窗体(实例)
- js正则表达式使用
- JS正则表达式大全
- 如何让老板舍不得你走?
- 2nd 到3rd的移植
- 做网站的一些定律
- 七招制胜ASP.NET应用程序开发