代码改变世界

snapshot standby database

  abce  阅读(477)  评论(0编辑  收藏  举报

快照备库接收和归档主库发送来的redo,但是不会应用;切换成physical standby之后会自动开启redo apply。
快照standby不可以参加主备切换;在最大保护性模式下,如果只有一个备库,则不可以将备库转成snapshot standby。

 

将Physical Standby Database转换成Snapshot Standby Database

1.停止redo apply

1
SQL> alter database recover managed standby database cancel;

2.确保数据是mounted状态,而不是open状态

1
2
3
4
5
6
7
SQL> select open_mode,database_role from v$database;
 
OPEN_MODE            DATABASE_ROLE
-------------------- ----------------
MOUNTED              PHYSICAL STANDBY
 
SQL>

3.确认已经创建好fast recovery area(不需要对数据库开启闪回)

1
2
3
4
5
6
7
SQL> show parameter db_recovery_file
 
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /s01/app/oracle/flash
db_recovery_file_dest_size           big integer 4G
SQL>

4.执行转换

1
2
3
4
5
6
7
8
9
10
11
SQL> alter database convert to snapshot standby ;
 
Database altered.
 
SQL> select open_mode,database_role from v$database;
 
OPEN_MODE            DATABASE_ROLE
-------------------- ----------------
MOUNTED              SNAPSHOT STANDBY
 
SQL>

5.将数据打开

1
2
3
4
5
6
7
8
9
10
11
12
SQL> alter database open;
 
Database altered.
 
#打开模式已经改变,但是角色不变
SQL> select open_mode,database_role from v$database;
 
OPEN_MODE            DATABASE_ROLE
-------------------- ----------------
READ WRITE           SNAPSHOT STANDBY
 
SQL>

 

 

将Snapshot Standby Database切换成Physical Standby Database

1.如果是RAC环境,要先关掉所有实例
2.将数据库启动到mount状态
3.执行切换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
SQL> select open_mode,database_role from v$database;
 
OPEN_MODE            DATABASE_ROLE
-------------------- ----------------
MOUNTED              SNAPSHOT STANDBY
 
SQL> alter database convert to physical standby;
 
Database altered.
 
#转换命令结束后,数据库会自动被dismounted,需要关闭重启数据库。
SQL> select open_mode,database_role from v$database;
select open_mode,database_role from v$database
                                    *
ERROR at line 1:
ORA-01507: database not mounted
 
 
SQL> startup mount
ORA-01081: cannot start already-running ORACLE - shut it down first
SQL> shutdown immediate
ORA-01507: database not mounted
 
 
ORACLE instance shut down.
SQL> startup mount
ORACLE instance started.
 
Total System Global Area  430075904 bytes
Fixed Size                  2253944 bytes
Variable Size             184552328 bytes
Database Buffers          239075328 bytes
Redo Buffers                4194304 bytes
Database mounted.
SQL>

 

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示