记一次研究NFS方式存放归档日志经历

来源:互联网 发布:下载文华财经软件 编辑:程序博客网 时间:2024/04/26 03:22

一:Oracle RAC环境中归档日志的存放方式

Oracle RAC环境中归档日志的存放方式有如下几种方式:

1. 本地文件系统

2. 集群文件系统

3. 网络文件系统(NFS)

4. 自动存储管理(ASM)

 

本篇文章主要是讨论NFS方式相关。

必须保证,在操作系统层面,节点间都能互相访问彼此的归档日志

二:目前所在环境NFS配置

本人公司现在生产环境归档日志是这样配置的:

1:归档路径

两个节点的归档路径都是:/u01/app/oracle/archlog.

SQL> archive log list;

Database log mode        Archive Mode

Automatic archival        Enabled

Archive destination        /u01/app/oracle/archlog

 

2exports文件

Rac1:

[oracle@rac1 archivelog2]$ cat /etc/exports

/u01/app/oracle/archlog  rac2(rw,async,no_root_squash)

 

Rac2:

/u01/app/oracle/archlog rac1(rw,async,no_root_squash)

3:挂载

RAC1:

 

 

RAC2:

 

 

即将rac2的归档路径:/u01/app/oracle/archlog挂载到rac1的/u01/app/oracle/archivelog2 ,

将rac1的归档路径:/u01/app/oracle/archlog挂载到rac1的/u01/app/oracle/archivelog1.

 

我个人认为这样不合理。因为它们的归档日志路径都是路径/u01/app/oracle/archlog,挂载到u01/app/oracle/archivelog1或者u01/app/oracle/archivelog2毫无意义,节点间仍旧无法访问彼此的归档日志。

感觉应该将其中一个节点的归档日志路径共享给另一个节点的归档日志路径。

如将rac2的归档路径:/u01/app/oracle/archlog共享给rac1的归档路径/u01/app/oracle/archlog,这样就能访问彼此的归档日志了。

 

三:模拟生产环境配置

为了规避风险,现准备在测试环境上模拟和生产环境同样的归档配置,然后进行相关操作。(现测试环境集群已搭建好,只是归档配置不同)。

1:创建目录

--在俩节点下都创建/u01/app/oracle/archlog

[oracle@rac1 oracle]$ mkdir /u01/app/oracle/archlog

[oracle@rac2 ~]$ mkdir /u01/app/oracle/archlog

--在rac1下创建/u01/app/oracle/archivelog2

[oracle@rac1 oracle]$ mkdir /u01/app/oracle/archivelog2

--在rac2下创建/u01/app/oracle/archivelog1

[oracle@rac2 ~]$  mkdir /u01/app/oracle/archivelog1

2:修改归档路径

--在rac1下执行

SQL> alter system set log_archive_dest_1='location=/u01/app/oracle/archlog';

 

System altered.

3:修改exports文件

在rac1下:

添加/u01/app/oracle/archlog  rac2(rw,async,no_root_squash)

在rac2下:

添加/u01/app/oracle/archlog rac1(rw,async,no_root_squash)

 

4:挂载

--前提是NFS服务已启动。

在rac1下:

mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,timeo=600,actimeo=0 rac2:/u01/app/oracle/archlog /u01/app/oracle/archivelog2

 

在rac2下:

mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,timeo=600,actimeo=0 rac1:/u01/app/oracle/archlog /u01/app/oracle/archivelog1

5:设置开机自动启动NFS

--开机启动NFS

[root@rac1 ~]# chkconfig --level 35 portmap on

[root@rac1 ~]# chkconfig --level 35 nfs on

 

 

-----------------现在下面的所有操作都是在第二天做的(12-23日)-----------------

重新打开数据库,发现节点二上的归档日志路径还是原来的/home/oracle/arch,之前查看的时候,还是更改以后的/u01/app/oracle/arclog呢。

所以,这里也要在节点2上设置归档路径。

SQL> alter system set log_archive_dest_1='location=/u01/app/oracle/archlog';

 

四:数据恢复

在当前同生产环境一样的归档配置下,看能否正常实现数据恢复。

现打算对库做全备,造几条数据,生成几个归档日志,然后模拟数据库出问题,看能否实现完全恢复。因为访问不到另一个节点的归档日志,肯定不能。得拷贝过来归档日志,才行。

 

1:在rac2下做全备

RMAN> backup database format '/home/oracle/backup/rman_bak/%d_%s_%p_%T.bak'; Starting backup at 23-DEC-14using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=122 instance=prod2 devtype=DISKchannel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetinput datafile fno=00001 name=+DATA/prod/datafile/system.256.857444647input datafile fno=00003 name=+DATA/prod/datafile/sysaux.257.857444649input datafile fno=00005 name=+DATA/prod/datafile/example.264.857444773input datafile fno=00002 name=+DATA/prod/datafile/undotbs1.258.857444651input datafile fno=00006 name=+DATA/prod/datafile/undotbs2.265.857444885input datafile fno=00004 name=+DATA/prod/datafile/users.259.862997145channel ORA_DISK_1: starting piece 1 at 23-DEC-14channel ORA_DISK_1: finished piece 1 at 23-DEC-14piece handle=/home/oracle/backup/rman_bak/PROD_57_1_20141223.bak tag=TAG20141223T073857 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:15channel ORA_DISK_1: starting full datafile backupsetchannel ORA_DISK_1: specifying datafile(s) in backupsetincluding current control file in backupsetincluding current SPFILE in backupsetchannel ORA_DISK_1: starting piece 1 at 23-DEC-14channel ORA_DISK_1: finished piece 1 at 23-DEC-14piece handle=/home/oracle/backup/rman_bak/PROD_58_1_20141223.bak tag=TAG20141223T073857 comment=NONEchannel ORA_DISK_1: backup set complete, elapsed time: 00:00:02Finished backup at 23-DEC-14

 

2:准备测试数据

--scott.t表现有以下数据ID NAME---------- -------------------------------------------------- 1 ???? 2 ???? 3 ???? 5 ???? 6 jiao 7 jiao 8 jiao 9 song10 song11 jiao12 jiao ID NAME---------- --------------------------------------------------13 jiao14 jiao15 jiao16 jiaojiao 15 rows selected.--造几条数据 SQL> insert into t(id,name) values(17,'dan'); 1 row created. SQL> c/17/18  1* insert into t(id,name) values(18,'dan')SQL> / 1 row created. SQL> c/18/19  1* insert into t(id,name) values(19,'dan')SQL> / 1 row created. SQL> commit; Commit complete. SQL> select * from t order by id; ID NAME---------- -------------------------------------------------- 1 ???? 2 ???? 3 ???? 5 ???? 6 jiao 7 jiao 8 jiao 9 song10 song11 jiao12 jiao ID NAME---------- --------------------------------------------------13 jiao14 jiao15 jiao16 jiaojiao17 dan18 dan19 dan 18 rows selected. SQL>  ---在rac1下归档日志:SQL> conn / as sysdbaConnected.SQL> alter system switch logfile; System altered. SQL> / System altered. -rw-rw----  1 oracle oinstall  1942528 Dec 23 07:43 1_48_858567385.arc-rw-rw----  1 oracle oinstall  1897472 Dec 23 08:03 1_49_858567385.arc --再造几条数据SQL> insert into t(id,name) values(20,'dandan'); 1 row created. SQL> insert into t(id,name) values(21,'dandan')  2  ; 1 row created. --在rac2下也生成归档日志:SQL> alter system switch logfile; System altered. SQL> / System altered.-rw-rw----  1 oracle oinstall 4028416 Dec 23 08:13 2_45_858567385.arc-rw-rw----  1 oracle oinstall    3584 Dec 23 08:13 2_46_858567385.arc --现在查看一下,这四个归档日志,状态都是AVALIABLE的:/u01/app/oracle/archlog/1_48_858567385.arc   NO  A NAME    APP S-------------------------------------------------- --- -/u01/app/oracle/archlog/1_49_858567385.arc   NO  A/u01/app/oracle/archlog/2_45_858567385.arc   NO  A/u01/app/oracle/archlog/2_46_858567385.arc   NO  A RMAN> crosscheck archivelog all; 再查看:/u01/app/oracle/archlog/1_48_858567385.arc   NO  X NAME    APP S-------------------------------------------------- --- -/u01/app/oracle/archlog/1_49_858567385.arc   NO  X/u01/app/oracle/archlog/2_45_858567385.arc   NO  A/u01/app/oracle/archlog/2_46_858567385.arc   NO  A Rac1的俩归档,变成X了。 RMAN> list expired archivelog all;也能看到那俩日志。这是因为,在rac2下看不到rac1的归档日志,不能访问。 


3:模拟数据库文件被毁坏,看能否实现完全恢复

 

关掉两个数据库实例:

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

 

在rac2下

删掉scott.t所在数据文件:+DATA/prod/datafile/users.259.862997145

[oracle@rac2 archlog]$ export ORACLE_SID=+ASM2

[oracle@rac2 archlog]$ asmcmd

ASMCMD> cd +DATA/prod/datafile/

ASMCMD> rm USERS.259.862997145

 

现在,在rac2下启动实例:

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> startup;

ORACLE instance started.

 

Total System Global Area  285212672 bytes

Fixed Size     1218992 bytes

Variable Size   230688336 bytes

Database Buffers    50331648 bytes

Redo Buffers     2973696 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 4 - see DBWR trace file

ORA-01110: data file 4: '+DATA/prod/datafile/users.259.862997145'

 

 

SQL> select status from v$instance;

 

STATUS

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

MOUNTED

 

--用刚才做的全备和归档日志在rac2上尝试做完全恢复

RMAN> run 2> {3> restore database;4> recover database;5> } Starting restore at 23-DEC-14using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=143 instance=prod2 devtype=DISK channel ORA_DISK_1: starting datafile backupset restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setrestoring datafile 00001 to +DATA/prod/datafile/system.256.857444647restoring datafile 00002 to +DATA/prod/datafile/undotbs1.258.857444651restoring datafile 00003 to +DATA/prod/datafile/sysaux.257.857444649restoring datafile 00004 to +DATA/prod/datafile/users.259.862997145restoring datafile 00005 to +DATA/prod/datafile/example.264.857444773restoring datafile 00006 to +DATA/prod/datafile/undotbs2.265.857444885channel ORA_DISK_1: reading from backup piece /home/oracle/backup/rman_bak/PROD_57_1_20141223.bakchannel ORA_DISK_1: restored backup piece 1piece handle=/home/oracle/backup/rman_bak/PROD_57_1_20141223.bak tag=TAG20141223T073857channel ORA_DISK_1: restore complete, elapsed time: 00:00:46Finished restore at 23-DEC-14 Starting recover at 23-DEC-14using channel ORA_DISK_1 starting media recovery archive log thread 2 sequence 45 is already on disk as file /u01/app/oracle/archlog/2_45_858567385.arcarchive log thread 2 sequence 46 is already on disk as file /u01/app/oracle/archlog/2_46_858567385.arcarchive log thread 2 sequence 47 is already on disk as file /home/oracle/arch/2_47_858567385.arcRMAN-00571: ===========================================================RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============RMAN-00571: ===========================================================RMAN-03002: failure of recover command at 12/23/2014 08:49:44RMAN-06053: unable to perform media recovery because of missing logRMAN-06025: no backup of log thread 1 seq 50 lowscn 1724286 found to restoreRMAN-06025: no backup of log thread 1 seq 49 lowscn 1721151 found to restoreRMAN-06025: no backup of log thread 1 seq 48 lowscn 1713072 found to restore RMAN> 


 

报错,缺少节点一刚生成的那两个归档日志和seq 为50的归档日志(应该是后来新产生的)

4:拷贝缺少的归档日志

需要把缺少的归档日志拷贝到rac2下。

[oracle@rac1 archlog]$ scp 1_48_858567385.arc rac2:/u01/app/oracle/archlog/

1_48_858567385.arc                                                                                                                                           100% 1897KB   1.9MB/s   00:00    

[oracle@rac1 archlog]$ scp 1_49_858567385.arc rac2:/u01/app/oracle/archlog/

1_49_858567385.arc                                                                                                                                           100% 1853KB   1.8MB/s   00:00    

[oracle@rac1 archlog]$ scp 1_50_858567385.arc rac2:/u01/app/oracle/archlog/

1_50_858567385.arc                                                                                                                                           100% 1005KB   1.0MB/s   00:00  

 

RMAN> crosscheck archivelog all;

 

现在状态都是AVALIABLE,不是EXPIRED了。

RMAN> run 2> {3> restore database;4> recover database;5> alter database open;6> } Starting restore at 23-DEC-14using channel ORA_DISK_1 skipping datafile 1; already restored to file +DATA/prod/datafile/system.256.857444647skipping datafile 2; already restored to file +DATA/prod/datafile/undotbs1.258.857444651skipping datafile 3; already restored to file +DATA/prod/datafile/sysaux.257.857444649skipping datafile 4; already restored to file +DATA/prod/datafile/users.259.867055739skipping datafile 5; already restored to file +DATA/prod/datafile/example.264.857444773skipping datafile 6; already restored to file +DATA/prod/datafile/undotbs2.265.857444885restore not done; all files readonly, offline, or already restoredFinished restore at 23-DEC-14 Starting recover at 23-DEC-14using channel ORA_DISK_1 starting media recovery archive log thread 1 sequence 48 is already on disk as file /u01/app/oracle/archlog/1_48_858567385.arcarchive log thread 1 sequence 49 is already on disk as file /u01/app/oracle/archlog/1_49_858567385.arcarchive log thread 1 sequence 50 is already on disk as file /u01/app/oracle/archlog/1_50_858567385.arcarchive log thread 2 sequence 45 is already on disk as file /u01/app/oracle/archlog/2_45_858567385.arcarchive log thread 2 sequence 46 is already on disk as file /u01/app/oracle/archlog/2_46_858567385.arcarchive log thread 2 sequence 47 is already on disk as file /home/oracle/arch/2_47_858567385.arcarchive log filename=/u01/app/oracle/archlog/2_45_858567385.arc thread=2 sequence=45archive log filename=/u01/app/oracle/archlog/1_48_858567385.arc thread=1 sequence=48archive log filename=/u01/app/oracle/archlog/1_49_858567385.arc thread=1 sequence=49archive log filename=/u01/app/oracle/archlog/2_46_858567385.arc thread=2 sequence=46media recovery complete, elapsed time: 00:00:05Finished recover at 23-DEC-14 database opened


5:验证

SQL> select * from scott.t order by id; ID NAME---------- -------------------------------------------------- 1 丹丹 2 丹丹 3 丹丹 5 丹丹 6 jiao 7 jiao 8 jiao 9 song10 song11 jiao12 jiao ID NAME---------- --------------------------------------------------13 jiao14 jiao15 jiao16 jiaojiao17 dan18 dan19 dan20 dandan21 dandan 20 rows selected. --数据全恢复过来了。 


可是每次都需要拷贝另一个节点的归档日志,多麻烦,而且不智能。

五:设置正确NFS挂载

 

上面每次恢复时,都需要拷贝归档日志,所以设置成正确的归档挂载,看看。

现打算将rac2的归档路径:/u01/app/oracle/archlog共享给rac1的归档路径/u01/app/oracle/archlog。

--这是第二天(12-24日进行的)

 

--重新打开数据库,不知为何,发现在节点2上的归档路径,又变成了/home/oracle/arch.

SQL> alter system set log_archive_dest_1='location=/u01/app/oracle/archlog' sid = 'prod2';

 

System altered.

 

现再重启数据库后,看到没再变回去了(哎,太愚笨,之前都没指定实例名)。

 

1Umount掉原先错误挂载

Rac 1:

[oracle@rac1 archlog]$ su -

Password: 

[root@rac1 ~]# umount /u01/app/oracle/archivelog2

umount: /u01/app/oracle/archivelog2: device is busy

umount: /u01/app/oracle/archivelog2: device is busy

 

--如果显示device is busy,就用fuser -k命令:

[root@rac1 ~]# fuser -k /u01/app/oracle/archivelog2

/u01/app/oracle/archivelog2:  9251c 13919c

[root@rac1 ~]# umount /u01/app/oracle/archivelog2

 

Rac2:

[root@rac2 ~]# umount /u01/app/oracle/archivelog1

 

2:移动归档日志

--以免rac1的/u01/app/oracle/archlog/下的归档日志被覆盖掉,要先将其下面的归档日志移动到另一目录下。

/*

--此时,rac1下又生成了好几个归档日志:

-rw-r-----  1 oracle oinstall  1001984 Dec 23 09:09 1_51_858567385.arc

-rw-rw----  1 oracle oinstall  1297920 Dec 24 06:22 1_52_858567385.arc

-rw-rw----  1 oracle oinstall  8364544 Dec 24 07:21 1_53_858567385.arc

 

Rac2下新生成了俩个归档日志:

-rw-r-----  1 oracle oinstall    1024 Dec 24 07:21 2_52_858567385.arc

-rw-r-----  1 oracle oinstall 3051520 Dec 24 07:21 2_51_858567385.arc

 

*/

创建目录:

[oracle@rac1 archlog]$ pwd

/u01/app/oracle

 

[oracle@rac1 oracle]$ mkdir archlog_temp

移动文件:

[oracle@rac1 oracle]$ mv archlog/* archlog_temp/

[oracle@rac1 oracle]$ cd archlog_temp/

[oracle@rac1 archlog_temp]$ ls

1_42_858567385.arc  1_44_858567385.arc  1_46_858567385.arc  1_48_858567385.arc  1_50_858567385.arc  1_52_858567385.arc

1_43_858567385.arc  1_45_858567385.arc  1_47_858567385.arc  1_49_858567385.arc  1_51_858567385.arc  1_53_858567385.arc

 

3:挂载

将rac2的/u01/app/oracle/archlog共享给rac1的/u01/app/oracle/archlog.

--在rac1下执行:

[root@rac1 ~]# mount -t nfs -o rw,bg,hard,nointr,rsize=32768,wsize=32768,timeo=600,actimeo=0 rac2:/u01/app/oracle/archlog /u01/app/oracle/archlog

 

[root@rac1 ~]# su - oracle

[oracle@rac1 ~]$ cd /u01/app/oracle/archlog

 

[oracle@rac1 archlog]$ ls -ltr

total 11708

-rw-rw----  1 oracle oinstall 4028416 Dec 23 08:13 2_45_858567385.arc

-rw-rw----  1 oracle oinstall    3584 Dec 23 08:13 2_46_858567385.arc

-rw-r-----  1 oracle oinstall 1942528 Dec 23 09:03 1_48_858567385.arc

-rw-r-----  1 oracle oinstall 1897472 Dec 23 09:04 1_49_858567385.arc

-rw-r-----  1 oracle oinstall 1029120 Dec 23 09:04 1_50_858567385.arc

-rw-r-----  1 oracle oinstall    1024 Dec 24 07:21 2_52_858567385.arc

-rw-r-----  1 oracle oinstall 3051520 Dec 24 07:21 2_51_858567385.arc

 

可以看到挂载成功。

4:移回归档日志

archlog_temp/下的归档日志移动回来

 

--为方便后续移动所有归档日志,删除上面实验为了实现完全恢复拷贝过来的48,49,50

[oracle@rac1 archlog]$ rm 1*

 

--移动:

[oracle@rac1 archlog]$ mv /u01/app/oracle/archlog_temp/*  /u01/app/oracle/archlog

[oracle@rac1 archlog]$ ls -ltr

total 38144

-rw-rw----  1 oracle oinstall 13805568 Dec 22 08:22 1_42_858567385.arc

-rw-rw----  1 oracle oinstall   314368 Dec 22 08:36 1_43_858567385.arc

-rw-rw----  1 oracle oinstall     1024 Dec 22 08:36 1_44_858567385.arc

-rw-rw----  1 oracle oinstall  2052096 Dec 22 09:28 1_45_858567385.arc

-rw-rw----  1 oracle oinstall     1024 Dec 22 09:28 1_46_858567385.arc

-rw-rw----  1 oracle oinstall   161280 Dec 23 07:05 1_47_858567385.arc

-rw-rw----  1 oracle oinstall  1942528 Dec 23 07:43 1_48_858567385.arc

-rw-rw----  1 oracle oinstall  1897472 Dec 23 08:03 1_49_858567385.arc

-rw-rw----  1 oracle oinstall  4028416 Dec 23 08:13 2_45_858567385.arc

-rw-rw----  1 oracle oinstall     3584 Dec 23 08:13 2_46_858567385.arc

-rw-rw----  1 oracle oinstall  1029120 Dec 23 08:42 1_50_858567385.arc

-rw-r-----  1 oracle oinstall  1001984 Dec 23 09:09 1_51_858567385.arc

-rw-rw----  1 oracle oinstall  1297920 Dec 24 06:22 1_52_858567385.arc

-rw-r-----  1 oracle oinstall     1024 Dec 24 07:21 2_52_858567385.arc

-rw-r-----  1 oracle oinstall  3051520 Dec 24 07:21 2_51_858567385.arc

-rw-rw----  1 oracle oinstall  8364544 Dec 24 07:21 1_53_858567385.arc

 

5crosscheck archivelog all;

select name,status from v$archived_log where status <>'A'

 

确保状态都为A,而不是X。

 

 

六:数据恢复

--再造数据,看看在这样配置NFS,能否实现完全恢复。

1:准备测试数据

Rac2:SQL> insert into t(id,name) values(22,'dan')  2  ; 1 row created. SQL> commit; Commit complete. SQL> conn / as sysdbaConnected.SQL> alter system switch logfile; System altered. SQL> / System altered.生成了如下两个归档日志;-rw-r-----  1 oracle oinstall  1684480 Dec 24 07:59 2_53_858567385.arc-rw-r-----  1 oracle oinstall     2560 Dec 24 07:59 2_54_858567385.arc Rac1:[oracle@rac1 archlog]$ sqlplus scott/tiger; SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 24 08:00:28 2014 Copyright (c) 1982, 2005, Oracle.  All rights reserved.  Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, Real Application Clusters, OLAP and Data Mining options SQL> insert into t(id,name) values(23,'dandan');   1 row created. SQL> commit; Commit complete. SQL> conn / as sysdbaConnected.SQL> alter system switch logfile; System altered. SQL> / System altered.生成了如下归档日志:-rw-rw----  1 oracle oinstall  1625600 Dec 24 08:01 1_54_858567385.arc-rw-rw----  1 oracle oinstall    11776 Dec 24 08:01 1_55_858567385.arc 


 

2:模拟数据库遭到破坏

关库:

SQL> shutdown immediate;

Database closed.

Database dismounted.

ORACLE instance shut down.

 

[oracle@rac2 archlog]$ export ORACLE_SID=+ASM2

[oracle@rac2 archlog]$ asmcmd

ASMCMD> cd DATA/PROD/DATAFILE

ASMCMD> rm USERS.259.867055739

 

在rac2上启库:

SQL> startup;

ORACLE instance started.

 

Total System Global Area  285212672 bytes

Fixed Size     1218992 bytes

Variable Size   247465552 bytes

Database Buffers    33554432 bytes

Redo Buffers     2973696 bytes

Database mounted.

ORA-01157: cannot identify/lock data file 4 - see DBWR trace file

ORA-01110: data file 4: '+DATA/prod/datafile/users.259.867055739'

 

--恢复:

RMAN> run 2> {restore database;3> recover database;4> alter database open;5> } Starting restore at 24-DEC-14using target database control file instead of recovery catalogallocated channel: ORA_DISK_1channel ORA_DISK_1: sid=143 instance=prod2 devtype=DISK channel ORA_DISK_1: starting datafile backupset restorechannel ORA_DISK_1: specifying datafile(s) to restore from backup setrestoring datafile 00001 to +DATA/prod/datafile/system.256.857444647restoring datafile 00002 to +DATA/prod/datafile/undotbs1.258.857444651restoring datafile 00003 to +DATA/prod/datafile/sysaux.257.857444649restoring datafile 00004 to +DATA/prod/datafile/users.259.867055739restoring datafile 00005 to +DATA/prod/datafile/example.264.857444773restoring datafile 00006 to +DATA/prod/datafile/undotbs2.265.857444885channel ORA_DISK_1: reading from backup piece /home/oracle/backup/rman_bak/PROD_57_1_20141223.bakchannel ORA_DISK_1: restored backup piece 1piece handle=/home/oracle/backup/rman_bak/PROD_57_1_20141223.bak tag=TAG20141223T073857channel ORA_DISK_1: restore complete, elapsed time: 00:00:15Finished restore at 24-DEC-14 Starting recover at 24-DEC-14using channel ORA_DISK_1 starting media recovery archive log thread 1 sequence 48 is already on disk as file /u01/app/oracle/archlog/1_48_858567385.arcarchive log thread 1 sequence 49 is already on disk as file /u01/app/oracle/archlog/1_49_858567385.arcarchive log thread 1 sequence 50 is already on disk as file /u01/app/oracle/archlog/1_50_858567385.arcarchive log thread 1 sequence 51 is already on disk as file /u01/app/oracle/archlog/1_51_858567385.arcarchive log thread 1 sequence 52 is already on disk as file /u01/app/oracle/archlog/1_52_858567385.arcarchive log thread 1 sequence 53 is already on disk as file /u01/app/oracle/archlog/1_53_858567385.arcarchive log thread 1 sequence 54 is already on disk as file /u01/app/oracle/archlog/1_54_858567385.arcarchive log thread 1 sequence 55 is already on disk as file /u01/app/oracle/archlog/1_55_858567385.arcarchive log thread 2 sequence 45 is already on disk as file /u01/app/oracle/archlog/2_45_858567385.arcarchive log thread 2 sequence 46 is already on disk as file /u01/app/oracle/archlog/2_46_858567385.arcarchive log thread 2 sequence 47 is already on disk as file /home/oracle/arch/2_47_858567385.arcarchive log thread 2 sequence 48 is already on disk as file /home/oracle/arch/2_48_858567385.arcarchive log thread 2 sequence 49 is already on disk as file /home/oracle/arch/2_49_858567385.arcarchive log thread 2 sequence 50 is already on disk as file /home/oracle/arch/2_50_858567385.arcarchive log thread 2 sequence 51 is already on disk as file /u01/app/oracle/archlog/2_51_858567385.arcarchive log thread 2 sequence 52 is already on disk as file /u01/app/oracle/archlog/2_52_858567385.arcarchive log thread 2 sequence 53 is already on disk as file /u01/app/oracle/archlog/2_53_858567385.arcarchive log thread 2 sequence 54 is already on disk as file /u01/app/oracle/archlog/2_54_858567385.arcarchive log filename=/u01/app/oracle/archlog/2_45_858567385.arc thread=2 sequence=45archive log filename=/u01/app/oracle/archlog/1_48_858567385.arc thread=1 sequence=48archive log filename=/u01/app/oracle/archlog/1_49_858567385.arc thread=1 sequence=49archive log filename=/u01/app/oracle/archlog/1_50_858567385.arc thread=1 sequence=50archive log filename=/u01/app/oracle/archlog/2_46_858567385.arc thread=2 sequence=46archive log filename=/home/oracle/arch/2_47_858567385.arc thread=2 sequence=47archive log filename=/u01/app/oracle/archlog/1_51_858567385.arc thread=1 sequence=51archive log filename=/home/oracle/arch/2_48_858567385.arc thread=2 sequence=48archive log filename=/home/oracle/arch/2_49_858567385.arc thread=2 sequence=49archive log filename=/u01/app/oracle/archlog/1_52_858567385.arc thread=1 sequence=52archive log filename=/home/oracle/arch/2_50_858567385.arc thread=2 sequence=50archive log filename=/u01/app/oracle/archlog/1_53_858567385.arc thread=1 sequence=53archive log filename=/u01/app/oracle/archlog/2_51_858567385.arc thread=2 sequence=51archive log filename=/u01/app/oracle/archlog/2_52_858567385.arc thread=2 sequence=52archive log filename=/u01/app/oracle/archlog/2_53_858567385.arc thread=2 sequence=53archive log filename=/u01/app/oracle/archlog/1_54_858567385.arc thread=1 sequence=54media recovery complete, elapsed time: 00:00:08Finished recover at 24-DEC-14 database opened RMAN> 


3:验证

 

[oracle@rac2 archlog]$ sqlplus / as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Wed Dec 24 08:11:57 2014 Copyright (c) 1982, 2005, Oracle.  All rights reserved.  Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, Real Application Clusters, OLAP and Data Mining options SQL> select * from scott.t order by id;  ID NAME---------- -------------------------------------------------- 1 丹丹 2 丹丹 3 丹丹 5 丹丹 6 jiao 7 jiao 8 jiao 9 song10 song11 jiao12 jiao ID NAME---------- --------------------------------------------------13 jiao14 jiao15 jiao16 jiaojiao17 dan18 dan19 dan20 dandan21 dandan22 dan23 dandan 22 rows selected. 恢复成功,欧耶…… 


 

七:补充NFS共享特点

例如,把rac2的/u01/app/oracle/archlog 挂载到rac1的/u01/app/oracle/archivelog2下。

此时在rac1下/u01/app/oracle/archivelog2写文件,会写到rac2的/u01/app/oracle/archlog 这里。

在rac2 的/u01/app/oracle/archlog 写文件,rac1的u01/app/oracle/archivelog2也能看到。

 

但是,如果在挂载前,rac1的/u01/app/oracle/archivelog2已经有文件存在了,挂载后则会覆盖。

Umount后,会显示出来。

如果在挂载前rac2的u01/app/oracle/archlog 有个新文件,挂载后,能在rac1下看到新文件的。

 


 

0 0