用rman,在oracle不同版本间作数据恢复,怎么弄

用rman,在oracle不同版本间作数据恢复,怎么弄,第1张

一、RMAN 备份的内容

RMAN做数据库全备时包含了 数据文件、归档日志、控制文件和参数文件和备份日志,如下:

arch_20160223_08qukp2t_1_1 arch_20160223_0bqukp92_1_1 ctl_c-3234695588-20160223-01 rmanbak-20160223-0852log scp_20160223_09qukp2u_1_1 scp_20160223_0aqukp2u_1_1

二、测试环境

OS:CentOS release 64 (Final)

Database:Oracle Database 12c Enterprise Edition Release 121020 - 64bit Production

原平台与当前平台环境一致,但是oracle数据库目录结构不一致。

三、开始恢复

1、 确认原数据库的DBID(通过RMAN的备份日志,或者通过RMAN备份的控制文件名来识别),同时确认一下原数据库的实例名;

2、 将RMAN备份的内容拷贝到目标数据库上;

3、 设置好环境变量:

[oracle@dg1 ~]$ export NLS_DATA_FORMAT='YYYY-MM-DD HH24:MI:SS'

[oracle@dg1 ~]$ export ORACLE_SID=scp

[oracle@dg1 ~]$ rman target /

Recovery Manager: Release 121020 - Production on Fri May 6 22:18:52 2016

4、装载数据库并进行恢复

A、装载数据库

复制代码

RMAN> set dbid=3234695588;

executing command: SET DBID

RMAN> startup nomount;

startup failed: ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file '/u01/app/oracle/product/12102/dbs/initscpora'

starting Oracle instance without parameter file for retrieval of spfile

Oracle instance started

复制代码

B、先恢复spfile文件(或者是pfile文件,可以修改各项参数),因为在spfile 文件中包含了控制文件的位置

RMAN> restore spfile to pfile '$ORACLE_HOME/dbs/initscpora' from '/home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01';

OR:

RMAN> restore spfile to '$ORACLE_HOME/dbs/spfilescpora' from '/home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01';

C、根据pfile文件中的相关参数去修改本地系统目录,或者修改这个pfile文件来匹配本地系统中的路径和目录,我们选择后者

需要修改:oracle_base、audit_file_dest、control_files、db_recovery_file_dest、db_recovery_file_dest_size、diagnostic_dest、log_archive_dest_1、

memory_target、undo_tablespace等。并在当前系统中创建好相关的目录和权限。

复制代码

[oracle@dg1 dbs]$ vim initscpora

scp__data_transfer_cache_size=0

scp__db_cache_size=822083584

scp__java_pool_size=16777216

scp__large_pool_size=33554432

scp__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment

scp__pga_aggregate_target=654311424

scp__sga_target=1241513984

scp__shared_io_pool_size=50331648

scp__shared_pool_size=301989888

scp__streams_pool_size=0

audit_file_dest='/u01/app/oracle/admin/scp/adump'

audit_trail='db'

compatible='121020'

control_files='/u01/app/oracle/oradata/scp/control01ctl','/u01/app/oracle/fast_recovery_area/scp/control02ctl'

db_block_size=8192

db_domain=''

db_name='scp'

db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'

db_recovery_file_dest_size=4560m

diagnostic_dest='/u01/app/oracle'

dispatchers='(PROTOCOL=TCP) (SERVICE=scpXDB)'

log_archive_dest_1='LOCATION=/OracleArch'

memory_target=1800m

open_cursors=300

processes=300

remote_login_passwordfile='EXCLUSIVE'

undo_tablespace='UNDOTBS1'

复制代码

D、从修改后的pfile文件启动数据库,进行控制文件的恢复

复制代码

RMAN> shutdown abort;

RMAN> startup nomount pfile='$ORACLE_HOME/dbs/initscpora';

RMAN> restore controlfile from '/home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01';

Starting restore at 06-MAY-16

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=243 device type=DISK

channel ORA_DISK_1: restoring control file

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

output file name=/home/OracleData/scp/control01ctl

output file name=/home/OracleArch/fast_recovery_area/control02ctl

Finished restore at 06-MAY-16

复制代码

E、控制文件恢复后就可以mount数据库了

RMAN> alter database mount;

Statement processed

released channel: ORA_DISK_1

F、至此,控制文件已经恢复,数据库已经mount,所有的RMAN配置参数均已设置,您应该验证路径以确保它们适用于该主机。

复制代码

RMAN> show all;

RMAN configuration parameters for database with db_unique_name SCP are:

CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;

CONFIGURE BACKUP OPTIMIZATION OFF; # default

CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default

CONFIGURE CONTROLFILE AUTOBACKUP ON;

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/orabackup/RmanBackupSet/20160223/ctl_%F';

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 COMPRESSION ALGORITHM 'BASIC' AS OF RELEASE 'DEFAULT' OPTIMIZE FOR LOAD TRUE ; # default

CONFIGURE RMAN OUTPUT TO KEEP FOR 7 DAYS; # default

CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default

CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/oracle/product/12102/dbs/snapcf_scpf'; # default

复制代码

G、为了能让RMAN找到恢复文件的位置,我们有两种途径可以实现:一是修改RMAN配置以符合当前备份文件所在位置,其次是将RMAN备份文件拷贝到配置文件中设定的位置 (需要参考RMAN的备份日志)。在第一个方法中,为了让RMAN知道备份文件位置 /home/OracleBack/rmanbak ,我们使用catalog命令:

复制代码

RMAN> catalog start with '/home/OracleBack/rmanbak';

Starting implicit crosscheck backup at 06-MAY-16

allocated channel: ORA_DISK_1

channel ORA_DISK_1: SID=243 device type=DISK

Crosschecked 4 objects

Finished implicit crosscheck backup at 06-MAY-16

Starting implicit crosscheck copy at 06-MAY-16

using channel ORA_DISK_1

Finished implicit crosscheck copy at 06-MAY-16

searching for all files in the recovery area

cataloging files

no files cataloged

searching for all files that match the pattern /home/OracleBack/rmanbak

List of Files Unknown to the Database

=====================================

File Name: /home/OracleBack/rmanbak/scp_20160223_09qukp2u_1_1

File Name: /home/OracleBack/rmanbak/arch_20160223_0bqukp92_1_1

File Name: /home/OracleBack/rmanbak/scp_20160223_0aqukp2u_1_1

File Name: /home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01

File Name: /home/OracleBack/rmanbak/arch_20160223_08qukp2t_1_1

Do you really want to catalog the above files (enter YES or NO) yes

cataloging files

cataloging done

List of Cataloged Files

=======================

File Name: /home/OracleBack/rmanbak/scp_20160223_09qukp2u_1_1

File Name: /home/OracleBack/rmanbak/arch_20160223_0bqukp92_1_1

File Name: /home/OracleBack/rmanbak/scp_20160223_0aqukp2u_1_1

File Name: /home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01

File Name: /home/OracleBack/rmanbak/arch_20160223_08qukp2t_1_1

复制代码

H、对备份集做交叉检查,否则还原数据库时可能会报错

复制代码

RMAN> crosscheck backup;

using channel ORA_DISK_1

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/orabackup/RmanBackupSet/20160223/arch_20160223_08qukp2t_1_1 RECID=8 STAMP=904553565

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/home/OracleBack/rmanbak/arch_20160223_08qukp2t_1_1 RECID=16 STAMP=911172456

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/orabackup/RmanBackupSet/20160223/scp_20160223_0aqukp2u_1_1 RECID=9 STAMP=904553567

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/home/OracleBack/rmanbak/scp_20160223_0aqukp2u_1_1 RECID=14 STAMP=911172456

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/orabackup/RmanBackupSet/20160223/scp_20160223_09qukp2u_1_1 RECID=10 STAMP=904553567

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/home/OracleBack/rmanbak/scp_20160223_09qukp2u_1_1 RECID=12 STAMP=911172456

crosschecked backup piece: found to be 'EXPIRED'

backup piece handle=/orabackup/RmanBackupSet/20160223/arch_20160223_0bqukp92_1_1 RECID=11 STAMP=904553762

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/home/OracleBack/rmanbak/arch_20160223_0bqukp92_1_1 RECID=13 STAMP=911172456

crosschecked backup piece: found to be 'AVAILABLE'

backup piece handle=/home/OracleBack/rmanbak/ctl_c-3234695588-20160223-01 RECID=15 STAMP=911172456

Crosschecked 9 objects

复制代码

I、通过控制文件获得表空间及数据文件列表

复制代码

RMAN> report schema;

RMAN-06139: WARNING: control file is not current for REPORT SCHEMA

Report of database schema for database with db_unique_name SCP

List of Permanent Datafiles

===========================

File Size(MB) Tablespace RB segs Datafile Name

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

1 0 SYSTEM /u01/app/oracle/oradata/scp/system01dbf

2 0 ZYTK_AC /u01/app/oracle/oradata/scp/zytk_ac01dbf

3 0 SYSAUX /u01/app/oracle/oradata/scp/sysaux01dbf

4 0 UNDOTBS1 /u01/app/oracle/oradata/scp/undotbs01dbf

5 0 EXAMPLE /u01/app/oracle/oradata/scp/example01dbf

6 0 USERS /u01/app/oracle/oradata/scp/users01dbf

7 0 ZYTK_AC /u01/app/oracle/oradata/scp/zytk_ac02dbf

8 0 ZYTK_ID /u01/app/oracle/oradata/scp/zytk_id01dbf

9 0 ZYTK_ID /u01/app/oracle/oradata/scp/zytk_id02dbf

10 0 ZYTK_OP /u01/app/oracle/oradata/scp/zytk_op01dbf

11 0 ZYTK_OP /u01/app/oracle/oradata/scp/zytk_op02dbf

12 0 ZYTK_TEST01 /u01/app/oracle/oradata/scp/zytk_test01dbf

List of Temporary Files

=======================

File Size(MB) Tablespace Maxsize(MB) Tempfile Name

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

1 60 TEMP 32767 /u01/app/oracle/oradata/scp/temp01dbf

注意:restore 的时候不会对temp 表空间进行restore。所以等restore 之后,我们需要手工创建temp表空间。

第一章 安装 目标完成本课 您将能够:列出新的安装特性列出安装性能的增加安装新特性支持数据库存储选项 文件系统 自动存储管理(a ) 裸设备数据库管理选项 企业管理器网格控制器 企业管理器数据库控制器数据库备份和恢复选项电子邮件通知选项cluster ready服务克隆oracle g报告下面的新安装特性:配置使用oraclea 安装和配置新的企业管理器(EM)框架 如果你选择使用oracle企业管理器数据库控制器 你可以有配置使用oracle推荐的默认备份策略的选项如果你在安装的时候使用oracle企业管理器数据库控制器 你可以配置em发送警告到你知道的email地址 这些警告包括磁盘空间到了严重的界限或数据库非正常关闭 RAC的加强 g安装支持RAC新特性 尤其是安装Cluster ready服务 oracle的homes可以使用企业配置管理工具进行克隆 这个工具是附带在grid control中的 安装的性能加强内存需求 有数据库控制器的实例 m 无数据库控制器的实例 m磁盘需求 G的交换分区(或Ram的两倍) /tmp目录下要有 m的空间 oracle软件大概要 g到 g g可配置的数据库(可选) g的闪回区(可选) 减少了安装数据库的总大小 去掉了旧的选项完全安装大概 min只需要一张cd查看安装前的必要条件 查看是否有足够的临时空间 位和 位的问题 检查正确的os 检查ps的patch 系统包 系统/内核参数 x 服务器的许可 足够的交换空间 非空的oracle_home混杂的安装加强sys和system密码只需要输入一次干净的反安装 没有文件留下 oracle home外的文件都被清除 windows中的注册表记录被清除有特定的 oc j需求b_idsableStartMenu变量受到ISV的支持CD pack的内容oracle database g cdpanion cdoracle iAS infrastructure cdoracle database g clientoracle enterprise manger cdoracle documentation g cdoracle database g demos cdpanion cd 有 dbworkflowohssqlj jpublishercontext knowledgelegato storage managerexamples管理选项如果你在安装的时候选择创建启动数据库 你可以看到很多屏幕问你配置启动数据库的下面的信息命名数据库字符集schema样本数据库管理文件存储选项文件系统 把文件存储在你配置的os文件系统上ASm ASM文件是自动创建和配置的 你可以得到额外的镜向 条带化等益处 裸设备(分区) 上面没有文件系统的磁盘分区 备份和恢复选项安装的时候会提示你要不要进行自动备份口令安装的时候你可以为所有的用户设置同一个口令 也可以单独为他们设置 第二章 服务器配置 完成本章之后 您将能够:描述使用dbca安装完数据库之后oracle g功能性的支持同时使用初始化参数的子集来简化实例配置从dbca安装样本schema(可选的)从oem中查看数据库使用统计dbca的加强dbca为oracle标准提供快速创建功能齐全的马上可以使用的数据库:自动创建sysaux辅助表空间应用闪回去 并且设置闪回备份和恢复策略out of the box管理资料库自动统计的收集自动ldap注册oracle g为了简化当年的将来的自我管理活动 引进了许多特性上的改善 这次改善包括存储所有辅助元数据和工作负载信息和为了优化性能的监控工具的公用体系结构 这些改善都是被dbca完全支持和应用的 新的属于系统的sysaux表空间为所有的不存在system表空间的辅助数据库元数据提供了集中的位置 它减少了创建摩尔表空间的数目 无论是种子数据库还是用户定义的数据库 dbca现在自动的配置默认的闪回区 这是为需要恢复的文件和数据库活动的统一存储位置 oem资料库 作业 事件子系统现在都是自动的配置 减少了人工安装的需要 以个新的嵌入和完全自我管理的资料库捕捉工作负载信息和与性能有关的统计 这样减少了管理成本 dbca配置的新目录减少了使用网络api配置ldap ora的需要 简化种子数据库 简化初始化参数 减小大小 样本schema的可选安装为磁盘存储的自动存储管理ASM现在oracle数据库的配置更容易 dba只需要注意少量几个初始化参数 参数现在分成两组 基本的和高级的参数 在大多数情况下 为了得到合理的性能 你之需要设置或修改基本参数 他们大概有 个 你现在可以时候dbca配置a 为oracle数据库文件建立的和文件系统和卷管乐器的综向集成 为了常规和rac环境 使用数据库控制器进行管理在这个dbca屏幕上 你可以设置你的数据库使用grid控制器还是数据库控制器 当你运行dbca的时候 它要确定oracle管理代理已经在这个计算机上安装了 如果有 你就可以从下拉框选择oracle管理服务和grid control选项来进行中央化管理 当你完成安装的时候 这个服务作为被管理的目标是自动启动的 如果你不中央管理你的oracle环境 你仍然可以使用em来管理你的数据库 em database control在你数据库安装的时候 自动安装了 你可以使用db control提供的基于web的特性来监控 管理你安装的单实例或集群数据库 你也可以配em为sy an用户接受电子邮件通知 当metric到了一定严重或警告的时候 当你选择db control的时候 你还可以配置每天备份到闪回区 SYSAUX和dbcadbca支持强制创建sysaux表空间 在数据库存储页 sysaux是tablespace文件夹必要的原始 你可以通过单击 存储标签或在datafile文件夹相应的sysaux入口来改变sysaux的数据库文件和存储参数 数据文件和存储参数有默认的值 但你单击finish的时候 dbca就会和其它的数据库创建事件一起创建sysaux表空间和它的schema 所有的种子数据库都有sysaux表空间 使用企业管理器启动控制台os> emctl start dbconsole访问数据库控制器 //hostname: /em要提供sys/passwd as sysdba;你要从一个客户端浏览器访问em 数据库控制器 必须要运行dbconsole进程 安装之后 dbconsole进程是自动会启动的 然后 如果这个集成没有启动 你可以向下面的命令行手工的启动它: 到$ORACLE_HOME/bin目录下 执行下面的命令: emctl start dbconsole这样你就可以打开web浏览器 输入下面的url ortnumber/em TARGET=//hostnameortnumber/em来访问em db control host那么是你的计算机的名字或地址 portnumber是em db control 的端口号 这是在安装的时候指定的 默认的是 你可以在$ORACLE_HOME/install/portlist ini文件中找到这个值 如果实例启动了 EM就会显示db control登录页 你必须使用授权访问db control的用户登录到数据库 一开始是sys用户 使用在安装的时候你确定的sys用户的密码 从connect as 下拉框选sysdba 然后点登录 这样就会出现db control的主页 数据库克隆在你成功的配置调整和测试新的实例之后 你也许需要克隆数据库到一个已有的oracle home 你可以使用em clone database向导来完成克隆 要克隆一个数据库 你可以到要克隆的数据库的维护页 然后在deployment区点击clone 数据库 克隆数据库工具有下列特性:克隆数据库可以从 或后来的版本可以在源数据库打开的时候进行克隆备份数据文件 把它copy到指定的oracle home下 然后通过备份的数据库文件和归档恢复数据库来创建新的数据库 新的数据库跟到备份开始的源数据库一模一样 在指定的oracle home下创建新的数据库实例 密码文件 设置网络文件 根据源实例配置创建初始化参数文件和spfile 然后启动新的实例到open模式 clone database工具是使用rman来完成数据库克隆的 metalink的集成oem G 通过内置的metalink集成大大简化了安装补丁 em会自动的警告你关键更新和系统需要指定补丁的标注 你可以使用em patch向导来看哪些临时补丁可以安装 你还可以使用patch向导来选择补丁和查看你的系统是否需要这个补丁 你可以直接从em看到补丁的详细信息已经readme 按照下面的步骤访问补丁向导 在db control主页选maintenance标签 在deployments区下面 lishixinzhi/Article/program/Oracle/201311/17212

目标数据库是指你要备份的那个数据库,恢复目录数据库是结合rman备份一起使用的

引入恢复目录数据库能更好的提高备份目标数据库时的安全性

原因是在使用rman备份的时候,如果不使用恢复目录数据库的话,那么备份所涉及到的信息,诸如备份集或备份片的信息会全部保存在目标数据库的控制文件里

这样的话,一旦控制文件损坏了

那么这里面所存放的rman备份的信息就很有可能丢失

引入里恢复目录数据库之后,备份的信息就会相应地保存到这个恢复目录数据库里

oracle的报错是从下往上看的,你看最后面ORA-01031: insufficient privileges,赤裸裸的权限不足, scott没有远程RMAN登录权限,

sqlplus / as sysdba

grant sysdba to scott;

exit

rman target scott/tiger@SERVERR56

这样百分百就能登录了,麻烦赏个分,点个赞也行,谢谢!

以上就是关于用rman,在oracle不同版本间作数据恢复,怎么弄全部的内容,包括:用rman,在oracle不同版本间作数据恢复,怎么弄、oracle 10g 新特性中文笔记一、什么是oracle恢复目录数据库,什么是目标数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10162098.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存