环境:RHEL 6.4 + Oracle 11.2.0.4

一、主备手工切换

二、重命名数据文件

Reference

一、主备手工切换

1.1 主库,切换成备库并启动到mount

1.1.1 查看主库状态
```
SQL> SELECT OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS FROM V$DATABASE;
```
1.1.2 切换到备库
```
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
```
1.1.3 启动到mount状态
```
SQL> STARTUP MOUNT
```

1.2 备库,切换成主库并启动到open

1.2.1 查看备库状态
```
SQL> SELECT OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS FROM V$DATABASE;
```
1.2.2 切换到主库
```
SQL> ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
```
1.2.3 数据库open
```
SQL> ALTER DATABASE OPEN;
```

1.3 新的备库启动日志应用

1.3.1 备库mount状态直接启动日志应用
```
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
```
1.3.2 备库切换到open状态,启用Real-time query
A physical standby database instance cannot be opened if Redo Apply is active on a mounted instance of that database. Use the following SQL statements to stop Redo Apply, open a standby instance read-only, and restart Redo Apply:
```
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
SQL> ALTER DATABASE OPEN;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT;
```

二、重命名数据文件

2.1 主库,对应的数据文件或者表空间offline

```
SQL> ALTER TABLESPACE DBS_D_JINGYU OFFLINE;
```

2.2 主库,操作系统层面重命名数据文件

```
$ mv /u01/oradata01/JINGYU/datafile/o1_mf_dbs_d_ji_byqy17ph_.dbf /u01/oradata01/JINGYU/datafile/DBS_D_JINGYU01.dbf
```

2.3 主库,重命名数据文件,表空间online

```
SQL> ALTER TABLESPACE DBS_D_JINGYU RENAME DATAFILE '/u01/oradata01/JINGYU/datafile/o1_mf_dbs_d_ji_byqy17ph_.dbf' TO '/u01/oradata01/JINGYU/datafile/DBS_D_JINGYU01.dbf';
SQL> ALTER TABLESPACE DBS_D_JINGYU ONLINE;
```

2.4 备库,停止redo应用

```
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
```

2.5 备库,关闭数据库

```
SQL> SHUTDOWN IMMEDIATE;
```

2.6 备库,操作系统层面重命名数据文件

```
$ mv /u01/oradata01/BOSTON/datafile/o1_mf_dbs_d_ji_22qjsbps_.dbf /u01/oradata01/BOSTON/datafile/DBS_D_JINGYU01.dbf
```

2.7 备库,启动到mount状态

```
SQL> STARTUP MOUNT
```

2.8 备库,重命名数据文件

2.8.1 需要先调整参数STANDBY_FILE_MANAGEMENT为MANUAL
否则重命名数据文件时会报错`ORA-01275: Operation RENAME is not allowed if standby file management is automatic.`
```
SQL> SHOW PARAMETER STANDBY_FILE_MANAGEMENT
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT = MANUAL;
```
2.8.2 重命名数据文件
```
SQL> ALTER DATABASE RENAME FILE '/u01/oradata01/BOSTON/datafile/o1_mf_dbs_d_ji_22qjsbps_.dbf' TO '/u01/oradata01/BOSTON/datafile/DBS_D_JINGYU01.dbf';
```
2.8.3 参数调整为AUTO
```
SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT = AUTO;
```

2.9 备库,重新启动redo应用

```
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
```

Reference

- Oracle® Data Guard Concepts and Administration 11g Release 2 (11.2)

最新文章

  1. ASP.NET MVC Routing、Areas、URLs
  2. bootstrap validate 实现页面动态验证(formvalidate)
  3. SQL Join的一些总结
  4. 【RobotFramework自动化测试】数据库值验证
  5. spring简单介绍
  6. Qt 5.7设置调试器
  7. 删除html元素
  8. spring和mybatis集成,自动生成model、mapper,增加mybatis分页功能
  9. 0020 Linux 文件操作命令
  10. RTX发送消息提醒实现以及注意事项
  11. 受限玻尔兹曼机(RBM)学习笔记(八)RBM 的评估
  12. SDL2.0的加载图片贴图
  13. 基于html5实现的愤怒的小鸟网页游戏
  14. 《Linux/Unix系统编程手册》读书笔记2
  15. telerik 控件 SCRIPT5007: 无法获取未定义或 null 引用的属性“documentElement” (IE 文档模式)
  16. windows搭建代理服务器
  17. webpack + vue
  18. Netty学习笔记(六) 简单的聊天室功能之WebSocket客户端开发实例
  19. 上海上传数据重复-sftp端口关闭
  20. Docker 安装和基础用法

热门文章

  1. .NET Core系列 : 2 、project.json 这葫芦里卖的什么药
  2. 探索ASP.NET MVC5系列之~~~2.视图篇(上)---包含XSS防御和异步分部视图的处理
  3. jq选择器基础
  4. asp.net mvc 验证码
  5. SSH框架和Redis的整合(2)
  6. 微信小程序的机会在于重新理解群组与二维码
  7. 如何为你的微信小程序体积瘦身?
  8. 一些关于Linux入侵应急响应的碎碎念
  9. 手动导入swift三方danielgindi/Charts到OC工程中教程
  10. Android Studio分类整理res/Layout中的布局文件(创建子目录)