服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > 数据库技术 > Oracle技术 > Oracle开发 > 查看文档

轻松掌握无文件备份、拥有所有归档的恢复 (1)

归档模式的实例介绍:

注释:此实例拥有当前控制文件,控制文件中包含了丢失文件信息,你可以通过create datafile方式重新创建文件,通过控制文件中记录的文件信息、scn、检查点等信息,应用归档日志进行恢复,可以实现完全恢复。

◆首先,我们来启用归档模式,备份

e:\sqlplus "sys/oracle as sysdba"

sql> startup mount;
oracle 例程已经启动。

total system global area   47259136 bytes
fixed size                   454144 bytes
variable size              29360128 bytes
database buffers           16777216 bytes
redo buffers                 667648 bytes
数据库装载完毕。
sql> alter database archivelog;

数据库已更改。

sql> shutdown immediate;
ora-01109: 数据库未打开


已经卸载数据库。
oracle 例程已经关闭。
sql> host

microsoft windows xp [版本 5.1.2600]
(c) 版权所有 1985-2001 microsoft corp.

e:\oracle\oradata\eygle>dir
 驱动器 e 中的卷是 private
 卷的序列号是 acc3-4340

 e:\oracle\oradata\eygle 的目录

...
2004-10-13  22:15         1,613,824 control01.ctl
2004-10-13  22:15         1,613,824 control02.ctl
2004-10-13  22:15         1,613,824 control03.ctl
2004-10-13  22:14        10,493,952 eygle01.dbf
2004-10-13  22:14        10,486,272 redo01.log
2004-10-13  22:14        10,486,272 redo02.log
2004-10-13  22:14        10,486,272 redo03.log
2004-10-13  22:10               811 sqlnet.log
2004-10-13  22:14       262,152,192 system01.dbf
2004-07-03  16:50        41,951,232 temp01.dbf
2004-10-13  22:14       209,723,392 undotbs01.dbf
              11 个文件    560,621,867 字节
               2 个目录  1,286,344,704 可用字节

e:\oracle\oradata\eygle>mkdir bak

e:\oracle\oradata\eygle>cp *.* bak

e:\oracle\oradata\eygle>exit

◆下一步创建文件、建表

sql> startup;
oracle 例程已经启动。

total system global area   47259136 bytes
fixed size                   454144 bytes
variable size              29360128 bytes
database buffers           16777216 bytes
redo buffers                 667648 bytes
数据库装载完毕。
数据库已经打开。
sql> archive log start;
已处理的语句
sql> archive log list;
数据库日志模式            存档模式
自动存档             启用
存档终点            e:\oracle\ora92\rdbms
最早的概要日志序列     30
下一个存档日志序列   32
当前日志序列           32
sql> select name from v$datafile;

name
--------------------------------------------------------------------------------
e:\oracle\oradata\eygle\system01.dbf
e:\oracle\oradata\eygle\undotbs01.dbf
e:\oracle\oradata\eygle\eygle01.dbf

sql> create tablespace test datafile 'e:\oracle\oradata\eygle\test01.dbf'
  2  size 5m;

表空间已创建。


sql> alter system switch logfile;

系统已更改。

sql> create table t tablespace test as select * from dba_users;

表已创建。

sql> alter system switch logfile;

系统已更改。

sql> shutdown abort;
oracle 例程已经关闭。
sql> exit
从oracle9i enterprise edition release 9.2.0.5.0 - production
with the partitioning, olap and oracle data mining options
jserver release 9.2.0.5.0 - production中断开

e:\oracle\oradata\eygle>mv test01.dbf bak

◆恢复

e:\oracle\oradata\eygle>sqlplus "sys/oracle as sysdba"

sql*plus: release 9.2.0.5.0 - production on 星期三 10月 13 22:41:48 2004

copyright (c) 1982, 2002, oracle corporation.  all rights reserved.

已连接到空闲例程。

sql> startup
oracle 例程已经启动。

total system global area   47259136 bytes
fixed size                   454144 bytes
variable size              29360128 bytes
database buffers           16777216 bytes
redo buffers                 667648 bytes
数据库装载完毕。
ora-01157: 无法标识/锁定数据文件 4 - 请参阅 dbwr 跟踪文件
ora-01110: 数据文件 4: 'e:\oracle\oradata\eygle\test01.dbf'


sql> select name from v$datafile;

name
--------------------------------------------------------------------------------
e:\oracle\oradata\eygle\system01.dbf
e:\oracle\oradata\eygle\undotbs01.dbf
e:\oracle\oradata\eygle\eygle01.dbf
e:\oracle\oradata\eygle\test01.dbf

sql> alter database create datafile 'e:\oracle\oradata\eygle\test01.dbf';

数据库已更改。

sql> recover datafile 'e:\oracle\oradata\eygle\test01.dbf';
完成介质恢复。
sql> alter database open;

数据库已更改。

sql> host
microsoft windows xp [版本 5.1.2600]
(c) 版权所有 1985-2001 microsoft corp.

e:\oracle\oradata\eygle>ls -l
total 1105221
-rwxrwxrwa   1 administrators  system          1613824 oct 13 23:42 control01.ctl
-rwxrwxrwa   1 administrators  system          1613824 oct 13 23:42 control02.ctl
-rwxrwxrwa   1 administrators  system          1613824 oct 13 23:42 control03.ctl
-rwxrwxrwa   1 administrators  system          10493952 oct 13 23:44 eygle01.dbf
-rwxrwxrwa   1 administrators  system          10486272 oct 13 23:44 redo01.log
-rwxrwxrwa   1 administrators  system          10486272 oct 13 23:44 redo02.log
-rwxrwxrwa   1 administrators  system          10486272 oct 13 23:44 redo03.log
-rwxrwxrwa   1 administrators  system          262152192 oct 13 23:44 system01.dbf
-rwxrwxrwa   1 administrators  system          41951232 jul  3 17:50 temp01.dbf
-rwxrwxrwa   1 administrators  system          5251072 oct 13 23:44 test01.dbf
-rwxrwxrwa   1 administrators  system          209723392 oct 13 23:44 undotbs01.dbf
drwxrwxrwx   1 gqgai           none                  0 oct 13 23:41 bak
-rwxrwxrwa   1 gqgai           none                811 oct 13 23:10 sqlnet.log

e:\oracle\oradata\eygle>ls -l test01.dbf
-rwxrwxrwa   1 administrators  system          5251072 oct 13 23:44 test01.dbf

e:\oracle\oradata\eygle>

扫描关注微信公众号