论坛首页 Java企业应用论坛

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

浏览 3905 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2012-12-25  

 

环境:win7

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

然后 我先来弄冷备份 

开启日志归档模式的操作步骤-------------------------------->

1

%sqlplus /nolog     (启动sqlplus)

查询日志是否是归档模式 archive log list;
    切换服务器归档模式,如果已经是归档模式可跳过此步:

改归非归档模式为归档模式

 

这边有几个图看不到 我也懒得传 详细的 看我 的附件吧 就是一个word 里面有图

9i

conn / as sysdba     (DBA身份连接数据库)

SQL> archive log list
数据库日志模式             非存档模式
自动存档             禁用
存档终点            F:\oracle\ora92\RDBMS
最早的概要日志序列     114
当前日志序列           116
SQL> alter system set log_archive_dest='F:\oracle\oradata\arch'
scope=spfile;

系统已更改。

SQL> alter system set log_archive_start=true scope=spfile;

系统已更改。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 386997388 bytes
Fixed Size                   453772 bytes
Variable Size             167772160 bytes
Database Buffers          218103808 bytes
Redo Buffers                 667648 bytes
数据库装载完毕。
SQL> alter database archivelog;

数据库已更改。

SQL> alter database open;

数据库已更改。

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            F:\oracle\oradata\arch
最早的概要日志序列     114
下一个存档日志序列   116
当前日志序列           116


SQL> exit     (退出)

---------------------------------------------------------------------好了搞定

然后弄冷备份

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

(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所在的表空间对应的数据文件就不行 哎 这样也太麻烦了

 

   发表时间:2012-12-27  
还在用oracle9i?!!!!!
是因为客观原因受限还是什么?
安全性和性能都更不上啊。你以后总是要迁移的啊。会有兼容性问题。
0 请登录后投票
   发表时间:2012-12-28  
是因为公司以前的项目用的是oracle9i 
houyujiangjun 写道
还在用oracle9i?!!!!!
是因为客观原因受限还是什么?
安全性和性能都更不上啊。你以后总是要迁移的啊。会有兼容性问题。

0 请登录后投票
   发表时间:2013-01-03  
向楼主抱歉:
本来点“收藏”的,结果不小心点了“隐贴”了

iteye这种功能都不要确认一下,晕倒了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics