nbu恢复oracle数据库案例分析

分类:编程技术 时间:2024-02-20 16:00 浏览:0 评论:0
0
今天给大家讲讲nbu恢复oracle数据库的案例分析。很多人可能对此还不是很了解。为了让大家更好的了解,小编为大家总结了以下内容。希望您能从本文中有所收获。

1.安装操作系统

2.安装数据库系统

3.安装nbu软件及配置

--安装客户端
上传SYMCnbclient_Linux-RedHat2.6.18_7.5.0.2.tar
编辑本地主机

vi / etc/hosts

添加:192.168.99.252 hdnbu1

解压:

[root@scmtest u01]# tar -xvf SYMCnbclient_Linux-RedHat2.6.18_7.5.0 .2.tar

[root@scmtest u01]# cd SYMCnbclient_Linux-RedHat2.6.18_7.5.0.2

[root@scmtest SYMCnbclient_Linux-RedHat2.6.18_7.5.0.2 ]# ./install

过程中输入备份服务器:hdnbu1

然后以oracle用户执行:
[root@scmtest bin]# su - oracle
[oracle@scmtest ~]$ cd /usr/openv/ netbackup/bin
[oracle@scmtest bin]$ ./oracle_link
Thu 2013年2月21日14:03:02 CST
运行此脚本之前应关闭所有Oracle实例。

请以Oracle所有者身份登录Unix系统来运行此脚本

你想继续吗? (y/n) [n] y


LIBOBK 路径:/usr/openv/netbackup/bin
ORACLE_HOME:/software/oracle/product/10.2.0/db1< br/>Oracle版本:10.2.0.5.0
平台类型:x86_64
链接LIBOBK:
ln - s /usr/openv/netbackup/bin/libobk.so64 /software/oracle/ Product/10.2.0/db1/lib/libobk.so
完成

请检查位于/tmp/make_trace.23602的跟踪文件
以确保链接过程成功.

4.编辑初始参数文件

这时候需要进行修改,比如原来的是什么盘,现在用什么盘等等。

编辑完后就是如下:
*._addm_auto_enable=FALSE
*._b_tree_bitmap_plans=FALSE
*._db_block_numa=1
*._enable_NUMA_optimization=FALSE
*._optimizer_cartesian_enabled=FALSE
/>*。_optimizer_skip_scan_enabled=FALSE
*.archive_lag_target=1800
*.audit_file_dest='/software/oracle/admin/ncerp/ adump'
*.background_dump_dest='/software/oracle/admin/ncerp/ bdump'
*.兼容='10.2.0.5.0'
*.control_files='/u01/ncerp /control/control01.ctl','/u01/ncerp/control/control02.ctl'
*.core_dump_dest='/software/oracle/admin/ncerp/cdump'
*.db_block_size=8192
*.db_cache_size=4294967296
*.db_create_file_dest='/u01/ ncerp/flash_recover'
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ncerp'
*.java_pool_size=33554432
*.job_queue_processes =10
*.large_pool_size=33554432
*.log_archive_dest_1 ='location=/u01/ncerp/arch'
*.log_archive_format='%s_%t_%r.log'
*.max_dump_file_size='1024'
*.open_cursors=1000
*.optimizer_dynamic_sampling=4
*.optimizer_index_cost_adj=40
*.parallel_max_servers=5
*. pga_aggregate_target=2147483648
*.processes=800
*. recyclebin='OFF'
*.shared_pool_size=838860800
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'

5.根据参数文件,构建对应的目录

[oracle@scmtest ~]$ mkdir -p /u01/ncerp/control/
[oracle@scmtest u01]$ mkdir -p /app/ oracle/admin/ncerp/ cdump
[oracle@scmtest u01]$ mkdir -p /app/oracle/admin/ncerp/bdump
[oracle@scmtest u01]$ mkdir -p /app/oracle/ admin/ncerp/adump
[oracle@scmtest u01]$ mkdir -p /app/oracle/admin/ncerp/pfile
[oracle@scmtest u01]$ mkdir -p /u01/ncerp/flash_recover< br/>[oracle@scmtest u01]$ mkdir -p /u01/ncerp/arch
[oracle@scmtest ncerp]$ mkdir oradata

注意:这些必须和参数文件对应,否则它无法启动!

6.恢复控制文件

导出 ORACLE_SID=ncerp

[oracle@scmtest u01]$ rman target /

恢复管理器:版本 10.2.0.5.0 - 生产于2013 年 2 月 21 日星期四 14:17:10

版权所有 (c) 1982, 2007,Oracle。保留所有权利。

连接到目标数据库(未启动)

RMAN>startup nomount pfile='/u01/ncpfile.ora';

Oracle 实例已启动

系统全局区域总计 5217714176 字节

固定大小               2103536 字节
可变大小               nbsp; 905971472 字节
数据库缓冲区 4294967296 字节
重做缓冲区 14671872 字节

查询要从 nbu 服务器恢复的控制文件
hdnbu1:/tmp # bplist -C RD162 - t 4 -R -b -l / |更多 -rw-rw- --- oracle dba 11010048 Mar 28 11:25 /c-2177845250-20130328-0d
-rw-rw---- oracle dba 10747904 Mar 28 11:25 /cntrl_9202_1_ 811250475
-rw-rw- --- oracledba 10747904 Mar 28 11:25 /cntrl_7788_1_811250456
-rw-rw---- oracle dba 10747904 Mar 28 11:25 /c-3383507379-20130328 -0a
-rw-rw---- oracle dba 11010048 三月 28 11:24 /c-2177845250-20130328-0c
-rw-rw---- oracle dba 114032640 三月 28 11:17 /al_7786_1_811249961
-rw-rw---- oracle dba 123207680 3月28日11:17 /al_7785_1_811249961
-rw-rw---- oracle dba 3670016 3月28日11:17 /al_9200_1_811249960
-rw-rw---- oracle dba3932160 3月28日11:17 /al_9199_1_811249959
-rw-rw---- oracle dba 11010048 3月28日09:25 /c-2177845250-20130328-0b< br/>-rw-r w---- oracle dba 10747904 Mar 28 09:25 /c-3383507379-20130328-09
-rw-rw---- oracle dba 10747904 Mar 28 09:25 /cntrl_9197_1_811243259
-rw-r w---- oracle dba 10747904 Mar 28 09:25 /cntrl_7783_1_811243253

RMAN> run
2> {
3> 分配通道 c1 类型'sbt_tape';
4> 发送 'NB_ORA_CLIENT=RD162';
5> 从 '/cntrl_24145_1_828414748' 恢复控制文件;
6> 释放通道 c1;
7> }

使用目标数据库控制文件而不是恢复目录
分配通道:c1
通道 c1:sid=874 devtype=SBT_TAPE
通道 c1:Veritas NetBackup for Oracle - 版本 7.5 (2012050902 )

向通道c1发送命令

2013-03-28 12:41:30开始恢复

通道c1:恢复控制文件
通道c1:恢复完成,运行时间:00:05:16
输出文件名=/u02/ncerp/control/control01.ctl
output filename=/u02/ncerp/control/control02.ctl
于2013-03-28 12:46:47完成恢复

发布通道:c1

7。恢复数据库文件

这里需要检查数据库是否已经挂载

SQL> select status from v $instance;

STATUS
- -----------
已安装

RMAN>运行{
分配通道ch00类型'SBT_TAPE';
发送'NB_ORA_CLIENT=RD162';
将数据文件“/backup/ncerp/oradata/system01.dbf”的新名称设置为“/u02/ncerp/oradata/system01.dbf”;
将数据文件“/backup/ncerp/oradata/system02.dbf”的新名称设置为“/u02/ncerp/oradata/system02.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_index03_1.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_index03_1.dbf”;
将数据文件“/backup/ncerp/oradata/undotbs1.dbf”的新名称设置为“/u02/ncerp/oradata/undotbs1.dbf”;
将数据文件“/backup/ncerp/oradata/sysaux01​​.dbf”的新名称设置为“/u02/ncerp/oradata/sysaux01​​.dbf”;
为数据文件'/backup/ncerp设置新名称/oradata/users01.dbf' 到 '/u02/ncerp/oradata/users01.dbf ' ;
将数据文件“/backup/ncerp/oradata/nnc_data01_1.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_data01_1.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data01_2.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_data01_2.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data01_3.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_data01_3.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data01_4.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_data01_4.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data02_1.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_data02_1.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data02_2.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_data02_2.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data03_1.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_data03_1.dbf”;
将数据文件'/backup/ncerp/oradata/nnc_data03_2.dbf'的新名称设置为'/u02/ncerp/oradata/nnc_data03_2.dbf';
为da设置新名称tafile '/backup/ncerp/oradata/nnc_data03_3.dbf' 到 '/u02/ncerp/oradata/nnc_data03_3.dbf' ;
将数据文件“/backup/ncerp/oradata/nnc_data03_4.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_data03_4.dbf”;
将数据文件'/backup/ncerp/oradata/nnc_index02_1.dbf'的新名称设置为'/u02/ncerp/oradata/nnc_index02_1.dbf';
将数据文件“/backup/ncerp/oradata/nnc_index01_1.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_index01_1.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_index01_2.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_index01_2.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_index01_3.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_index01_3.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_index01_4.dbf”的新名称设置为“/u02/ncerp/oradata/nnc_index01_4.dbf”;
将数据文件“/backup/ncerp/oradata/iufo01.dbf”的新名称设置为“/u02/ncerp/oradata/iufo01.dbf”;
将数据文件“/backup/ncerp/oradata/iufo02.dbf”的新名称设置为“/u02/ncerp/oradata/iufo02.dbf”;
设置ne数据文件“/backup/ncerp/oradata/nnc_data03_5.dbf”的 wname 为“/u02 /ncerp/oradata/nnc_data03_5.dbf”;
恢复数据库;
全部切换数据文件;
}                                                                                       = ncerp
rman target / <run {
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
send 'NB_ORA_CLIENT=RD162';
为数据文件'/设置新名称备份/ncerp/oradata/system01.dbf'到'/u01/ncerp/oradata/system01.dbf';
将数据文件“/backup/ncerp/oradata/system02.dbf”的新名称设置为“/u01/ncerp/oradata/system02.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_index03_1.dbf”的新名称设置为“/u01 /ncerp/oradata/nnc_index03_1.dbf”;
将数据文件“/backup/ncerp/oradata/”的新名称设置undotbs1.dbf' 到 '/u01/ncerp/oradata/undotbs1.dbf';
将数据文件“/backup/ncerp/oradata/sysaux01​​.dbf”的新名称设置为“/u01/ncerp/oradata/sysaux01​​.dbf”;
将数据文件“/backup/ncerp/oradata/users01.dbf”的新名称设置为“/u01/ncerp/oradata/users01.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data01_1.dbf”的新名称设置为“/u01/ncerp/oradata/nnc_data01_1.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data01_2.dbf”的新名称设置为“/u01/ncerp/oradata/nnc_data01_2.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data01_3.dbf”的新名称设置为“/u01/ncerp/oradata/nnc_data01_3 .dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data01_4.dbf”的新名称设置为“/u01/ncerp/oradata/nnc_data01_4.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data02_1.dbf”的新名称设置为“/u01/ncerp/oradata/nnc_data02_1.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data02_2.dbf”的新名称设置为“/u01/ncerp/oradata /nnc_data02_2.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data03_1.dbf”的新名称设置为“/u01/ncerp/oradata/nnc_data03_1.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data03_2.dbf”的新名称设置为“/u01/ncerp/oradata/nnc_data03_2.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data03_3.dbf”的新名称设置为“/u01/ncerp /oradata/”nnc_data03_3.dbf';
将数据文件“/backup/ncerp/oradata/nnc_data03_4.dbf”的新名称设置为“/u01/ncerp/oradata/nnc_data03_4.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_index02_1.dbf”的新名称设置为“/u01/ncerp/oradata/nnc_index02_1.dbf”;
将数据文件“/backup/ncerp/oradata/”的新名称设置nnc_index01_1.dbf' 为 '/u01/ ncerp/oradata/nnc_index01_1.dbf';
将数据文件 '/backup/ncerp/oradata/nnc_index01_2.dbf' 的新名称设置为 '/u01/ncerp/oradata/nnc_index01_2.dbf ';
将数据文件'/backup/ncerp/oradata/nnc_index01_3.dbf'的新名称设置为'/u01/ncerp/oradata/nnc_index01_3.dbf';
将数据文件'/backup/ncerp/的新名称设置为'/backup/ncerp/ oradata/nnc_index01_4.dbf' to '/u01/ncerp/oradata/nnc_index01_4.dbf';
将数据文件'/backup/ncerp/oradata/iufo01.dbf'的新名称设置为'/u01/ncerp/oradata/iufo01 .dbf';
将数据文件“/backup/ncerp/oradata/iufo02.dbf”的新名称设置为“/u01/ncerp/oradata/iufo02.dbf”;
将数据文件“/backup/ncerp/oradata/nnc_data03_5.dbf”的新名称设置为“/u01/ncerp”/oradata/nnc_data03_5.dbf';
恢复数据库;
切换所有数据文件;
RELEASE CHANNEL ch00;
}
退出
EOF
日期

[oracle@scmtest u01]$ nohup ./res_test.sh > testlog.log &

8.恢复归档日志

SQL> select max(SEQUENCE#) from v$archived_log;

MAX(SEQUENCE#)
----------------
                        3651 

SQL> select * from (选择状态,SEQUENCE#,COMPLETION_TIME 来自 v$archived_log 其中 SEQUENCE# >= 5485 order by SEQUENCE# desc) where rownum <=30;

S SEQUENCE# COMPLETION_TIME
- ------- --- -------------------
D 5485 2013- 03-28 11:12:40

跑步
{
将归档日志目标设置为“/u02/ncerp/arch”;
分配通道 ch00 类型“SBT_TAPE”;
发送“NB_ORA_CLIENT=RD162”;
恢复 5463 之间的归档日志序列和 5486 线程 1;
RELEASE CHANNEL ch00;
}
     
执行恢复测试
SQL> 使用备份控制文件恢复数据库,直到取消;
ORA- 00279:更改 86837184 生成于03/28/2013 01:55:53 需要线程 1
ORA-00289:建议:/u02/ ncerp/arch/5464_1_800011778.log
ORA-00280:线程 1 的更改 86837184 已按顺序排列#5464


指定日志:{=建议 |文件名 |自动 | CANCEL}
auto
ORA-00308: 无法打开归档日志 '/u02/ncerp/arch/5464_1_800011778.log'
ORA-27037: 无法获取文件状态
Linux- x86_64错误:2:没有这样的文件或目录
其他信息:3


ORA-00308:无法打开存档日志'/u02/ncerp/arch/5464_1_800011778.log'< br/>ORA-27037:无法获取文件状态
Linux-x86_64错误:2:没有这样的文件或目录
其他信息:3


ORA-01547 :警告:恢复成功,但 OPEN RESETLOGS 会出现以下错误
ORA-01152:文件 1 未从足够旧的备份中恢复
ORA-01110:数据文件 1:' /u02/ncerp/oradata/ system01.dbf'

指令需要3556个归档日志
所以恢复时就从这个日志恢复!

你可以lso 使用后台操作
export ORACLE_SID=ncerp
rman target /
run
{
将归档日志目标设置为'/u01/ncerp/arch';
ALLOCATE CHANNEL ch00 TYPE 'SBT_TAPE';
发送'NB_ORA_CLIENT=RD162';
恢复3556和3562线程1之间的归档日志序列;
RELEASE CHANNEL ch00;
}

9.数据库恢复


SQL> ALTER DATABASE RENAME FILE '/backup/ncerp/redo/redo01.log' TO '/u02/ncerp/redo/redo01.log';
SQL > ALTER DATABASE RENAME FILE '/backup/ncerp/redo/redo02.log' TO '/u02/ncerp/redo/redo02.log';
SQL> ALTER DATABASE RENAME FILE '/backup/ncerp/redo/redo03 .log' TO '/u02/ncerp/redo/redo03.log';
SQL> ALTER DATABASE RENAME FILE '/backup/ncerp/redo/redo04.log' TO '/u02/ncerp/redo/redo04. log';
SQL> ALTER DATABASE RENAME FILE '/backup/ncerp/redo/redo05.log' TO '/u02/ncerp/redo/redo05.log';
SQL> ALTER DATABASE RENAME FILE ' /backup/ncerp/redo/redo06.log' TO '/u02/ncerp/redo/redo06.log';

SQL> 使用备份c恢复数据库ontrolfile 直到取消;
ORA-00279:线程需要更改于 01/10/2013 21:58:37 生成的 2418426514
1
ORA-00289:建议:/u03/app/oracle /oradata/arch/1052_1_800727819.log
ORA-00280:线程 1 的更改 2418426514 位于序列 #1052


指定日志:{=suggested |文件名 |自动 |取消}
自动

SQL> 使用备份控制文件恢复数据库,直到取消;
ORA-00279:线程需要在 01/11/2013 09:50:06 生成的更改 2418716975< br/>1
ORA-00289:建议:/u03/app/oracle/oradata/arch/1070_1_800727819.log
ORA-00280:线程1的更改2418716975按顺序#1070


指定日志:{=建议 |文件名 |自动 | CANCEL}
取消

说明,如果上面的日志可能有点大,我们需要进行调整,比如删除日志组等,然后重新添加日志到新位置

10.打开数据库

SQL>alterdatabaseopenresetlogs;
,您对nbu恢复oracle数据库的案例分析有进一步的了解了吗?如果您想了解更多知识或相关内容,请关注行业资讯频道。感谢您的支持。

1. 本站所有资源来源于用户上传或网络,仅作为参考研究使用,如有侵权请邮件联系站长!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > nbu恢复oracle数据库案例分析

用户评论