ARCHIVELOG模式下用户管理恢复控制文件—使用二进制控制文件恢复
来源:互联网 发布:苹果手机无法更新淘宝 编辑:程序博客网 时间:2024/05/07 13:24
在生产数据库中,控制文件一般多路复用的。每个控制文件的内容是一模一样的,只要其中有一个没有丢失,那么就可以复制一下,改一下名字就可以用了。
首先在数据库中备份执行一个二进制的控制文件,也可以使用操作系统的命令直接复制控制文件来备份。
- SQL> startup
- ORACLE 例程已经启动。
- Total System Global Area 167772160 bytes
- Fixed Size 1266392 bytes
- Variable Size 62917928 bytes
- Database Buffers 100663296 bytes
- Redo Buffers 2924544 bytes
- 数据库装载完毕。
- 数据库已经打开。
- SQL> create tablespace tb1 datafile '/u01/app/oracle/oradata/orcl/tb1.dbf' size 10m;
- 表空间已创建。
- SQL> create user u1 identified by u1 default tablespace tb1;
- 用户已创建。
- SQL> grant connect,resource to u1;
- 授权成功。
- SQL> conn u1/u1
- 已连接。
- SQL> create table t (id int,value varchar2(10));
- 表已创建。
- SQL> insert into t values(1,'a');
- 已创建 1 行。
- SQL> commit;
- 提交完成。
- SQL> select * from t;
- ID VALUE
- ---------- ----------
- 1 a
- SQL> conn /as sysdba
- 已连接。
- SQL> alter system checkpoint;
- 系统已更改。
- SQL> alter system archive log current;
- 系统已更改。
- SQL> alter system switch logfile;
- 系统已更改。
- SQL> /
- 系统已更改。
- SQL> /
- 系统已更改。
- SQL> /
- 系统已更改。
- SQL> alter database backup controlfile to '/u01/app/oracle/controlfile/control.ctl';
- 数据库已更改。
- SQL> shutdown immediate
- 数据库已经关闭。
- 已经卸载数据库。
- ORACLE 例程已经关闭。
现在关闭数据库后,所有的控制文件丢失了,然后把备份的控制文件复制过去,该一下名字。
- [oracle@linux orcl]$ rm -rf control0*
- [oracle@linux orcl]$ cp /u01/app/oracle/controlfile/control.ctl .
- [oracle@linux orcl]$ mv control.ctl control01.ctl
- [oracle@linux orcl]$ cp control01.ctl control02.ctl
- [oracle@linux orcl]$ cp control01.ctl control03.ctl
下面记录恢复操作
- SQL> startup
- ORACLE 例程已经启动。
- Total System Global Area 167772160 bytes
- Fixed Size 1266392 bytes
- Variable Size 62917928 bytes
- Database Buffers 100663296 bytes
- Redo Buffers 2924544 bytes
- 数据库装载完毕。
- ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
- SQL> select status from v$instance;
- STATUS
- ------------
- MOUNTED
- SQL> select * from v$log;
- GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
- ---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- --------------
- 1 1 13 52428800 1 YES INACTIVE 474583 10-10月-11
- 3 1 12 52428800 1 YES INACTIVE 474581 10-10月-11
- 2 1 14 52428800 1 NO CURRENT 474585 10-10月-11
- SQL> select member from v$logfile;
- MEMBER
- --------------------------------------------------------------------------------
- /u01/app/oracle/oradata/orcl/redo03.log
- /u01/app/oracle/oradata/orcl/redo02.log
- /u01/app/oracle/oradata/orcl/redo01.log
- SQL> recover database using backup controlfile;
- ORA-00279: 更改 474585 (在 10/10/2011 01:15:57 生成) 对于线程 1 是必需的
- ORA-00289: 建议: /u01/app/oracle/flash_recovery_area/ORCL/archivelog/2011_10_10/o1_mf_1_14_%u_.arc
- ORA-00280: 更改 474585 (用于线程 1) 在序列 #14 中
- 指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
- /u01/app/oracle/oradata/orcl/redo02.log
- 已应用的日志。
- 完成介质恢复。
- SQL> alter database open resetlogs;
- 数据库已更改。
- SQL> select status from v$instance;
- STATUS
- ------------
- OPEN
- SQL> conn u1/u1
- 已连接。
- SQL> select * from t;
- ID VALUE
- ---------- ----------
- 1 a
0 0
- ARCHIVELOG模式下用户管理恢复控制文件—使用二进制控制文件恢复
- ARCHIVELOG模式下用户管理恢复控制文件(1)——使用二进制控制文件恢复!
- ARCHIVELOG模式下用户管理恢复控制文件—使用trace文件重建控制文件
- ARCHIVELOG模式下用户管理恢复控制文件(2)——使用trace文件重建控制文件!
- ARCHIVELOG模式下用户管理的不完全恢复—基于备份控制文件的不完全恢复
- ARCHIVELOG模式下用户管理的不完全恢复(4)——基于备份控制文件的不完全恢复!
- ARCHIVELOG模式下用户管理恢复临时文件!
- ARCHIVELOG模式下用户管理的完全恢复—总结
- ARCHIVELOG模式下用户管理恢复联机重做日志文件—非活动组所有成员全部损坏
- ARCHIVELOG模式下用户管理恢复联机重做日志文件—当前活动组所有成员全部损坏
- 控制文件的恢复(二进制)
- ARCHIVELOG模式下用户管理的完全恢复(1)——恢复关闭的数据库!
- ARCHIVELOG模式下用户管理的完全恢复—恢复关闭的数据库
- ARCHIVELOG模式下用户管理的不完全恢复—基于时间点的不完全恢复
- ARCHIVELOG模式下用户管理的不完全恢复—基于SCN的不完全恢复
- ARCHIVELOG模式下用户管理的不完全恢复—基于取消的不完全恢复
- ARCHIVELOG模式下用户管理恢复联机重做日志文件(1)——非活动组所有成员全部损坏!
- ARCHIVELOG模式下用户管理恢复联机重做日志文件(2)——当前活动组所有成员全部损坏!
- 常见Web技术之间的关系,你了解多少?
- python简单文件操作
- return C++构造函数的返回值
- Java Annotation 高级应用<3>
- 正则表达式基础
- ARCHIVELOG模式下用户管理恢复控制文件—使用二进制控制文件恢复
- Hduoj 1711【KMP】
- C#常用的正则表达式
- AndroidDataFramework(数据库开源框架使用)
- 稀疏编码及其改进(ScSPM,LLC,super-vector coding)
- U-boot-1.1.6第一阶段源码分析
- C语言优先级在嵌入式编程中的重要性
- C++实现链式栈,运用模板,界面友好,操作方便,运行流畅
- LeetCode 144 String to Integer (atoi)