当前位置: 首页 > 图文教程 > 数据库 > Oracle > ORACLE 数据库RMAN备份恢复

Oracle
oracle sys_connect_by_path 函数 结果集连接
oracle join on 数据过滤问题
Oracle 当前用户下所有表的记录总数
oracle 树查询 语句
oracle 触发器 实现出入库
Oracle 函数大全
oracle 删除重复数据
ORACLE 最大连接数的问题
oracle 层次化查询(行政区划三级级联)
oracle 查询表名以及表的列名
Oracle 数据显示 横表转纵表
oracle 服务启动,关闭脚本(windows系统下)
ORCLE 表中列的修改
oracle 数据库连接分析
Oracle 实现类似SQL Server中自增字段的一个办法
Oracle 常用的SQL语句
Oracle 数组的学习 小知识也要积累,养成好的学习态度
Oracle 日期的一些简单使用
Oracle 数据库连接查询SQL语句
Oracle DBA常用语句

Oracle 中的 ORACLE 数据库RMAN备份恢复


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 40 ::
收藏到网摘: n/a

还原不同位置的数据库 机器A:
select instance_name from v$instance;
select name from v$database;
select name from v$datafile;
查询日志模式:
archive log list;
shutdown immediate;
startup mount;
把日志改为归档模式:
alter database archivelog;
alter database open;
alter system archive log current;
select name from v$archived_log;
打开控制文件跟踪:
alter database backup controlfile to trace;
查看跟踪文件位置:
show parameter user_dump_dest
cmd:
set oracle_sid=orcl
rman target sys/abc
host "md c:\back";
run
{
backup database;
format 'c:\back\%d_%s_%T_full.bak';
}
select file#,name from v$datafile;
传送以下文件到机器B:
c:\back
d:\oracle\product\10.2.0\admin\orcl
CREATE CONTROLFILE SET DATABASE "ORCL" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG' SIZE 50M,
GROUP 2 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG' SIZE 50M,
GROUP 3 'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
'E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\XM'
CHARACTER SET ZHS16GBK
机器B:
创建要恢复oracle的目录
e:\oracle\product\10.2.0\oradata\orcl
e:\oracle\product\10.2.0\admin
e:\oracle\product\10.2.0\falsh_recovery_area
把收到的文件夹orcl放到e:\oracle\product\10.2.0\admin
拷贝
e:\oracle\product\10.2.0\admin\orcl\pfile中的参数文件到自己真实数据库db_1\database文件夹中,并改名为initorcl.ora
打开initorcl.ora
把里面的路径改为真实oracle数据库的位置
d:\替换为e:\
cmd1:
set oracle_sid=orcl
oracle orcl
等到提示ctrl+c
cmd2:
set oracle_sid=orcl
sqlplus / as sysdba
startup nomount;
cmd3:
set oracle_sid=orcl
rman target sys/abc
restore controlfile from 'C:\back\ORCL_2_20090414_FULL.BAK';
cmd2:
alter database mount;
cmd3:
run{
set newname for datafile 1 to 'E:\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF';
set newname for datafile 2 to 'E:\oracle\product\10.2.0\oradata\orcl\UNDOTBS01.DBF';
set newname for datafile 3 to 'E:\oracle\product\10.2.0\oradata\orcl\SYSAUX01.DBF';
set newname for datafile 4 to 'E:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF';
set newname for datafile 5 to 'E:\oracle\product\10.2.0\oradata\orcl\XM';
restore database;
switch datafile all;
}
cmd2:
select name from v$database;
shutdown immediate;
startup mount;
alter database backup controlfile to trace;
找到跟踪文件:
重做控制文件:把里面的路径改为正确路径:
d:\改为 e:\
shutdown immediate;
startup nomount;
执行生成控制文件的语句;执行钱必须先删除.ctl的文件
alter database open resetlogs;
select name from v$database;
select member from v$logfile;