Chinaunix首页 | 论坛 | 博客
  • 博客访问: 809198
  • 博文数量: 198
  • 博客积分: 4036
  • 博客等级: 上校
  • 技术积分: 2173
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-19 22:31
文章分类

全部博文(198)

文章存档

2010年(4)

2008年(8)

2007年(143)

2006年(42)

2005年(1)

我的朋友

分类: Oracle

2007-05-08 15:23:37

环境:
solaris10 + oracle10G
 
测试内容:
新建一张表xyz,并插入两条数据。然后用rman做一个全备。备份完成后将数据库删除,重新安装。安装完成后进行完全恢复,并能查看到xyz中的数据。
 
测试过程:
1、sqlplus / as sysdba;
2、建立一张新表xyz:
   SQL> create table xyz(a number);
        Table created.
3、在表xyz中插入一点数据:
  SQL> insert into xyz values(66);
     1 row created.
  SQL> select * from xyz;
           A
     ----------
          66
  SQL> insert into xyz values(99);
  1 row created.
  SQL> select * from xyz;
           A
  ----------
          66
          99
4、提交:
  SQL> commit;    
 
RMAN连接:
5、进行数据库的全备:
  RMAN> run {
  2> backup database format='/export/home/oracle/backup/db_full_%U';
  3> }
  //oracle10g下磁盘似乎不需要分配channel,完成后也会自动release;
6、进入sqlplus删除数据,做备份测试
  SQL> select * from xyz;
          A
    ----------
         66
         99
 
   删除数据:
   SQL> delete from xyz;
        2 rows deleted.
 
  提交:
  SQL> commit;
  
  查看:
  SQL> select * from xyz;
     no rows selected
7、删除数据库,重新安装oracle.(在删除数据库时需要记录下以前的DBID)。安装时设置同样的实例名。
8、安装完成后,rman 启动连接到nomount状态。此时list backup不会有任何备份的记录。
9、首先恢复控制文件:
   RMAN> restore controlfile from '/export/home/oracle/backup/db_1nif02mf_1_1';
   此处备份文件为开始备份存放的路径及生成的备份文件名。
   控制文件恢复后,list backup已经可以看到备份内容列表。
10、alter database mount;
    会提示口令文件无效,此时需要进入$ORACLE_HOME/dbs/路径下,使用orapwd重建口令文件:
示例:
   orapwd file=orapwora10g password=zenith
   若口令文件已经存在,需要删除后再建。
11、再次以mount方式正常打开后,set dbid=***   (以前数据库的DBID)
12、restore database ;
13、 recover database;
14、SQL> alter database open resetlogs;
完成后sql登录查看,xyz中数据已经恢复。
阅读(2437) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~