人力资源系统数据库于 本次恢复主要是获取人力资源系统生产库在NBU Veritas磁带库上的全备份数据到应急系统数据库上进行完全恢复。 下面是具体的操作步骤及过程: 1. 在应急系统数据库上创建新的数据库实例: 1) 登录应急数据库服务器: #su – oracle $who $export DISPLAY=10.xxx.xx.xxx:0.0 $dbca (然后在图型界面中进行ORACLE数据库安装) 2) 配置相关数据库信息: 设置实例名,数据文件存放位置等,本次数据库的实例名:JMHRMS 2. 在应急系统数据库上安装配置NBU管理客户端: 1) 安装NBU的CLIENT: #mount -rv cdrfs /dev/cd0 /mnt #cd /mnt #ls #./install *nbuserver:jmbackupsrv (10.151.17.21) 2) 安装NBU的AGENT: #mount -rv cdrfs /dev/cd0 /mnt #cd /mnt #ls #./install *nbuserver:jmbackupsrv 3) 配置NBU的AGENT: #su - oracle #cd /usr/openv/netbackup/bin #./oracle_link LIBOBK path: /usr/openv/netbackup/bin ORACLE_HOME: /oracle/10.2 Oracle version: Linking LIBOBK: ln -s /usr/openv/netbackup/bin bobk.a64 /oracle/10.2 b bobk.a Done Please check the trace file located in /tmp/make_trace.684536 to make sure the linking process was successful. 4) 测试AGENT是否成功: #su – oracle $rman target / RMAN>run { allocate channel ch01 TYPE 'SBT_TAPE'; release channel ch01; } **测试连接磁带库是否成功 3. 登录人力资源生产数据库检查该机的RMAN配置是否正确: 1) 检查并修改RAMAN配送配置: jm_hr_db[/]#su - oracle $ORACLE_SID: jmhrms $ORACLE_HOME: /oracle/product/ jm_hr_db[/home/oracle]@rman target / Recovery Manager: Release Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: JMHRMS (DBID=3805380100) RMAN> show all; using target database control file instead of recovery catalog RMAN configuration parameters are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default CONFIGURE CONTROLFILE AUTOBACKUP OFF; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default CONFIGURE MAXSETSIZE TO UNLIMITED; # default CONFIGURE ENCRYPTION FOR DATABASE OFF; # default CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/oracle/product/ RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; new RMAN configuration parameters: CONFIGURE CONTROLFILE AUTOBACKUP ON; new RMAN configuration parameters are successfully stored **配置修改成功 2) 进行SPFILE文件备份: RMAN> run { 2> allocate channel ch1 type 'sbt_tape'; 3> backup current controlfile; 4> release channel ch1; 5> } released channel: ORA_DISK_1 allocated channel: ch1 channel ch1: sid=1065 devtype=SBT_TAPE channel ch1: VERITAS NetBackup for Oracle - Release 6.0 (2005090703) Starting backup at 21-MAY-10 channel ch1: starting full datafile backupset channel ch1: specifying datafile(s) in backupset including current control file in backupset channel ch1: starting piece 1 at 21-MAY-10 channel ch1: finished piece 1 at 21-MAY-10 piece handle=25le7hpk_1_1 tag=TAG20100521T084540 comment=API Version 2.0,MMS Version channel ch1: backup set complete, elapsed time: 00:27:35 Finished backup at 21-MAY-10 Starting Control File and SPFILE Autobackup at 21-MAY-10 piece handle=c-3805380100-20100521-00 comment=API Version 2.0,MMS Version Finished Control File and SPFILE Autobackup at 21-MAY-10 released channel: ch1 RMAN> 4. 登录应急数据库进行人力资源系统应急恢复配置 1) 登录人力资源系统数据库: jm_hr_db[/]#df -g Filesystem GB blocks Free %Used Iused %Iused Mounted on /dev/hd4 0.50 0.40 20% 5115 6% / /dev/hd2 8.00 3.44 58% 60387 7% /usr /dev/hd9var 2.00 1.98 2% 593 1% /var /dev/hd3 4.00 3.15 22% 1525 1% /tmp /dev/fwdump 0.75 0.75 1% 5 1% /var/adm/ras/platform /dev/hd1 0.50 0.50 1% 14 1% /home /proc - - - - - /proc /dev/hd10opt 0.50 0.12 76% 3550 11% /opt /dev/ptflv 3.00 2.70 11% 216 1% /ptf /dev/oraclelv 40.00 28.71 29% 27416 1% /oracle /dev/hrarchlv 99.62 66.63 34% 297 1% /hrarch /dev/hrdatalv 49.81 35.16 30% 21 1% /hrdata jm_hr_db[/]#su - oracle $ORACLE_SID: jmhrms $ORACLE_HOME: /oracle/product/ jm_hr_db[/home/oracle]@sqlplus / as sysdba SQL*Plus: Release Copyright (c) 1982, 2007, Oracle. All Rights Reserved. Connected to: Oracle Database With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select name from v$controlfile; NAME -------------------------------------------------------------------------------- /hrdata/jmhrms/control01.ctl /hrdata/jmhrms/control02.ctl /hrdata/jmhrms/control03.ctl SQL> select name from v$datafile; NAME -------------------------------------------------------------------------------- /hrdata/jmhrms/system01.dbf /hrdata/jmhrms/undotbs01.dbf /hrdata/jmhrms/sysaux01.dbf /hrdata/jmhrms/users01.dbf /oracle/product/ /hrdata/jmhrms/hcis4j01.dbf 6 rows selected. SQL> create pfile='/tmp/pfile_back.ora' from spfile; File created. SQL> exit Disconnected from Oracle Database With the Partitioning, OLAP, Data Mining and Real Application Testing options jm_hr_db[/oracle/product/ jm_hr_db[/]#more /tmp/pfile_back.ora jmhrms.__db_cache_size=2097152000 jmhrms.__java_pool_size=33554432 jmhrms.__large_pool_size=16777216 jmhrms.__shared_pool_size=3204448256 jmhrms.__streams_pool_size=0 *.audit_file_dest='/oracle/admin/jmhrms/adump' *.background_dump_dest='/oracle/admin/jmhrms/bdump' *.compatible=' *.control_files='/hrdata/jmhrms/control01.ctl','/hrdata/jmhrms/control02.ctl','/hrdata/jmhrms/control03.ctl' *.core_dump_dest='/oracle/admin/jmhrms/cdump' *.db_block_size=8192 *.db_domain='' *.db_file_multiblock_read_count=16 *.db_name='jmhrms' *.db_recovery_file_dest='/oracle/flash_recovery_area' *.db_recovery_file_dest_size=2147483648 *.job_queue_processes=10 *.log_archive_dest_1='LOCATION=/hrarch' *.log_archive_format='%t_%s_%r.dbf' *.open_cursors=1000 *.pga_aggregate_target=2147483648 *.processes=1024 *.remote_login_passwordfile='EXCLUSIVE' *.session_cached_cursors=200 *.sessions=1131 *.sga_target=5368709120 *.undo_management='AUTO' *.undo_retention=10080 *.undo_tablespace='UNDOTBS1' *.user_dump_dest='/oracle/admin/jmhrms/udump' 2) 登录应急恢复数据库(10.151.20.34)根据上面查找到的数据进行相关设置: 1) 创建LV及相关文件系统 **#hostname ** jm_hr_db **jm_hr_db[/]#df -g **/dev/hrarchlv 99.62 66.63 34% 297 1% /hrarch **/dev/hrdatalv 49.81 35.16 30% 21 1% /hrdata # hostname jm_yjdatacopy # lsvg rootvg oravg # lsvg -l oravg oravg: loglv00 jfs2log 1 1 1 open/syncd N/A fslv00 jfs2 100 100 1 open/syncd /arch fslv01 jfs2 750 750 1 open/syncd /oradata fslv02 jfs2 400 400 1 open/syncd /arch2 fslv03 jfs2 100 100 1 open/syncd /arch1 # df -g Filesystem GB blocks Free %Used Iused %Iused Mounted on /dev/hd4 1.00 0.12 89% 14967 33% / /dev/hd2 4.00 1.27 69% 45908 14% /usr /dev/hd9var 2.00 1.73 14% 7265 2% /var /dev/hd3 4.00 2.42 40% 172 1% /tmp /dev/fwdump 1.00 1.00 1% 7 1% /var/adm/ras/platform /dev/hd1 1.00 0.98 2% 71 1% /home /dev/hd11admin 0.25 0.25 1% 5 1% /admin /proc - - - - - /proc /dev/hd10opt 2.00 1.40 30% 9635 3% /opt /dev/livedump 0.25 0.25 1% 4 1% /var/adm/ras/livedump /dev/oraclelv 20.00 13.66 32% 20437 1% /oracle /dev/fslv01 750.00 4.32 100% 76 1% /oradata /dev/fslv00 100.00 4.37 96% 17686 2% /arch /dev/fslv03 100.00 80.62 20% 45 1% /arch1 /dev/fslv02 400.00 82.47 80% 32 1% /arch2 # smit lv **分别在oravg上创建2个LV:jmhrdata和jmhrarch,用于人力资源系统数据库恢复 #mkdir /hrdata #mkdir /hrarch #smit fs **将LV(jmhrdata和jmhrarch)配置成文件系统JFS2,并分别挂载到文件系统(/hrdata和/hrarch) #mount /dev/jmhrdata /hradata #mount /dev/jmhrarch /hrarch # lsvg -l oravg oravg: loglv00 jfs2log 1 1 1 open/syncd N/A fslv00 jfs2 100 100 1 open/syncd /arch fslv01 jfs2 750 750 1 open/syncd /oradata fslv02 jfs2 400 400 1 open/syncd /arch2 fslv03 jfs2 100 100 1 open/syncd /arch1 jmhrdata jfs2 16 16 1 open/syncd /hrdata loglv01 jfslog 1 1 1 open/syncd N/A jmhrarch jfs2 40 40 1 open/syncd /hrarch #chown -R oracle:dba /hrdata # chown -R oracle:dba /hrdata 2) 创建相关数据库恢复目录 **根据人力资源系统生产数据库的SPFILE信息如下,在应急数据库上创建相关文件系统 **.audit_file_dest='/oracle/admin/jmhrms/adump' **.background_dump_dest='/oracle/admin/jmhrms/bdump' **.compatible=' **.control_files='/hrdata/jmhrms/control01.ctl','/hrdata/jmhrms/control02.ctl','**/hrd.ata/jmhrms/control03.ctl' **.core_dump_dest='/oracle/admin/jmhrms/cdump' **.db_recovery_file_dest='/oracle/flash_recovery_area' **.user_dump_dest='/oracle/admin/jmhrms/udump' #mkdir /oracle/admin/jmhrms/adump #mkdir /oracle/admin/jmhrms/bdump #mkdir /oracle/admin/jmhrms/cdump #mkdir /oracle/admin/jmhrms/udump # chown -R oracle:dba /oracle/admin/jmhrms/adump # chown -R oracle:dba /oracle/admin/jmhrms/bdump # chown -R oracle:dba /oracle/admin/jmhrms/cdump # chown -R oracle:dba /oracle/admin/jmhrms/udump # cd /oracle/admin/jmhrms # ls adump bdump cdump udump # ls -l total 24 drwxr-xr-x 2 oracle dba 4096 May 21 08:31 adump drwxr-xr-x 2 oracle dba 4096 May 20 12:31 bdump drwxr-xr-x 2 oracle dba 256 May 20 00:22 cdump drwxr-xr-x 2 oracle dba 4096 May 21 08:31 udump **根据人力资源系统生产数据库的信息如下: **SQL> select name from v$controlfile; **NAME **---------------------------------------------------------------------------- **/hrdata/jmhrms/control01.ctl **/hrdata/jmhrms/control02.ctl **/hrdata/jmhrms/control03.ctl **SQL> select name from v$datafile; **NAME **---------------------------------------------------------------------------- **/hrdata/jmhrms/system01.dbf **/hrdata/jmhrms/undotbs01.dbf **/hrdata/jmhrms/sysaux01.dbf **/hrdata/jmhrms/users01.dbf **/oracle/product/ **/hrdata/jmhrms/hcis4j01.dbf **创建相关目录 #mkdir /hradata/jmhrms # chown -R oracle:dba /hradata/jmhrms #mkdir /oracle/product/ # chown -R oracle:dba /oracle/product/ 3) 检查配置: 检查数据库配置信息及文件系统信息是否一致 jm_hr_db[/]@pwd / jm_hr_db[/]@cd /usr/openv/netbackup/scripts jm_hr_db[/usr/openv/netbackup/scripts]@ls hot_database_backup.sh hot_database_backup.sh.out mkscripts jm_hr_db[/usr/openv/netbackup/scripts]@more hot_database_backup.out hot_database_backup.out: A file or directory in the path name does not exist. jm_hr_db[/usr/openv/netbackup/scripts]@more hot_database_backup.sh.out Script. /usr/openv/netbackup/scripts/hot_database_backup.sh ==== started on Thu May 20 17:47:24 BEIDT 2010 ==== RMAN: /oracle/product/ ORACLE_SID: jmhrms ORACLE_USER: oracle ORACLE_HOME: /oracle/product/ NB_ORA_FULL: 1 NB_ORA_INCR: 0 NB_ORA_CINC: 0 NB_ORA_SERV: jmbackupsrv NB_ORA_POLICY: jm_hr_db_hotbackup Full backup requested $ORACLE_SID: jmhrms $ORACLE_HOME: /oracle/product/ Recovery Manager: Release Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: JMHRMS (DBID=3805380100) using target database control file instead of recovery catalog RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18> 19> 20> 21> 22> 23> 24> 25> 26> 27> 28> 2 9> 30> 31> 32> 33> 34> RMAN> 2> 3> 4> 5> 6> 7> 8> 9> 10> 11> 12> 13> 14> 15> 16> 17> 18> 19> 20> 21> 22> 23 > 24> 25> 26> 27> 28> 29> 30> 31> 32> 33> 34> allocated channel: ch00 channel ch00: sid=1062 devtype=SBT_TAPE channel ch00: VERITAS NetBackup for Oracle - Release 6.0 (2005090703) Starting backup at 20-MAY-10 channel ch00: starting incremental level 0 datafile backupset channel ch00: specifying datafile(s) in backupset input datafile fno=00007 name=/hrdata/jmhrms/hcis4j01.dbf input datafile fno=00005 name=/oracle/product/ input datafile fno=00003 name=/hrdata/jmhrms/sysaux01.dbf channel ch00: starting piece 1 at 20-MAY-10 channel ch00: finished piece 1 at 20-MAY-10 piece handle=bk_62_1_719516846 tag=HOT_DB_BK_LEVEL0 comment=API Version 2.0,MMS Version channel ch00: backup set complete, elapsed time: 00:16:05 channel ch00: starting incremental level 0 datafile backupset channel ch00: specifying datafile(s) in backupset input datafile fno=00001 name=/hrdata/jmhrms/system01.dbf input datafile fno=00002 name=/hrdata/jmhrms/undotbs01.dbf input datafile fno=00004 name=/hrdata/jmhrms/users01.dbf channel ch00: starting piece 1 at 20-MAY-10 channel ch00: finished piece 1 at 20-MAY-10 piece handle=bk_63_1_719517811 tag=HOT_DB_BK_LEVEL0 comment=API Version 2.0,MMS Version channel ch00: backup set complete, elapsed time: 00:07:25 Finished backup at 20-MAY-10 Starting Control File and SPFILE Autobackup at 20-MAY-10 piece handle=c-3805380100-20100520-00 comment=API Version 2.0,MMS Version Finished Control File and SPFILE Autobackup at 20-MAY-10 sql statement: alter system archive log current released channel: ch00 allocated channel: ch00 channel ch00: sid=1062 devtype=SBT_TAPE channel ch00: VERITAS NetBackup for Oracle - Release 6.0 (2005090703) Starting backup at 20-MAY-10 current log archived channel ch00: starting archive log backupset channel ch00: specifying archive log(s) in backup set input archive log thread=1 sequence=543 recid=536 stamp=719455522 input archive log thread=1 sequence=544 recid=537 stamp=719496092 input archive log thread=1 sequence=545 recid=538 stamp=719518725 input archive log thread=1 sequence=546 recid=539 stamp=719518725 channel ch00: starting piece 1 at 20-MAY-10 channel ch00: finished piece 1 at 20-MAY-10 piece handle=al_65_1_719518725 tag=TAG20100520T181845 comment=API Version 2.0,MMS Version channel ch00: backup set complete, elapsed time: 00:04:16 channel ch00: deleting archive log(s) archive log filename=/hrarch/1_543_668875076.dbf recid=536 stamp=719455522 archive log filename=/hrarch/1_544_668875076.dbf recid=537 stamp=719496092 archive log filename=/hrarch/1_545_668875076.dbf recid=538 stamp=719518725 archive log filename=/hrarch/1_546_668875076.dbf recid=539 stamp=719518725 Finished backup at 20-MAY-10 Starting Control File and SPFILE Autobackup at 20-MAY-10 piece handle=c-3805380100-20100520-01 comment=API Version 2.0,MMS Version Finished Control File and SPFILE Autobackup at 20-MAY-10 released channel: ch00 allocated channel: ch00 channel ch00: sid=1062 devtype=SBT_TAPE channel ch00: VERITAS NetBackup for Oracle - Release 6.0 (2005090703) Starting backup at 20-MAY-10 channel ch00: starting full datafile backupset channel ch00: specifying datafile(s) in backupset including current control file in backupset channel ch00: starting piece 1 at 20-MAY-10 channel ch00: finished piece 1 at 20-MAY-10 piece handle=cntrl_67_1_719519067 tag=TAG20100520T182427 comment=API Version 2.0,MMS Version channel ch00: backup set complete, elapsed time: 00:06:15 Finished backup at 20-MAY-10 Starting Control File and SPFILE Autobackup at 20-MAY-10 piece handle=c-3805380100-20100520-02 comment=API Version 2.0,MMS Version Finished Control File and SPFILE Autobackup at 20-MAY-10 released channel: ch00 RMAN> RMAN> Recovery Manager complete. Script. /usr/openv/netbackup/scripts/hot_database_backup.sh ==== ended successfully on Thu May 20 18:34:29 BEIDT 2010 ==== 5. 登录应急数据库进行人力资源系统应急恢复 1) 登录应急数据库的新建实例并进入到RMAN状态: # hostname jm_yjdatacopy # su - oracle [oracle@jm_yjdatacopy] export ORACLE_SID=JMHRMS [oracle@jm_yjdatacopy] echo ORACLE_SID ORACLE_SID [oracle@jm_yjdatacopy] env | grep SID ORACLE_SID=JMHRMS [oracle@jm_yjdatacopy] rman target / Recovery Manager: Release Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: JMHRMS (DBID=3855935718, not open) RMAN> shutdown immediate; Oracle instance shut down RMAN> exit Recovery Manager complete. [oracle@jm_yjdatacopy] rman target / Recovery Manager: Release Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database (not started) RMAN> startup nomount Oracle instance started Total System Global Area 1610612736 bytes Fixed Size 2084400 bytes Variable Size 385876432 bytes Database Buffers 1207959552 bytes Redo Buffers 14692352 bytes RMAN> 2) 恢复SPFILE文件: RMAN> run { 2> allocate channel ch01 TYPE 'SBT_TAPE'; 3> SEND 'NB_ORA_SERV=jmbackupsrv, NB_ORA_CLIENT=jm_hr_db'; 4> restore spfile to '/hrarch/hrpfile/hrpfile_up.ora' from autobackup; 5> release channel ch01; 6> } using target database control file instead of recovery catalog allocated channel: ch01 channel ch01: sid=156 devtype=SBT_TAPE channel ch01: VERITAS NetBackup for Oracle - Release 6.0 (2005090703) sent command to channel: ch01 Starting restore at 21-MAY-10 channel ch01: looking for autobackup on day: 20100521 channel ch01: looking for autobackup on day: 20100520 channel ch01: looking for autobackup on day: 20100519 RMAN> shutdown immediate; Oracle instance shut down RMAN> exit Recovery Manager complete. [oracle@jm_yjdatacopy] rman target / Recovery Manager: Release Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database (not started) RMAN>startup nomount pfile='/hrarch/hrpfile/hrpfile_up.ora'; Oracle instance started Total System Global Area 1610612736 bytes Fixed Size 2084400 bytes Variable Size 385876432 bytes Database Buffers 1207959552 bytes Redo Buffers 14692352 bytes 3) 恢复控制文件: run { allocate channel ch1 type sbt; send 'NB_ORA_SERV=jmbackupsrv, NB_ORA_CLIENT=jm_hr_db'; restore controlfile from 'cntrl_52_1_719346226'; release channel ch1; } **或者 run { allocate channel ch1 type sbt; send 'NB_ORA_SERV=jmbackupsrv, NB_ORA_CLIENT=jm_hr_db'; restore controlfile from autobackup; release channel ch1; } RMAN>alter database mount; 4) 恢复数据库: RMAN>alter database mount; RMAN> run { allocate channel ch1 type 'sbt_tape'; send 'NB_ORA_SERV=jmbackupsrv, NB_ORA_CLIENT=jm_hr_db'; restore database; recover database; release channel ch1; } **或者:按照日志文件进行恢复 RMAN> run { 2> allocate channel ch1 type 'sbt_tape'; 3> send 'NB_ORA_SERV=jmbackupsrv, NB_ORA_CLIENT=jm_hr_db'; 4> restore database UNTIL SEQUENCE 535 thread 1; 5> recover database UNTIL SEQUENCE 535 thread 1; 6> release channel ch1; 7> } RMAN>alter database open; |
|
来自: wghbeyond > 《oracle备份与恢复》