ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 双重加密模式下的备份恢复

双重加密模式下的备份恢复

原创 Linux操作系统 作者:兰在晨 时间:2013-02-01 14:24:46 0 删除 编辑

第一部分 .       概述

一、        实验环境

Os information:

[oracle@lzc 2012_09_30]$ lsb_release -a

LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch

Distributor ID: RedHatEnterpriseServer

Description:    Red Hat Enterprise Linux Server release 5.4 (Tikanga)

 

Database information:

 BANNER

----------------------------------------------------------------

Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod

PL/SQL Release 10.2.0.1.0 - Production

二、        实验目标

使用在双重加密模式下的全库备份,在远端主机上进行上恢复。使数据库正常启动,并且运行。

三、        实验设计

1、  手动创建参数文件

2、  恢复参数文件、控制文件

3、  恢复数据库

4、  打开数据库

第二部分 .       技术概述

一、        实验步骤

1.       手动创建参数文件

要想恢复数据库,首先需要启动数据库,而没有参数文件就无法启动数据库。所以,我们要先手动创建一个临时参数文件。这样我们就可以把数据库启动到nomount状态了。手动创建参数文件最少只需要一个db_name参数。

a)        将数据库启动到mount状态

[oracle@lzc01 ~]$ cat inittestdb.ora

db_name=testdb

SQL> startup pfile='/home/oracle/inittestdb.ora' nomount;

ORACLE instance started.

Total System Global Area  113246208 bytes

Fixed Size                  1218004 bytes

Variable Size              58722860 bytes

Database Buffers           50331648 bytes

Redo Buffers                2973696 bytes

b)        打开钱包

由于我们的备份时在双重模式下的加密所以我们要想恢复参数文件,就要先打开wallet。

把从源数据库中备份的wallet拷贝到相应的目录下,并将路径添加到sqlnet.ora文件中。

ENCRYPTION_WALLET_LOCATION =

 (SOURCE=(METHOD=FILE)(METHOD_DATA=

 (DIRECTORY=/u01/app/oracle/product/10.2.0.1/db_1/network/admin/wallets/)))

 

SQL> alter system set encryption wallet open identified by "oracle.com";

System altered.

2.       恢复参数文件

现在已经将数据库打开到了nomount状态,并且wallet也已经打开那么我们就可以从双重加密的全库备份片中恢复参数文件和控制文件了。

a)        恢复参数文件

RMAN> restore spfile to '/home/oracle/inittestdb.ora' from '/home/oracle/exercise/o1_mf_s_795383881_86jdyb61_.bkp';

Starting restore at 01-OCT-12

using channel ORA_DISK_1

channel ORA_DISK_1: autobackup found: /home/oracle/exercise/o1_mf_s_795383881_86jdyb61_.bkp

channel ORA_DISK_1: SPFILE restore from autobackup complete

Finished restore at 01-OCT-12

3.       重建数据库环境

现在有了参数文件、控制文件那么我们是不是就可以恢复数据库了呢,确切的说还有一个需要考虑的问题就是:数据库中各个文件对应的存储目录。

这里有两种选择:

1)相同路径:按照参数文件和控制文件中的记录,创建相应的目录。

2)不同路径:也可以创建不同的目录。把恢复的文件存储到对应的目录中,然后修改参数文件和控制文件中相应的参数。这里我就按照参数文件中记录的将对应目录手动创建起来。

a)        创建目录

[oracle@lzc01 ~]$ mkdir -p /u01/app/oracle/admin/testdb/adump

[oracle@lzc01 ~]$ mkdir -p /u01/app/oracle/admin/testdb/bdump

[oracle@lzc01 ~]$ mkdir -p /u01/app/oracle/admin/testdb/udump

[oracle@lzc01 ~]$ mkdir -p /u01/app/oracle/admin/testdb/cdump

[oracle@lzc01 ~]$ mkdir -p /u01/app/oracle/oradata/testdb/

[oracle@lzc01 ~]$ mkdir -p /u01/app/oracle/flash_recovery_area

b)        将恢复的参数文件拷贝到对应的目录下

[oracle@lzc01 ~]$ cp spfiletestdb.ora /u01/app/oracle/product/10.2.0.1/db_1/dbs/

c)         启动数据库到nomount状态

RMAN> shutdown immediate;

 

database dismounted

Oracle instance shut down

RMAN> startup nomount

connected to target database (not started)

Oracle instance started

 

Total System Global Area     285212672 bytes

 

Fixed Size                     1218992 bytes

Variable Size                100664912 bytes

Database Buffers             180355072 bytes

Redo Buffers                   2973696 bytes

 

d)        恢复控制文件

RMAN> restore controlfile from '/home/oracle/exercise/o1_mf_s_795383881_86jdyb61_.bkp';

 

Starting restore at 01-OCT-12

using channel ORA_DISK_1

 

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:04

output filename=/u01/app/oracle/oradata/testdb/control01.ctl

output filename=/u01/app/oracle/oradata/testdb/control02.ctl

output filename=/u01/app/oracle/oradata/testdb/control03.ctl

Finished restore at 01-OCT-12

4.       恢复数据库

有了控制文件我们就可以将数据库启动到mount状态并进行恢复了。把备份拷贝到相应的flash_recover_dest     参数的目录下。

a)        打开钱包

SQL> alter system set encryption wallet open identified by "oracle.com";

System altered.

b)        恢复数据库

RMAN> restore database;

 

Starting restore at 01-OCT-12

Starting implicit crosscheck backup at 01-OCT-12

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=156 devtype=DISK

Crosschecked 3 objects

Finished implicit crosscheck backup at 01-OCT-12

 

Starting implicit crosscheck copy at 01-OCT-12

using channel ORA_DISK_1

Finished implicit crosscheck copy at 01-OCT-12

 

searching for all files in the recovery area

cataloging files...

no files cataloged

 

using channel ORA_DISK_1

 

channel ORA_DISK_1: starting datafile backupset restore

channel ORA_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to /u01/app/oracle/oradata/testdb/system01.dbf

restoring datafile 00002 to /u01/app/oracle/oradata/testdb/undotbs01.dbf

restoring datafile 00003 to /u01/app/oracle/oradata/testdb/sysaux01.dbf

restoring datafile 00004 to /u01/app/oracle/oradata/testdb/users01.dbf

restoring datafile 00005 to /u01/app/oracle/oradata/testdb/redef01.dbf

channel ORA_DISK_1: reading from backup piece /u01/app/oracle/flash_recovery_area/TESTDB/backupset/2012_09_30/o1_mf_nnndf_TAG20120930T195638_86jdvrb1_.bkp

channel ORA_DISK_1: restored backup piece 1

piece handle=/u01/app/oracle/flash_recovery_area/TESTDB/backupset/2012_09_30/o1_mf_nnndf_TAG20120930T195638_86jdvrb1_.bkp tag=TAG20120930T195638

channel ORA_DISK_1: restore complete, elapsed time: 00:01:09

Finished restore at 01-OCT-12

c)         打开数据库

RMAN> alter database open RESETLOGS;

database opened

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/26723566/viewspace-753747/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: /etc/fstab功能详解
请登录后发表评论 登录
全部评论

注册时间:2012-06-04

  • 博文量
    58
  • 访问量
    222330