DBLOG
» WTF
Toggle navigation
DBLOG
主页
1、用户
2、各种方案
3、备份恢复
4、表空间相关
5、OGG
6、文件管理
7、常见故障分析
8、DG
9、集群相关
About Me
归档
标签
无
2025-08-29 00:50:15
3
0
0
admin
[TOC] ### 一、配置 NBU 允许异机恢复 1. **创建配置目录**: ```bash mkdir /usr/openv/netbackup/db/altnames ``` 2. **进入目录并创建文件**: ```bash cd /usr/openv/netbackup/db/altnames touch No.Restrictions ``` 3. **验证文件创建**: ```bash ls # 应显示 No.Restrictions 文件 ``` ### 二、使用 bplist 命令验证配置 - **执行 bplist 命令**(注意替换主机名): ```bash cd /usr/openv/netbackup/bin ./bplist -C ora19c -t 4 -R -l / ``` - **正常输出示例**: 如果配置正确,您将看到备份文件列表,类似于: ``` -rw-rw---- oracle oinstall 12845056 Nov 21 20:31 /c-606172501-20241121-03 ... ``` - **如果出现错误**: ``` EXIT STATUS 135: client is not validated to perform the requested operation ``` 表示您需要检查 `No.Restrictions` 文件的创建是否成功。 ### 三、使用 RMAN 恢复数据库步骤 1. **设置 Oracle SID 并连接 RMAN**: ```bash export ORACLE_SID=s19c rman target / ``` 2. **启动到 nomount 状态**: ```sql RMAN> startup nomount; ``` 3. **恢复 SPFILE**: ```sql RMAN> run { ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64'; SEND 'NB_ORA_SERV=ora19c,NB_ORA_CLIENT=ora19c'; restore spfile from '/c-606172501-20241120-04'; RELEASE CHANNEL ch01; } ``` 4. **恢复控制文件**: ```sql RMAN> run { ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64'; SEND 'NB_ORA_SERV=ora19c,NB_ORA_CLIENT=ora19c'; restore controlfile from '/cntrl_81_1_1185568130'; RELEASE CHANNEL ch01; } ``` 5. **启动数据库到 mount 状态**: ```sql RMAN> alter database mount; ``` ### 四、恢复数据库 #### 数据路径与原库相同的情况 ```sql RMAN> run { ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64'; ALLOCATE CHANNEL ch02 TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64'; SEND 'NB_ORA_SERV=ora19c,NB_ORA_CLIENT=ora19c'; set until time "to_date('2024-11-19 21:00:00','yyyy-mm-dd hh24:mi:ss')"; restore database; recover database; release channel ch01; release channel ch02; } ``` #### 数据路径与原库不同的情况 1. **设置新路径**: ```sql RMAN> run { ALLOCATE CHANNEL ch01 TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64'; ALLOCATE CHANNEL ch02 TYPE 'SBT_TAPE' PARMS 'SBT_LIBRARY=/usr/openv/netbackup/bin/libobk.so64'; SEND 'NB_ORA_SERV=ora19c,NB_ORA_CLIENT=ora19c'; set newname for datafile 1 to '/data/S19C/system01.dbf'; set newname for datafile 3 to '/data/S19C/sysaux01.dbf'; set newname for datafile 4 to '/data/S19C/undotbs01.dbf'; set newname for datafile 7 to '/data/S19C/users01.dbf'; set newname for tempfile 1 to '/data/S19C/temp01.dbf'; set until time "to_date('2024-11-18 21:00:00','yyyy-mm-dd hh24:mi:ss')"; restore database; switch datafile all; switch tempfile all; recover database; release channel ch01; release channel ch02; } ``` ### 五、打开数据库 1. **重命名重做日志文件**(如果路径发生变化): ```sql ALTER DATABASE RENAME FILE '/oradata/S19C/redo01.log' TO '/data/S19C/redo01.log'; ALTER DATABASE RENAME FILE '/oradata/S19C/redo02.log' TO '/data/S19C/redo02.log'; ALTER DATABASE RENAME FILE '/oradata/S19C/redo03.log' TO '/data/S19C/redo03.log'; ``` 2. **打开数据库**: ```sql ALTER DATABASE OPEN RESETLOGS; ``` ### 注意事项 - 确保在执行恢复前,相关目录已创建好,并具备适当的权限。 - 根据实际环境调整 `NB_ORA_SERV` 和 `NB_ORA_CLIENT` 设置,以确保它们指向正确的主机名。 - 监控恢复过程中的错误信息,并根据需要进行调整。
上一篇:
下一篇:
0
赞
3 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网