• --:)欢迎访问锋网源码(:--
  • 首页
  • RSS订阅
  • 常用软件
  • 网页模板
  • 网站运作
  • 锋网学院
  • 繁體中文

  • 学院首页
  • 新闻资讯
  • 网站运营
  • 网站开发
  • 美工设计
  • 数据库类
  • 服务器类
  • 网络应用
  • 操作系统
  • 软件教学
编程开发   认证考试   网络安全   文章搜索: 高级搜索
会员登录/控制面版 您的位置: 学院首页 >> 数据库类 >> Oracle >> 文章内容
 

精彩推荐

 
 

本类推荐文章

 
 

本类阅读排行

  • ORACLE学习笔记--性能优化
  • Oracle数据库维护常用SQL语句..
  • oracle HA应用的方案参考
  • 在UNIX服务器上设置Oracle8i..
  • Oracle 数据库的备份与恢复(..
  • 在UNIX服务器上设置Oracle8i..
  • Oracle 数据库的备份与恢复(..
  • 如何在hp-ux10.20系统中正确..
  • 如何保持Oracle数据库的优良..
  • 在一台机器配置两个listener..
  • Oracle 数据库的备份与恢复
  • Oracle数据库的空间管理技巧
  • 在slackware 10下安装Oracle..
  • 在UnixWare7.1.1上安装Oracl..
  • 在Oracle中添加用户 赋权 修..
  • Oracle 10g导出的数据库能否..
  • 解决Oracle并行服务器的相关..
  • 最影响Oracle系统性能的初始..
  • 讲解杀死Oracle数据库死锁进..
  • 正确进行Oracle数据库性能完..
 
 

一个完整的Oracle rman备份恢复参考示例

  • 日期:2008-05-29     人气:     出处:     作者:
  • 字体大小:
  • 小
  • 中
  • 大

完整的Oracler man备份恢复参考示例:

 

1、建rman库作为repository

$more createrman_db1.sh

set echo on

spool makedb1.log

create database rman

datafile '/export/home/oracle/oradata/rman_data/system.dbf' size 50m autoextend

on next 640K

logfile '/export/home/oracle/oradata/rman_data/redo0101.log' SIZE 10M,

'/export/home/oracle/oradata/rman_data/redo0201.log' SIZE 10M

maxdatafiles 30

maxinstances 8

maxlogfiles 64

character set US7ASCII

national character set US7ASCII

;

disconnect

spool off

exit

 

@/export/home/oracle/8.1.6/rdbms/admin/catalog.sql;

 

REM ********** ALTER SYSTEM TABLESPACE *********

ALTER TABLESPACE SYSTEM

DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCR

EASE 50);

ALTER TABLESPACE SYSTEM

MINIMUM EXTENT 64K;

 

REM ********** TABLESPACE FOR ROLLBACK **********

CREATE TABLESPACE RBS DATAFILE '/export/home/oracle/oradata/rman_data/rbs.dbf' s

ize 50m

AUTOEXTEND ON NEXT 512K

MINIMUM EXTENT 512K

DEFAULT STORAGE ( INITIAL 512K NEXT 512K MINEXTENTS 10 MAXEXTENTS UNLIMITED PC

TINCREASE 0 );

 

REM ********** TABLESPACE FOR TEMPORARY **********

CREATE TABLESPACE TEMP DATAFILE '/export/home/oracle/oradata/rman_data/temp.dbf'

size 50m

AUTOEXTEND ON NEXT 64K

MINIMUM EXTENT 64K

DEFAULT STORAGE ( INITIAL 64K NEXT 64K MINEXTENTS 1 MAXEXTENTS UNLIMITED PCTINCR

EASE 0) TEMPORARY;

 

REM **** Creating four rollback segments ****************

CREATE PUBLIC ROLLBACK SEGMENT RBS_0 TABLESPACE RBS

STORAGE ( OPTIMAL 64000K );

ALTER ROLLBACK SEGMENT "RBS_0" ONLINE;

 

 

REM **** SYS and SYSTEM users ****************

alter user sys temporary tablespace TEMP;

alter user system temporary tablespace TEMP;

disconnect

spool off

exit

 

$more createrman_db3.sh

spool crdb3.log

@/export/home/oracle/8.1.6/rdbms/admin/catproc.sql

@/export/home/oracle/8.1.6/rdbms/admin/caths.sql

@/export/home/oracle/8.1.6/rdbms/admin/otrcsvr.sql

connect system/manager

@/export/home/oracle/8.1.6/sqlplus/admin/pupbld.sql

 

disconnect

spool off

exit

 

2、建repository存放的表空间和rman用户

$more createrman_db4.sh

connect internal

create tablespace rman_ts

datafile '/export/home/oracle/oradata/rman_data/rman_ts.dbf'

size 20M default storage (initial 100K next 100K pctincrease 0);

create user rman_hainan identified by rman_hainan

temporary tablespace TEMP

default tablespace rman_ts quota unlimited on

rman_ts;

grant recovery_catalog_owner to rman_hainan;

grant connect ,resource to rman_hainan;

 

3、建catalog,注册目标数据库

$more createrman_db5.sh

rman catalog rman_hainan/rman_hainan@rman msglog=rman.log

create catalog ;

exit;

rman target sys/oracle@db1

connect catalog rman_hainan/rman_hainan@rman

register database;

exit;

 

 

4、可以开始做备份了

5、做全备

$more rmanshell

. /export/home/oracle/.profile

rman rcvcat rman_hainan/rman_hainan@rman target / cmdfile /export/home/oracle/ba

ckup_level0.rcv log /export/home/oracle/backup.log

 

$more backup_level0.rcv

resync catalog;

run {

allocate channel t1 type disk;

backup

incremental level 0

skip in accessible

tag hot_db_bk_level0

filesperset 3

format '/export/home/oracle/bk_%s_%p_%t.bk'

(database);

sql 'alter system archive log current';

backup

filesperset 10

format '/export/home/oracle/a1_%s_%p_%t.ac'

(archivelog all delete input);

backup

format '/export/home/oracle/df_t%t_s%s_p%p.ct'

current controlfile ;

}

 

6、做增备

$more rmanshell1

rman rcvcat rman_hainan/rman_hainan@rman target / cmdfile backup_level1.rcv log

backup.log

 

$more backup_level1.rcv

resync catalog;

run {

allocate channel t1 type disk;

backup

incremental level 1

skip inaccessible

tag hot_db_bk_level1

filesperset 3

format 'bk_%s_%p_%t.bk1'

(database);

sql 'alter system archive log current';

backup

filesperset 10

format 'a1_%s_%p_%t.ac1'

(archivelog all delete input);

backup current controlfile;

}

 

1、 删除旧的全备

$rman rcvcat rman_hainan/rman_hainan@rman target /

 

Recovery Manager: Release 8.1.6.0.0 - Production

 

RMAN-06005: connected to target database: TEST (DBID=1692992254)

RMAN-06008: connected to recovery catalog database

 

RMAN> list backupset;

 

RMAN-03022: compiling command: list

 

List of Backup Sets

Key Recid Stamp LV Set Stamp Set Count Completion Time

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

38 145 399987408 0 399987406 153 11-JUN-00

 

根据key来删除旧的备份。

 

RMAN> allocate channel for maintenance type disk;

RMAN> change backupset 169 delete; ----------THIS IS THE COMMAND TO REMOVE THE ENTRY & OS FILE

 

做完后可以看到list backupset和操作系统的文件都没有了。

 

2、 恢复

(1) 将数据库启动到nomount状态:

$svrmgrl

 

Oracle Server Manager Release 3.1.6.0.0 - Production

 

Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved.

 

Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Production

With the Partitioning option

JServer Release 8.1.6.0.0 - Production

 

SVRMGR> connect internal

Connected.

SVRMGR> startup nomount;

ORACLE instance started.

Total System Global Area 339275684 bytes

Fixed Size 94116 bytes

Variable Size 318685184 bytes

Database Buffers 16384000 bytes

Redo Buffers 4112384 bytes

SVRMGR> exit

Server Manager complete.

(2) 恢复控制文件:

$rman rcvcat rman_hainan/rman_hainan@rman target /

 

Recovery Manager: Release 8.1.6.0.0 - Production

 

 

RMAN-06006: connected to target database: test (not mounted)

RMAN-06008: connected to recovery catalog database

 

RMAN> run {

2> allocate channel d1 type disk;

3> restore controlfile;

4> release channel d1;

5> }

 

(3) 恢复数据文件

 

RMAN> run {

2> allocate channel d1 type disk;

3> sql "alter database mount";

4> restore datafile 1;

5> restore datafile 2;

6> restore datafile 3;

7> restore datafile 4;

8> release channel d1;

9> }

 

(4) 恢复日志文件

 

RMAN> run {

2> set archivelog destination to '/export/home/oracle/admin/test/arch';

3> allocate channel d1 type disk;

4> restore archivelog all;

5> release channel d1;

6> }

会把所有的日志文件恢复。

 

(5) 根据日志做recover

$svrmgrl

 

Oracle Server Manager Release 3.1.6.0.0 - Production

 

Copyright (c) 1997, 1999, Oracle Corporation. All Rights Reserved.

 

Oracle8i Enterprise Edition Release 8.1.6.0.0 - 64bit Production

With the Partitioning option

JServer Release 8.1.6.0.0 - Production

 

SVRMGR> connect internal

Connected.

SVRMGR> recover database using backup controlfile until cancel;

ORA-00279: change 51054 generated at 06/11/2000 11:38:37 needed for thread 1

ORA-00289: suggestion : /export/home/oracle/admin/test/arch/arch_1_3.arc

ORA-00280: change 51054 for thread 1 is in sequence #3

Specify log: {=suggested | filename | AUTO | CANCEL}

Log applied.

ORA-00279: change 51058 generated at 06/11/2000 11:38:44 needed for thread 1

ORA-00289: suggestion : /export/home/oracle/admin/test/arch/arch_1_4.arc

ORA-00280: change 51058 for thread 1 is in sequence #4

ORA-00278: log file '/export/home/oracle/admin/test/arch/arch_1_3.arc' no longer

needed for this recovery

Specify log: {=suggested | filename | AUTO | CANCEL}

 

Log applied.

ORA-00279: change 51074 generated at 06/11/2000 11:40:20 needed for thread 1

ORA-00289: suggestion : /export/home/oracle/admin/test/arch/arch_1_5.arc

ORA-00280: change 51074 for thread 1 is in sequence #5

ORA-00278: log file '/export/home/oracle/admin/test/arch/arch_1_4.arc' no longer

needed for this recovery

Specify log: {=suggested | filename | AUTO | CANCEL}

cancel

Media recovery cancelled.

SVRMGR> alter database open resetlogs;

Statement processed.

恢复完成。

SVRMGR> select table_name from user_tables;

TABLE_NAME

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

BONUS

DEPT

EMP

SALGRADE

TEST

TEST_ZMY

ZMY

ZMY_DEPT

ZMY_EMP

9 rows selected.

可以检查看到,所有的都恢复了,包括全备份后的事务。(只要有归档日志,都可以恢复)。

 

3、恢复后rman数据库的同步

$rman rcvcat rman_hainan/rman_hainan@rman target /

 

Recovery Manager: Release 8.1.6.0.0 - Production

 

RMAN-06005: connected to target database: TEST (DBID=1692992254)

RMAN-06008: connected to recovery catalog database

 

 

RMAN> reset database;

 

RMAN-03022: compiling command: reset

RMAN-03023: executing command: reset

RMAN-08006: database registered in recovery catalog

RMAN-03023: executing command: full resync

RMAN-08029: snapshot controlfile name set to default value: ?/dbs/snapcf_@.f

RMAN-08002: starting full resync of recovery catalog

RMAN-08004: full resync complete

相关文章
相关软件

  • 网友评论:
  • 查看所有评论
  • 我要发表评论
 

关于本站 | 广告联系 | 版权声明 | 网站地图 | 加入收藏 | 帮助中心 |

Copyright © 2006-2007 fwvv.net  程序支持:木翼  皖ICP备06004916号