Oracle 9i 冷备份及恢复步骤(亲自试验,超详细!!)

感觉网上的人写的 遮遮掩掩的 很多细节都不写清楚 对于新手来说 看了等于没看,所有为此 经过本人学习测试

成功后做了详细步骤 试验记录

 

 

环境:win7

首先将数据库的日志归档模式 设为 开启

然后 我先来弄冷备份 

 

 

--先开启日志归档模式

 

--改变日志操作模式的方法

--查询日志 操作模式

select * from log_mode from v$database;

 

--关闭数据库   

shutdown immediate

 

--开启mount状态

startup mount;

 

--

alter database archivelog;

alter database open

 

这个还不够 要检查  自动归档

archive log list;

--启用自动归档

alter system set log_archive_start=true scope=spfile;

然后重新启动数据库  因为log_archive_start为静态参数,所以修改了该初始化参数后,必须重启数据库

shutdown immediate 

startup open

然后弄冷备份

 

--冷备份 :关闭数据库(包括服务)后的备份 备份所有数据文件和控制文件 冷备份不仅适用于归档日志模式 也适用于非归档日志模式

(1)

--列出数据文件:

select name from v$datafile;

--C:\ORACLE\ORADATA\ORCL\TEST.ORA

/usr/app/oracle/oradata/orcl/system01.dbf

/usr/app/oracle/oradata/orcl/undotbs01.dbf

/usr/app/oracle/oradata/zjvio/ZJVIO_img1.ora

...

--列出控制文件

select name from v$controlfile;

 

/usr/app/oracle/oradata/orcl/control01.ctl

/usr/app/oracle/oradata/orcl/control02.ctl

/usr/app/oracle/oradata/orcl/control03.ctl

 

 

 

(2)关闭数据库 

conn sys/oracle as sysdba

shutdown immediate

 

(3)复制所有数据库文件

host copy c:\test\*.dbf e:\bck\

host copy c:\test\*.ctl e:\bck\

host copy c:\test\*.ora e:\bck\      --有些

 

 

也可也根据这些目录手动去copy

 

(4)启动例程

conn sys/oracle as sysdba

startup open

 

 

测试环境 我建了一个账号 xnzqb

表空间是 test_data

表空间对应的数据文件时 test.ora

这个可以通过 --取得表空间和数据文件的对应关系

select file_name from dba_data_files where tablespace_name='TEST_DATA'查询出来

 

我先冷备份test.ora文件

 

然后我在xnzqb数据库里随便删掉一个表

然后我 shutdown immediate

然后拷贝这个文件到orcl目录下 覆盖掉同名文件

然后开启数据库 startup open;

发现那个表还是没有恢复

 

我复原以上操作

这次我冷备份所有orcl目录下的所有.dbf .ora和 重做日志文件

然后我在xnzqb数据库里随便删掉一个表

然后我 shutdown immediate

 

然后拷贝这些备份文件到orcl目录下 覆盖掉同名文件

然后开启数据库 startup open;

发现删掉的那个表回来了

包括里面的数据都在

 

 

select name from v$datafile;

如上图 

   M  

不过以上只是在同一个机子上试的

 

 

但是就是费解为什么 oracle为什么要那么多文件 我如果只是想备份 test用户下的所有数据库 光  备份test所在的表空间对应的数据文件就不行 哎 这样也太麻烦了

 

你可能感兴趣的:(oracle)