搜档网
当前位置:搜档网 › 民生证券rman升级迁移内控30数据库20160621(672)

民生证券rman升级迁移内控30数据库20160621(672)

民生证券rman升级迁移内控30数据库20160621(672)
民生证券rman升级迁移内控30数据库20160621(672)

方案目标

相同平台:Linux 10gR2数据库升级+迁移到11g R2 数据库中。

源端(生产端)

服务器:Linux 4.8

数据库:Oracle 10g R2 10205

数据量:1.5T

磁盘剩余空间:230G

目标端

服务器:linux 6.5 x64

数据库:Oracle 11g R2 11204

磁盘空间:5T

迁移时间记录

开始采用dblink和datapump方式,由于数据库中hsman中有几张表数据量太大,一直出现锁表现象,老是出现失败报错,后采用rman方式

Rman压缩备份5个小时 1.5T压缩成为209G

rman还原2个小时

数据升级11g 30分钟

迁移准备

移动硬盘:1块2T

网络:局域网

备份方式:rman

升级:10g升级11g

实施流程

源端:

1.升级脚本@?/rdbms/admin/utlu112i.sql 11g的脚本

2.开启归档;并启动到mount状态;

3.挂载移动硬盘mount /mnt /dev/sdb1

4.Rman备份vi rman.sh

export ORACLE_SID= msnkdb

rman target / log='/tmp/rman_full.log' append <

run

{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

allocate channel c4 type disk;

allocate channel c5 type disk;

allocate channel c6 type disk;

allocate channel c7 type disk;

allocate channel c8 type disk;

allocate channel c9 type disk;

allocate channel c10 type disk;

allocate channel c11 type disk;

allocate channel c12 type disk;

backup as compressed backupset filesperset 8 database format '/mnt/full_%d_%T_%s_%p';

backup current controlfile format '/mnt/ctl_%d_%T_%s_%p';

}

5.执行sh rman.sh &

6. 拷贝密码文件

目标端

1.参数文件添加参数*.compatible=10.2.0.5 启动数据库到nomount的状态

2.还原控制文件restore controlfile from '/mnt/ctl_MSNKDB_20160619_66_1'; 启动到mount状态;3.恢复数据文件sh rman_new.sh &

vi rman_new.sh

rman target / log='/tmp/rman_full.log' append <

run

{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

allocate channel c4 type disk;

allocate channel c5 type disk;

allocate channel c6 type disk;

allocate channel c7 type disk;

allocate channel c8 type disk;

allocate channel c9 type disk;

allocate channel c10 type disk;

allocate channel c11 type disk;

allocate channel c12 type disk;

allocate channel c13 type disk;

allocate channel c14 type disk;

allocate channel c15 type disk;

allocate channel c16 type disk;

allocate channel c17 type disk;

allocate channel c18 type disk;

restore database;

recover database;

}

EOF

4.清除redo日志

alter database clear unarchived logfile group 1 ;

alter database clear unarchived logfile group 2 ;

alter database clear unarchived logfile group 3 ;

alter database clear unarchived logfile group 4 ;

alter database clear unarchived logfile group 5 ;

alter database clear unarchived logfile group 6 ;

alter database clear unarchived logfile group 7 ;

alter database clear unarchived logfile group 8 ;

5.升级模式打开数据库

alter database open upgrade;

6.升级数据库

SPOOL upgrade.log

@?/rdbms/admin/catupgrd.sql

STARTUP

@?/rdbms/admin/utlu112s.sql

@?/rdbms/admin/catuppst.sql

@?/rdbms/admin/utlrp.sql

SQL> SELECT count(*) FROM dba_invalid_objects;

SQL> SELECT distinct object_name FROM dba_invalid_objects;

后续记录

1.更改新服务器物理IP地址

2.统计信息收集exec dbms_stats.gather_schema_stats(ownname=>'HSMAN',force=>true);

3.临时表空间添加

alter TEMPORARY tablespace TEMP

add datafile'/u01/app/oracle/oradata/msnkdb/temp05.dbf'size16G

autoextend on;

问题记录

1.数据文件创建不规则恢复报错

创建数据文件, 文件号= 206 名称= /u01/app/oracle/product/10.2.0/db/dbs/raw_data01.dbf

RMAN-03002: restore 命令(在06/18/2016 17:47:27 上) 失败

ORA-01119: 创建数据库文件'/u01/app/oracle/product/10.2.0/db/dbs/raw_data01.dbf' 时出错

ORA-27040: 文件创建错误, 无法创建文件

Linux-x86_64 Error: 2: No such file or directory Additional information: 1

RMAN-06956:

创建数据文件失败; 请在从操作系统中删除/u01/app/oracle/product/10.2.0/db/dbs/raw_data01.dbf 后重试2.10g生产库备份之前必须打11g的utlu112i.sql脚本,否则还原后,升级无法完成;

rman整库备份还原

整库丢失 1登录rman rman target / 2 备份数据库和归档文件 backup database plus archivelog all; 3 产看备份情况 list backup; 4模拟数据变化 create table test31 as select * from dba_users; alter system switch logfile; create table test32 as select * from dba_users; alter system switch logfile; create table test33 as select * from dba_users; 5删除整个数据库 cd /home/app/oracle/oradata rm –rf ora

数据库已经损坏 6根据数据库启动流程,首先恢复spfile vi initora.ora i db_name='ora' :wq -bash-4.2$ sqlplus / as sysdba shut immediate force; 还原数据库 找到备份文件 rman target / 进入rman设置dbid为备份片的id set dbid=1589493431

还原数据库 恢复控制文件 restore controlfile from autobackup; 设置数据库为mount状态 alter database mount; 恢复数据库 restore database; recover database; Starting recover at 22-MAR-18 using channel ORA_DISK_1 starting media recovery archived log for thread 1 with sequence 10 is already on disk as file /home/archivelog/1_10_971265017.dbf archived log for thread 1 with sequence 11 is already on disk as file /home/archivelog/1_11_971265017.dbf archived log file name=/home/archivelog/1_10_971265017.dbf thread=1 sequence=10 archived log file name=/home/archivelog/1_11_971265017.dbf thread=1 sequence=11 unable to find archived log

RMAN备份及恢复

Linux下Oracle9i RMAN备份及恢复步骤介 1、切换服务器设置归档模式,如果已经是归档模式可跳过此步: %sqlplus /nolog (启动sqlplus) SQL> conn / as sysdba (以DBA身份连接数据库) SQL> shutdown immediate; (立即关闭数据库) SQL> startup mount (启动实例并加载数据库,但不打开) SQL> alter database archivelog; (更改数据库为归档模式) SQL> alter database open; (打开数据库) SQL> alter system archive log start; (启用自动归档) SQL> exit (退出) 2、连接: %rman target=sys/password@mydb (启动恢复管理器) 3、基本设置: RMAN> configure default device type to disk; (设置默认的备份设备为磁盘) RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数) RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于磁盘设备) RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备) RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份) RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式) 4、查看所有设置:

2016年9月1日rman备份恢复脚本

rman备份恢复 1.通过rman备份文件恢复spfile 2.通过rman备份文件恢复controlfile 3.通过rman备份文件恢复datafile 4.利用恢复回来的controlfile和datafile生成redolog 5.测试交易是否存在,并全备 我系统环境所有的文件如下: [oracle@fowaydbs]$ pwd /opt/oracle/10g/dbs [oracle@fowaydbs]$ ls initdw.ora init.ora [oracle@fowaydbs]$ls /opt/oracle/oradata 已没有任何资料 [oracle@fowaydbs]$ls /opt/oracle/admin 已没有任何资料 [oracle@fowaydbs] ls /opt/oracle/flash_recovery_area/ ORCL [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/

2008_07_18 [oracle@fowaydbs]ls /opt/oracle/flash_recovery_area/ORCL/backupset/2008_07_ 18/ o1_mf_ncsnf_TAG20080718T203240_482fls2h_.bkp o1_mf_nnndf_TAG20080718T203240_482fkb0k_.bkp 在我这台电脑上, ,系统中所有的ORCL相关的数据文件,参数文件,日志文件,控制文件全部不在了, 没有其他可用的备份文件了,只有rman备份的文件在,这可怎么办呢? 没办法只能恢复了,可怎么恢复呢? 要恢复数据文件用rman备份? 能吗? 当然不能了,因为restore 必须在mount or open状态下. 参数文件,控制文件都没有怎么mount? 要mount必须有参数文件,控制文件,为此我们必须解决这2个难题了. 在解决难题前先准备ORCL的必须的目录: [oracle@fowaydbs]mkdir /opt/oracle/oradata/orcl

一次曲折的rman控制文件恢复

一次曲折的rman控制文件恢复 用rman备份一个最新的控制文件 rman target / catalog rman/rman@catdb RMAN>backup current controlfile format = '/oracle/backup/backup_%U'; 破坏控制文件 select name from v$controlfile; /dev/rctrlfile1 /dev/rctrlfile2 /dev/rctrlfile3 用dd把控制文件都搞坏,如下: # dd if=/dev/zero of=/dev/rctrlfile1 bs=32k --- --- 没有归档当前的redo log。 SQL> shutdown abort; ORACLE instance shut down. 尝试正常启动数据库 SQL> startup ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 2094904 bytes Variable Size 100665544 bytes Database Buffers 58720256 bytes Redo Buffers 6291456 bytes ORA-00205: error in identifying control file, check alert log for more info

报错,把数据库启动到nomount状态 SQL> shutdown ORA-01507: database not mounted ORACLE instance shut down. SQL> startup nomount ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 2094904 bytes Variable Size 100665544 bytes Database Buffers 58720256 bytes Redo Buffers 6291456 bytes SQL> 连接rman,准备恢复数据库文件。 ibmchen$[/oracle]rman target / catalog rman/rman@catdb Recovery Manager: Release 10.2.0.5.0 - Production on Wed Mar 14 16:18:09 2012 Copyright (c) 1982, 2007, Oracle. All rights reserved. connected to target database: orac (not mounted) connected to recovery catalog database 检查是否打开CONTROLFILE AUTOBACKUP ON RMAN> show all; RMAN configuration parameters are: CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default CONFIGURE BACKUP OPTIMIZATION OFF; # default CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

rman备份常用操作语句

rman备份常用操作语句 2009-08-12 23:21:57| 分类:rman|字号订阅 drop tablespace tbs_rman including contents and datafiles; create tablespace tbs_rman datafile '/oradata/liutest/tbs_rman01.dbf'size 300M; create user rmanuser identified by rman default tablespace tbs_rman temporary tablespace temp; grant recovery_catalog_owner to rmanuser; select * from session_privs; select * from sesseion_roles; rman catalog rmanuser/rman rman>create catalog tablespace tbs_rman; rman>r egister database; rman>list incarnation; -- (可以看出有几个目标数据库注册此RMAN备份) rman>report schema; rman>list backup; rman>list copy; --全备份full backupset rman>run{ allocate channel d1 device type disk; backup as compressed backupset format='/rmanbak/full_%d_%U' tag='fullbak' channel=d1 database plus archivelog delete input; } rman>crosscheck copy; rman>delete expired copy; --0级备份 run{ allocate channel d1 device type disk;

RMAN工具使用

RMAN工具使用 作者: 苏俊华 创建日期: 201-10-19 更新日期: 201-12-05 文档编号: 版本: 1.0 批准: 〈广东移动项目经理〉 〈HAND 项目经理〉 拷贝编号:____

文档控制 更新记录 审阅 分发 备注: 出于文档管理的目的,如果您收到了本文档的电子版本,请打印出来并在封面的相应位 置写上您的名字。 出于文档管理的目的,如果您收到了本文档的纸介质版本,请在封面写上您的名字。

目录 文档控制 (2) RMAN工具使用 (4) 1.1.1 RMAN查看信息 (4) 1.1.1.1 恢复目录相关视图 (4) 1.1.1.2 动态视图 (4) 1.1.1.3 list命令 (5) 1.1.2 配置RMAN (5) 1.1.3 RMAN管理和维护 (6) 1.1.3.1 同步命令 (6) 1.1.3.2 注销数据库 (6) 1.1.3.3 重新启动备份 (7) 1.1.3.4 备份数据命令 (7) 1.1.3.5 脚本及自动运行 (7) 1.1.3.6 查看备份状态 (8) 1.1.3.7 删除过时的备份 (8) 1.1.4 RMAN备份与恢复 (10) 1.1.4.1 归档模式下的backup完全备份与恢复 (10) 1.1.4.1.1 整库备份与恢复 (10) 1.1.4.1.2 表空间备份与恢复 (10) 1.1.4.1.3 数据文件的备份与恢复 (11) 1.1.4.1.4 归档日志的备份与恢复 (11) 1.1.4.1.5 联机日志的备份与恢复 (11) 1.1.4.2 归档模式下的backup部分备份与恢复 (12) 1.1.4.2.1 SCN恢复 (12) 1.1.4.2.2 时间点恢复 (12) 已解决及未解决的问题 (13) 未解决的问题 (13) 已解决的问题 (13)

基于Rman的备份与恢复

基于Rman的测试 为了配合公司产品的功能测试,特完成此文档(公司产品相关测试部分已剔除)。本文档主要是介绍rman工具的基本使用,此处只做全库的备份,以及不完全恢复,数据库模式为归档模式。 1Rman工具的简单介绍 Rman全称Recover Manager是oracle提供的一款备份恢复数据库或数据库组件(表空间、数据文件、控制文件以及参数文件等)的工具。并且rman还可以对数据库的归档日志进行管理。 2 数据库备份与恢复 Rman提供两种备份模式,一种是将备份数据信息写入到本地的控制文件中,另一种是恢复目录方式:这种方式是将备份数据库信息写入到本地控制文件和catalog(恢复目录)中,oracle推荐使用第二种方式。Catalog一般创建在另外的一个数据库中,这样备份的数据库崩溃后不影响其恢复。使用第一种方式,如果数据库崩溃,而且没有控制文件的备份,这种情况下就没有办法进行恢复操作。这里使用恢复目录方式进行操作。 1)Catalog的创建 恢复目录所在数据库为rmandb,创建的恢复目录为tsp_rman,连接用户为rman/rman a)创建恢复目录 Create tablespace tsp_rman datafile ‘D:\ORACLE\PRODUCT\10.2.0\ORADATA\SCHINATEST\rman01.DBF’ size 120m; b)创建用户 Create user rman identified by rman; c)授权

Grant connect, resource, recovery_catalog_owner to rman; 2)连接到Rman 使用以下命令进行rman工具的连接: 连接时需要sysdba系统权限 Rman sys/oracle@schinatest catalog rman/rman@rmandb 说明: Schinatest是准备备份的目标数据库,rmandb是恢复目录数据库 3)查看目标数据库的归档模式 以dba用户登录oracle,查看目标数据库的归档模式:此处是归档模式 SQL> archive log list; 图 3.1 查看归档模式 因为一般情况下,真正使用场景中的数据库都为归档模式,而且非归档模式下使用rman有一些限制,所以此处只做归档模式下的测试。如果数据库是非归档模式,需改成归档模式。 4)注册目标数据库 只有在恢复目录中注册的数据库才能进行备份与恢复操作,注册很简单,连接到rman工具后,使用register database命令进行注册即可 5)配置Rman的使用参数 使用show all命令显示rman的全部配置参数:

Oracle深度学习笔记RMAN备份常用命令

31.Oracle深度学习笔记——RMAN备份常用命令 连接到目标数据库 (不使用恢复目录数据库) $rman target / nocatalog 显示rman配置 RMAN> show all; 报告目标数据库的物理结构 REPORT RMAN> report schema; 报告陈旧备份 RMAN> report obsolete; 报告不可恢复的数据文件 RMAN> report unrecoverable; RMAN> report need backup; RMAN> report need backup days=1; RMAN> report need backup incremental=3; 说明:需要多少个增量备份文件才能恢复的数据文件。 RMAN> report need backup redundancy=2; 说明:报告冗余文件小于2次的数据文件 RMAN> report need backup recovery window of 2 days; 报告出恢复需要2天的归档日志的数据文件。 备份脚本 run{ allocate channel c1 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp'; allocate channel c2 type disk format '/home/oracle/rmanbk/%d_%I_%s_%p_%T.bkp'; backup (datafile 5 channel c1) (datafile 6 channel c2); release channel c1; release channel c2; }

RMAN的备份与恢复步骤详解

在这里没有讨论多么深入的RMAN技术,也没有告诉大家这样去编写备份脚本,这并不是我的初衷,我只想把我会的写出来,和大家一起学习,一起进步,谢谢。 1、切换服务器归档模式,如果已经是归档模式可跳过此步:%sqlplus /nolog (启动sqlplus) SQL> conn / as sysdba (以DBA身份连接数据库) SQL> shutdown immediate; (立即关闭数据库) SQL> startup mount (启动实例并加载数据库,但不打开) SQL> alter database archivelog; (更改数据库为归档模式) SQL> alter database open; (打开数据库) SQL> alter system archive log start; (启用自动归档) SQL> exit (退出) 2、连接:%rman target=rman/rman@mydb (启动恢复管理器) 3、基本设置:RMAN> configure default device type to disk; (设置默认的备份设备为磁盘) RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数) RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于磁盘设备)

RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备) RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份) RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式) 4、查看所有设置: RMAN> show all 5、查看数据库方案报表: RMAN> report schema; 6、备份全库: RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志) 7、备份表空间: RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志) 8、备份归档日志:

windows下的oracle数据库rman自动备份和恢复文档

数据库rman备份恢复文档 一.Rman简介 RMAN是ORACLE提供的恢复和备份工具,是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件、归档日志和控制文件,用来执行完全或不完全的数据库恢复。与传统工具相比,RMAN具有独特的优势:跳过未使用的数据块。当备份一个RMAN 备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。RMAN使用Oracle特有的二进制压缩模式,与传统备份的压缩方式相比,能够最大程度地压缩数据块中的一些典型数据。 二.系统规划 数据库备份文件不建议与系统盘(C盘)、oracle数据文件存放盘(D 盘)存放在一起,本文单独存放于E盘。 注:在进行以下操作前要根据自己的环境建立如下目录“E:\orabackup\”,“’E:\archivelog_backup”,“E:/orabackup_script/”。本文用到的命令中的标点均为英文字符下的标点。 三.设置oracle数据库为归档模式(ARCHIVELOG) 按以下步骤操作,检查oracle数据库是否为归档模式。 1.选择“开始”→“系统”→“运行”,输入cmd,按回车。 2.输入“sqlplus”,按回车。 3.输入“system / as sysdba ”,按回车。 4.输入数据库system账号的密码,按回车。 5.查看数据库归档模式,输入“archive log list;”,按回车。如下图所示。

如果“数据库日志模式”为“非存档模式”,则需按照如下步骤开启归档模式: 1.设置数据库日志归档路径。 输入“alter system set log_archive_dest=’E:\archivelog_backup’ scope=spfile; ”,按回车。 2.关闭数据库。输入“shutdown immediate;”,按回车。 3. 启动数据库到mount状态。输入“startup mount;”,按回车。 4. 更改数据库的归档模式。输入“alter database archivelog;”,按回车。 5.打开数据库。输入“alter database open;”,按回车。

RMAN恢复数据库的全过程

利用RMAN恢复数据库的全过程 RMAN> set dbid=1205819526 正在执行命令: SET DBID RMAN> startup nomount; 已连接到目标数据库(未启动) 启动失败: ORA-01078: failure in processing system parameters ORA-01565: error in identifying file 'E:\oracle\product\10.2.0\db_1/dbs/spfileOR CL.ora' ORA-27041: unable to open file OSD-04002: ???????????? O/S-Error: (OS 2) ?????????????????????? 在没有参数文件的情况下启动Oracle 实例以检索spfile Oracle 实例已启动 系统全局区域总计159383552 字节 Fixed Size 1247828 字节 Variable Size 58721708 字节 Database Buffers 92274688 字节 Redo Buffers 7139328 字节 RMAN> restore spfile from 'E:\ORACLE\PRODUCT\10.2.0\FLASH_RECOVERY_AREA\ORCL\BAC KUPSET\2009_02_05\O1_MF_NCSNF_TAG20090205T162829_4RO8TX8S_.BKP'; 启动restore 于05-2月-09 分配的通道: ORA_DISK_1 通道ORA_DISK_1: sid=37 devtype=DISK

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

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 ****************

rman备份恢复手册

RMAN备份恢复手册 1.概要 1.1.本文的目的 为了模拟测试oracle热备份的各种恢复情况,同时给以后工程人员一些实施借鉴,特地整理了本文档,在其中记录各种恢复的情况,以方便恢复时使用。 1.2.系统概况 系统环境:hp unix11 oracle 9201 数据情况:一个系统文件、3个联机日志、一个回滚段表空间、一个undo表空间、其他的数据文件,数据库当前使用undo。 备份方式:rman热备份 备份文件:数据文件、归档日志、控制文件、初始化文件。 测试脚本:sp_insert_del,主要完成写入数据和删除数据的功能。 测试表:iptpa_test1,存储测试数据。 2.rman备份介绍 2.1. 功能简介 Oracle提供了一个通用工具完成备份、还原、恢复功能,就是rman。Rman是oracle数据库附带的一个功能,不需要单独安装,适用于oracle8以上数据库版本。Rman可以完成整个数据库或者数据库部件的备份。Rman也支持增量备份,但是建议不要采用这部分功能,因为在备份时会计算一些东西,耗时还是比较多的。 Rman通过oracle的session来读取数据,完成备份和恢复。存储备份数据主要是通过target数据库的控制文件来操作,而恢复操作主要靠备份数据库的catalog来完成。 本文仅仅介绍oracle9i的rman特性。 2.2. 体系结构 Rman共分以下几个部分:rman引擎、target数据库、catalog数据库、媒体管理software。 Rman引擎起源于oracle8,位于$ORACLE_HOME/bin下,通过运行rman命令启动它来执行备份。 Target数据库,是rman将要备份和恢复的数据库。

RMAN的备份与恢复步骤详解

RMAN的备份与恢复步骤详解

在这里没有讨论多么深入的RMAN技术,也没有告诉大家这样去编写备份脚本,这并不是我的初衷,我只想把我会的写出来,和大家一起学习,一起进步,谢谢。 1、切换服务器归档模式,如果已经是归档模式可跳过此步:%sqlplus /nolog (启动sqlplus) SQL> conn / as sysdba (以DBA身份连接数据库) SQL> shutdown immediate; (立即关闭数据库) SQL> startup mount (启动实例并加载数据库,但不打开) SQL> alter database archivelog; (更改数据库为归档模式) SQL> alter database open; (打开数据库) SQL> alter system archive log start; (启用自动归档) SQL> exit (退出) 2、连接:%rman target=rman/rman@mydb (启动恢复管理器) 3、基本设置:RMAN> configure default device type to disk; (设置默认的备份设备为磁盘) RMAN> configure device type disk parallelism 2; (设置备份的并行级别,通道数) RMAN> configure channel 1 device type disk fromat '/backup1/backup_%U'; (设置备份的文件格式,只适用于

磁盘设备) RMAN> configure channel 2 device type disk fromat '/backup2/backup_%U'; (设置备份的文件格式,只适用于磁盘设备) RMAN> configure controlfile autobackup on; (打开控制文件与服务器参数文件的自动备份) RMAN> configure controlfile autobackup format for device type disk to '/backup1/ctl_%F'; (设置控制文件与服务器参数文件自动备份的文件格式) 4、查看所有设置: RMAN> show all 5、查看数据库方案报表: RMAN> report schema; 6、备份全库: RMAN> backup database plus archivelog delete input; (备份全库及控制文件、服务器参数文件与所有归档的重做日志,并删除旧的归档日志) 7、备份表空间: RMAN> backup tablespace system plus archivelog delete input; (备份指定表空间及归档的重做日志,并删除旧的归档日志)

Rman备份步骤

1.恢复管理器(Recovery Manager,RMAN)是一个与操作系统无关的数据库备份工具,可以跨越不同的操作系统进行数据库备份。RMAN必须运行在一个数据库上。与常用的数据库备份、逻辑数据库备份不同,RMAN使用数据库对数据库进行备份的原理。 在RMAN中,可以使用COPY命令将数据库文件复制到磁盘或磁带上,也可以用BACKUP命令对整个数据库、一个指定的表空间、控制文件、日志文件进行备份。 上面写的哪些东西估计也没有什么用下面说说怎么用那些东西 首先要创建恢复目录(recobery catalog)只有建立了目录,rman才能重目录数据库文件中工作呀 1.先要创建恢复目录数据库可以通过企业管理器建立 包括系统表空间,rbs表空间,临时表空间,日志文件设置,catalog表空间,2 创建rman用户 SQL>Create user rman identifiey by rman default tablespace cattbs temporary tablespace temp; SQL>Grant connect,resource to rman; SQL>Grant recovery_catalog_owner to rman; 3 创建恢复目录 $rman catalog RMAN>create catalog; 创建个目录很简单哈哈 然后开始配置rman通道 先说什么是通道RMAN在执行数据库备份与恢复操作时,都要使用操作系统进程,启动操作系统进程是通过分配通道来实现的,每分配一个通道RMAN启动一个服务器进程。 手动分配通道 Run {Allocate channel ora_sbt_1 device type sbt rate 200k; #rate限定通道的传输速率/秒 Allocate channel ora_sbt_2 device type sbt rate 500k; # ora_sbt_2通道名可任意取Backup (tablespace system,users channel ora_sbt_1) (tablespace example channel ora_sbt_2); } 自动通道配置 在RUN外部使用backup,restore,delete命令,或在RUN中使用这些命令但未定义通道时RMAN自动使用自动通道配置。 例: backup tablespace users; run {restore tablespace examples;} 定义自动通道语法如下:

RMAN快速入门指南

RMAN快速入门指南 1. WHAT IS RMAN? 什么是RMAN?3 2. TERMINOLOGY 专业词汇解释3 2.1.B ACKUP SETS 备份集合3 2.2.B ACKUP PIECES 备份片3 2. 3.I MAGE COPIES 镜像备份3 2. 4.F ULL BACKUP SETS 全备份集合3 2. 5.I NCREMENTAL BACKUP SETS 增量备份集合3 2. 6.F ILE MULTIPLEXING4 2. 7.R ECOVERY CATALOG RESYNCING 恢复目录同步4 3. THE RECOVERY CATALOG 恢复目录4 3.1.恢复目录的概念4 3.2.建立恢复目录4 3.3.使用恢复目录的优势5 4. STARTING RMAN 启动RMAN 5 4.1.使用不带恢复目录的RMAN 6 4.2.使用带恢复目录的RMAN 6 4.3.使用RMAN 6 5.注册或者注销目标数据库6 5.1.注册目标数据库6 5.2.注销目标数据库7 6.将已有的备份操作8 6.1.加入目录数据库8 6.2.从目录数据库中删除8 7.在非归档模式下备份9 7.1.数据库完全备份的例子9 7.2.备份表空间的例子10

7.3.备份单独数据文件10 7.4.备份数据文件11 7.5.备份控制文件11 8.归档模式下的备份11 8.1.B ACKING UP ARCHIVED LOGS 备份归档日志11 8.2.B ACKING UP THE ONLINE LOGS 备份联机日志12 9. INCREMENTAL BACKUPS 增量备份13 9.1.L EVEL 0——增量备份策略的基础13 9.2.使用增量备份的案例13 10. RECOVERY 恢复14 10.1.D ATABASE OPEN,DATAFILE DELETED 数据库打开时,文件被删除14 10.2.C OMPLETE RESTORE (LOST ONLINE REDO) AND ROLLFORWARD - DATABASE CLOSED 完全还原(丢失联机日志)并且前滚-数据库关闭14 10.3.R ESTORE OF A SUBSET OF DATAFILES, COMPLETE RECOVERY 还原数据文件的子集,完全恢复15 11. SCRIPTS 脚本15 12. CORRUPTION DETECTION 16 13. CHANNELS 通道16 14. REPORT & LIST COMMANDS 17 14.1.L IST17 14.2.R EPORT17 15. 小提示18

第十一章 使用RMAN实现异机备份恢复(WIN平台

使用RMAN实现异机备份恢复(WIN平台) 分类:RMAN 备份恢复2011-07-27 20:52 397人阅读评论(0) 收藏举报--================================= -- 使用RMAN实现异机备份恢复(WIN平台) --================================= 在有些情况下,如数据库服务器处于磁盘空间的压力或成本控制需要将数据文件备份到异机,使用RMAN可以完成该工作。基于Windows平台 所需完成的配置相对简单,仅仅是添加账户与使用新增的帐户来启动数据库服务以及设置共享路径。 下面给出具体描述。 一、配置数据库服务器与备份目的主机 1. 帐户配置(假定有主机A,B 且A为数据库服务器,B为备份目的主机,且能互相ping通) 如果主机A与主机B使用的Administrator密码相同,且A上的OracleServiceDBNAME服务和OracleOraHome92TNSListener服务都以"本 地系统账户登陆" 如果主机A与主机B使用不同的Administrator密码,处于安全考虑不宜设为相同,则则可以分别在主机A与主机B上新建一用户,假 定在主机A上建立DBA_oracle,密码为ORA_PWD,则在主机B上也建立该用户(用户名可以不同,密码必须相同),密码同样设置为ORA_PWD 。将刚建好的用户在各自主机将其加入到Aministrators组 2. 设定OracleServiceDBNAME服务和OracleOraHome92TNSListener服务的启动帐户。在运行处输入services.msc。在主机A上设定使用此帐 户登陆,即使用刚刚建立的DBA_oracle,输入密码启动,该设置需要重启后有效 3. 在主机B上设定共享文件夹,如RMAN_Shared,设置其权限为完全控制(在A上使用 \\IP\RMAN_Shared测试是否可写入文件) 二、查看RMAN的配置与数据库情况 [sql]view plaincopyprint? 1.RMAN> show CONTROLFILE AUTOBACKUP; 2. 3.RMAN 配置参数 为: 4.CONFIGURE CONTROLFILE AUTOBACKUP ON; -->控制文件自动备份,建议开 启 5.

Oracle RMAN恢复机制

Oracle RMAN 恢复机制 RMAN 完全恢复是指当数据文件出现介质故障后,通过RMAN 使用备份信息将数据文件恢复到失败点。图15-6显示了完全恢复的过程,从图中可以看出,对数据库进行恢复大致分为两个步骤。 备份数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200 数据文件1SCN=200 数据文件2SCN=200数据文件3SCN=100 数据文件1SCN=200数据文件2SCN=200数据文件3SCN=200 数据文件1SCN=200 数据文件2SCN=200数据文件3 SCN=200 归档日志 修复数据文件 应用归档重做日志恢复数据 被损坏的数据文件修复后的数据文件 恢复后的数据文件 事务恢复回退记录 图15-6 归档模式下的完全恢复 (1)当发生介质故障后,利用备份修复被损坏或丢失的数据文件,在图中假设数据文件3被损坏。 (2)修复数据文件3后,因为被修复的数据文件与其他数据文件相比要“旧”,所认这时数据库中的数据文件并不同步(文件头部信息中的检查点号SCN 不同)。由于数据文件之间不一致,数据库仍然无法打开,这时就需使用归档日志对数据库进行恢复。恢复过程又包含两个主要步骤:缓存恢复和事务恢复。在缓存恢复完成后,数据库即可打开;但此时数据库中可能含有提交的事务,因此,在事务恢复后,将提交所有的事务,使数据库进入一致状态。 正是由于归档日志中记录了数据库的所有修改操作,从而保证了在数据库出现介质故障后,使用归档日志和备份就可以将数据库恢复到最近的状态。 在RMAN 中使用RESTORE 命令修复数据库时,RMAN 将启动一个服务器进程来完成将磁盘中的备份集或镜像副本修复数据文件、控制文件以及归档重做日志文件。在使用RMAN 进行数据库修复时,可以根据出现的故障,选择修复整个数据库、单独的表空间、单独的数据文件、控制文件以归档重做日志文件。例如,如果需要修复表空间USERS ,RMAN 将从备份集或镜像副本中查找USERS 表空间的备份,然后将它复制到控制文件指定的位置。 使用RMAN 进行修复操作时,RMAN 会通过恢复目录或者目标数据库的控制文件来获取所有的备份,并从中选择最合适的备份来完成恢复操作。RMAN 选择备份的准则为:距 注 意 上面的恢复操作仅适用于归档模式下的数据库,如果数据库运行在非归档模式下,那么,即使只损坏或丢失了一个数据文件,也必须使用全数据库脱机备份进行修复,然后不经恢复过程直接打开数据库。

相关主题