Oracle DataGuard 之--Physical DG转换Logical DG

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

Oracle DataGuard 之--Physical DG转换Logical DG

一、Physical DG和Logical DG

    Physical Standby使用的是Media Recovery 技术,在数据块级别进行恢复,这种方式没有数据类型的限制,可以保证两个数据库完全一致。 Physical Standby数据库只能在Mount 状态下进行恢复,也可以是打开,但只能已只读方式打开,并且打开时不能执行恢复操作。

Logical Standby使用的是Logminer 技术,通过把日志内容还原成SQL 语句,然后SQL引擎执行这些语句,Logminer Standby不支持所有数据类型,可以在视图DBA_LOGSTDBY_UNSUPPORTED 中查看不支持的数据类型,如果使用了这种数据类型,则不能保证数据库完全一致。LogicalStandby数据库可以在恢复的同时进行读写操作

wKiom1MyrGjCbWdJAACcmubaZx8060.jpg

二、物理备库升级逻辑备库准备

1) 确认主库包含逻辑STANDBY支持的表和数据类型 

1、 逻辑STANDBY支持的数据类型: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
CHAR
NCHAR
VARCHAR2  and  VARCHAR
NVARCHAR2
NUMBER
DATE
TIMESTAMP
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONE
INTERVAL YEAR TO MONTH
INTERVAL DAY TO SECOND
RAW
CLOB
BLOB

2、逻辑STANDBY不支持的数据类型:NCLOB, LONG, LONG RAW, BFILE, ROWID, and UROWID
3、逻辑STANDBY不支持的表和序列: 

1
2
3
4
5
Tables  and  sequences  in  the SYS schema
Tables  with  unsupported datatypes
Tables used to support functional indexes
Tables used to support materialized views
Global temporary tables

逻辑STANDBY不支持的表和列可以通过视图dba_logstdby_unsupported来查询: 

SELECT * FROM DBA_LOGSTDBY_UNSUPPORTED; 

4、逻辑STANDBY不支持的SQL语句操作: 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
ALTER DATABASE 
ALTER SESSION 
ALTER SNAPSHOT 
ALTER SNAPSHOT LOG 
ALTER SYSTEM SWITCH LOG 
CREATE CONTROL FILE 
CREATE DATABASE 
CREATE DATABASE LINK 
CREATE PFILE FROM SPFILE 
CREATE SCHEMA AUTHORIZATION 
CREATE SNAPSHOT 
CREATE SNAPSHOT LOG 
CREATE SPFILE FROM PFILE 
CREATE TABLE AS SELECT FROM A CLUSTER TABLE 
DROP DATABASE LINK 
DROP SNAPSHOT 
DROP SNAPSHOT LOG 
EXPLAIN 
LOCK TABLE 
RENAME 
SET CONSTRAINTS 
SET ROLE 
SET TRANSACTION

2)通过物理备库升级到逻辑备库

1、查看数据库角色

16:03:27 SYS@ prod>select name,database_role from v$database;

NAME      DATABASE_ROLE
--------- ----------------
PROD      PRIMARY

Elapsed: 00:00:00.01

------在logical standby 包含不支持的数据库类型而无法复制的表

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
11:50:13 SYS@ prod> select  distinct owner,table_name from dba_logstdby_unsupported;
OWNER                          TABLE_NAME
------------------------------ ------------------------------
PM                             ONLINE_MEDIA
IX                             AQ$_ORDERS_QUEUETABLE_H
IX                             AQ$_STREAMS_QUEUE_TABLE_T
IX                             AQ$_STREAMS_QUEUE_TABLE_G
OE                             CATEGORIES_TAB
OE                             CUSTOMERS
IX                             ORDERS_QUEUETABLE
IX                             AQ$_STREAMS_QUEUE_TABLE_C
IX                             AQ$_ORDERS_QUEUETABLE_I
IX                             STREAMS_QUEUE_TABLE
IX                             AQ$_STREAMS_QUEUE_TABLE_H
OE                             WAREHOUSES
IX                             AQ$_ORDERS_QUEUETABLE_G
IX                             AQ$_ORDERS_QUEUETABLE_S
IX                             AQ$_ORDERS_QUEUETABLE_L
IX                             AQ$_STREAMS_QUEUE_TABLE_I
PM                             PRINT_MEDIA
OWNER                          TABLE_NAME
------------------------------ ------------------------------
IX                             AQ$_STREAMS_QUEUE_TABLE_L
IX                             AQ$_STREAMS_QUEUE_TABLE_S
OE                             PURCHASEORDER
SH                             DIMENSION_EXCEPTIONS
IX                             AQ$_ORDERS_QUEUETABLE_T
22 rows selected.
Elapsed: 00:00:00.85


11:50:26 SYS@ prod>select owner,table_name from logstdby_unsupported_tables;

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
OWNER                          TABLE_NAME
------------------------------ ------------------------------
IX                             ORDERS_QUEUETABLE
IX                             AQ$_ORDERS_QUEUETABLE_S
IX                             AQ$_ORDERS_QUEUETABLE_T
IX                             AQ$_ORDERS_QUEUETABLE_H
IX                             AQ$_ORDERS_QUEUETABLE_L
IX                             AQ$_ORDERS_QUEUETABLE_G
IX                             AQ$_ORDERS_QUEUETABLE_I
IX                             STREAMS_QUEUE_TABLE
IX                             AQ$_STREAMS_QUEUE_TABLE_S
IX                             AQ$_STREAMS_QUEUE_TABLE_T
IX                             AQ$_STREAMS_QUEUE_TABLE_H
IX                             AQ$_STREAMS_QUEUE_TABLE_L
PM                             ONLINE_MEDIA
PM                             PRINT_MEDIA
OE                             CUSTOMERS
OE                             WAREHOUSES
IX                             AQ$_STREAMS_QUEUE_TABLE_G
OWNER                          TABLE_NAME
------------------------------ ------------------------------
IX                             AQ$_STREAMS_QUEUE_TABLE_I
IX                             AQ$_STREAMS_QUEUE_TABLE_C
OE                             PURCHASEORDER
SH                             DIMENSION_EXCEPTIONSOE                             CATEGORIES_TAB
22  rows selected.

2、在主库上启动补充日志

1
2
3
4
5
6
7
8
9
10
11
12
16 : 03 : 39  SYS@ prod>SELECT SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI FROM V$DATABASE;
SUP SUP
--- ---
NO  NO
  
SYS@ prod>alter database add supplemental log data(primary key,unique index) columns;
Database altered.
 
SYS@ prod>SELECT SUPPLEMENTAL_LOG_DATA_PK, SUPPLEMENTAL_LOG_DATA_UI FROM V$DATABASE;
SUP SUP
--- ---
YES YES

3、为logmnr 建立专用的表空间

1
2
3
4
5
6
16 : 09 : 08  SYS@ prod>create tablespace logmnrtbs  16 : 09 : 37   
2   datafile  '/u01/app/oracle/oradata/prod/logmnrtbs1.dbf'  size 100m;
Tablespace created.
 
SYS@ prod>execute dbms_logmnr_d.set_tablespace( 'logmnrtbs' );
PL/SQL procedure successfully completed.

16:10:37 SYS@ prod>

4、在redo日志里加入logmnr数据字典

16:13:41 SYS@ prod>execute dbms_logstdby.build;

PL/SQL procedure successfully completed.

Elapsed: 00:00:11.01
16:14:06 SYS@ prod>

------告警日志

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
alter database recover to logical standby gzdb
Media Recovery Start: Managed Standby Recovery (gz)
Serial Media Recovery started
Managed Standby Recovery not using Real Time Apply
Media Recovery Waiting  for  thread  1  sequence  52
Mon Nov  04  16 : 18 : 06  2013
RFS[ 2 ]: Assigned to RFS process  4041
RFS[ 2 ]: Identified database type as  'physical standby' : Client is LGWR ASYNC pid  4250
Primary database is in MAXIMUM PERFORMANCE mode
RFS[ 2 ]: Opened log  for  thread  1  sequence  52  dbid  242121299  branch  830282966
Archived Log entry  12  added  for  thread  1  sequence  52  rlc  830282966  ID  0xe741ed4  dest  2 :
RFS[ 2 ]: Opened log  for  thread  1  sequence  53  dbid  242121299  branch  830282966
Mon Nov  04  16 : 18 : 11  2013
RFS[ 3 ]: Assigned to RFS process  4043
RFS[ 3 ]: Identified database type as  'physical standby' : Client is ARCH pid  4244
Mon Nov  04  16 : 18 : 16  2013
Media Recovery Log /dsk4/arch_gz/arch_1_52_830282966.log
Media Recovery Waiting  for  thread  1  sequence  53  (in transit)

5、在物理备库上,转换为逻辑备库(mount)

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
36
37
38
39
40
41
42
43
44
45
46
(没有使用spfile ,所以提示关库后要修改db_name 参数)
16 : 38 : 14  SYS@ gz>alter database recover to logical standby gzdb parallel  20 ;
alter database recover to logical standby gzdb parallel  20
*ERROR  at  line  1 :ORA -16254 : change db_name to GZDB  in  the client-side parameter file (pfile)
  
SYS@ gz>create spfile  from  pfile;
File created.
 
-------没有修改db_name ,instance 启动失败
16 : 41 : 28  SYS@ gz>startup force mount;
ORACLE instance started.
Total System Global Area   418484224  bytes
Fixed Size                   1336932  bytes
Variable Size              255855004  bytes
Database Buffers           155189248  bytes
Redo Buffers                 6103040  bytes
ORA -01103 : database name  'GZDB'  in  control file is  not  'PROD'
 
16 : 41 : 42  SYS@ gz>show parameter name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                  string      /u01/app/oracle/oradata/prod,/u01/app/oracle/oradata/gzdb_name     
                                       string      PRODdb_unique_name                                            string      gzglobal_names                                                boolean     FALSEinstance_name      
                                       string      gzlock_name_space                      stringlog_file_name_convert                
                                       string      /dsk1/oradata/bj, /dsk1/oradata/gz, /dsk2/oradata/bj, /dsk2/oradata/gzservice_names                        
                                       string      gz
                                    
SYS@ gz>show parameter spfile
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/ 11.2. 0 /db_1/dbs/spfilegz.ora
16 : 44 : 18  SYS@ gz>alter system set db_name= 'gzdb' ;
alter system set db_name= 'gzdb'                
  *ERROR  at  line  1 :ORA -02095 : specified initialization parameter cannot be modified
 
SYS@ gz>alter system set db_name= 'gzdb'  scope=spfile;
System altered.
  
SYS@ gz>startup force mount;
ORACLE instance started.
Total System Global Area   418484224  bytes
Fixed Size                   1336932  bytes
Variable Size              255855004  bytes
Database Buffers           155189248  bytes
Redo Buffers                 6103040  bytes
Database mounted.


7、验证

1
2
3
4
16 : 45 : 09  SYS@ gz>select name,database_role  from  v$database;
NAME      DATABASE_ROLE
--------- ----------------
GZDB      LOGICAL STANDBY

8、第一次打开逻辑备库

16:46:28 SYS@ gz>alter database open resetlogs;

Database altered.

Elapsed: 00:00:12.31

告警日志:

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
alter database open resetlogs
RESETLOGS  after  complete recovery through change 1022856
Errors  in file /u01/app/oracle/diag/rdbms/gz/gz/trace/gz_ora_4377.trc:
ORA -00367: checksum error in log file header
ORA -00305: log 1  of  thread 1 inconsistent; belongs to another database
ORA -00312: online log 1 thread 1:  '/dsk1/oradata/gz/redo01a.log'
Mon  Nov  04  16:47 :22 2013
Errors  in file /u01/app/oracle/diag/rdbms/gz/gz/trace/gz_m000_4388.trc:
ORA -00305: log 1  of  thread 1 inconsistent; belongs to another database
ORA -00312: online log 1 thread 1:  '/dsk2/oradata/gz/redo01b.log'
ORA -00316: log 1  of  thread 1, type 0 in header is  not  log file
ORA -00312: online log 1 thread 1:  '/dsk1/oradata/gz/redo01a.log'
Errors  in file /u01/app/oracle/diag/rdbms/gz/gz/trace/gz_ora_4377.trc:
ORA -00367: checksum error in log file header
ORA -00305: log 2  of  thread 1 inconsistent; belongs to another database
ORA -00312: online log 2 thread 1:  '/dsk1/oradata/gz/redo02a.log'
Errors  in file /u01/app/oracle/diag/rdbms/gz/gz/trace/gz_ora_4377.trc:
ORA -00367: checksum error in log file header
ORA -00305: log 3  of  thread 1 inconsistent; belongs to another database
ORA -00312: online log 3 thread 1:  '/dsk1/oradata/gz/redo03a.log'
Errors  in file /u01/app/oracle/diag/rdbms/gz/gz/trace/gz_m000_4388.trc:
ORA -00316: log 2  of  thread 1, type 0 in header is  not  log file
ORA -00312: online log 2 thread 1:  '/dsk2/oradata/gz/redo02b.log'
ORA -00316: log 2  of  thread 1, type 0 in header is  not  log file
ORA -00312: online log 2 thread 1:  '/dsk1/oradata/gz/redo02a.log'
Errors  in file /u01/app/oracle/diag/rdbms/gz/gz/trace/gz_m000_4388.trc:
ORA -00316: log 3  of  thread 1, type 0 in header is  not  log file
ORA -00312: online log 3 thread 1:  '/dsk2/oradata/gz/redo03b.log'
ORA -00316: log 3  of  thread 1, type 0 in header is  not  log file
ORA -00312: online log 3 thread 1:  '/dsk1/oradata/gz/redo03a.log'
Checker  run found 16 new persistent data failures
Mon  Nov  04  16:47 :27 2013
Setting  recovery target incarnation to 2
Mon  Nov  04  16:47 :27 2013
Assigning  activation  ID  2995054481 (0xb284e791)
LGWR STARTING  ARCH  PROCESSES
Mon  Nov  04  16:47 :27 2013
ARC0  started with pid=19,  OS  id=4393 
ARC0 Archival  started
LGWR STARTING  ARCH  PROCESSES  COMPLETE
Thread  1 opened at log sequence 1
   Current  log# 1 seq# 1 mem# 0: /dsk1/oradata/gz/redo01a.log
   Current  log# 1 seq# 1 mem# 1: /dsk2/oradata/gz/redo01b.log
Successful  open  of  redo thread 1
MTTR  advisory is disabled because  FAST_START_MTTR_TARGET  is  not  set
ARC0 STARTING  ARCH  PROCESSES
Mon  Nov  04  16:47 :28 2013
SMON : enabling cache recovery
Mon  Nov  04  16:47 :28 2013
ARC1  started with pid=20,  OS  id=4395 
ARC1 Archival  started
ARC1 Becoming  the  'no FAL'  ARCH
ARC1 Becoming  the  'no SRL'  ARCH
Mon  Nov  04  16:47 :28 2013
ARC2  started with pid=21,  OS  id=4397 
Mon  Nov  04  16:47 :28 2013
NSA2  started with pid=22,  OS  id=4399 
Successfully  onlined  Undo  Tablespace  2.
Dictionary  check beginning
Dictionary  check complete
Verifying  file header compatibility for 11g tablespace encryption..
Verifying  11g file header compatibility for tablespace encryption completed
SMON : enabling tx recovery
Database  Characterset  is  ZHS16GBK
ARC2 Archival  started
ARC0 STARTING  ARCH  PROCESSES  COMPLETE
ARC0 Becoming  the heartbeat  ARCH
Thread  1 advanced to log sequence 2 ( LGWR  switch)
   Current  log# 2 seq# 2 mem# 0: /dsk1/oradata/gz/redo02a.log
   Current  log# 2 seq# 2 mem# 1: /dsk2/oradata/gz/redo02b.log
Archived  Log  entry 1 added for thread 1 sequence 1  ID  0xb284e791 dest 1:
Mon  Nov  04  16:47 :31 2013
No  Resource  Manager  plan active
Mon  Nov  04  16:47 :32 2013
RFS [4]:  Assigned  to  RFS  process 4401
RFS [4]:  Identified  database type as  'logical standby' Client  is  ARCH  pid 4788
replication_dependency_tracking turned off (no async multimaster replication found)
Starting  background process  QMNC
Mon  Nov  04  16:47 :33 2013
QMNC  started with pid=18,  OS  id=4403 
LOGSTDBY Validating  controlfile with logical metadata
LOGSTDBY Validation  skipped -- detected logical instantiation
LOGSTDBY Validation  complete
LOGSTDBY : skipping logfile pre-registration due to in-progress instantiation
Global  Name  changed to  GZDB
Completed : alter database open resetlogs
Mon  Nov  04  16:47 :34 2013
RFS [5]:  Assigned  to  RFS  process 4405
RFS [5]:  Identified  database type as  'logical standby' Client  is  LGWR  ASYNC  pid 4794
Primary  database is in  MAXIMUM  PERFORMANCE  mode
RFS [5]:  Opened  log for thread 1 sequence 60 dbid 242121299 branch 830282966
RFS [5]:  Opened  log for thread 1 sequence 61 dbid 242121299 branch 830282966
Mon  Nov  04  16:47 :39 2013
Starting  background process  CJQ0
Mon  Nov  04  16:47 :39 2013
CJQ0  started with pid=28,  OS  id=4417

9、启动redo log 应用 

(必须在备库端添加standby redo log)

16:47:33 SYS@ gz>alter database start logical standby apply immediate;
alter database start logical standby apply immediate

*
ERROR at line 1:
ORA-16239: IMMEDIATE option not available without standby redo logs

Elapsed: 00:00:00.09

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
16:49 :56  SYS @ gz>alter database add standby logfile   
2   '/dsk1/oradata/gz/std_redo01a.log'  size 50m;
Database  altered.
Elapsed 00:00 :01. 7116:50 :56 
SYS @ gz>alter database add standby logfile 
2   '/dsk1/oradata/gz/std_redo02a.log'  size 50m;
Database  altered.
  SYS @ gz>alter database add standby logfile 
  2   '/dsk1/oradata/gz/std_redo03a.log'  size 50m;
Database  altered.
SYS @ gz>alter database add standby logfile   
2   '/dsk1/oradata/gz/std_redo04a.log'  size 50m;
Database  altered.
 
16:51 :45  SYS @ gz>alter database start logical standby apply immediate;
Database  altered.

告警日志:

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
alter database start logical standby apply immediate
ORA -16239 signalled during: alter database start logical standby apply immediate...
Mon  Nov  04  16:50 :55 2013
alter database add standby logfile
'/dsk1/oradata/gz/std_redo01a.log'  size 50m
Completed : alter database add standby logfile
'/dsk1/oradata/gz/std_redo01a.log'  size 50m
Mon  Nov  04  16:51 :11 2013
alter database add standby logfile
'/dsk1/oradata/gz/std_redo02a.log'  size 50m
Completed : alter database add standby logfile
'/dsk1/oradata/gz/std_redo02a.log'  size 50m
Mon  Nov  04  16:51 :26 2013
alter database add standby logfile
'/dsk1/oradata/gz/std_redo03a.log'  size 50m
Completed : alter database add standby logfile
'/dsk1/oradata/gz/std_redo03a.log'  size 50m
Mon  Nov  04  16:51 :44 2013
alter database add standby logfile
'/dsk1/oradata/gz/std_redo04a.log'  size 50m
Completed : alter database add standby logfile
'/dsk1/oradata/gz/std_redo04a.log'  size 50m
alter database start logical standby apply immediate
LOGSTDBY Creating  new session for dbid 242121299 starting at scn 0x0000.00000000
LOGSTDBY Created  session  of  id 1
LOGSTDBY Attempting  to pre-register dictionary build logfiles
LOGMINER Error  308 encountered, failed to read  logfile arch_1_57_830282966.log
LOGMINER Encountered  error 1291 while adding logfile arch_1_57_830282966.log to session 1
LOGSTDBY Unable  to register recovery logfiles, will resend
ALTER  DATABASE  START  LOGICAL  STANDBY  APPLY  (gz)
with optional part
IMMEDIATE
Attempt  to start background  Logical  Standby  process
Mon  Nov  04  16:51 :51 2013
LSP0  started with pid=27,  OS  id=4433 
Completed : alter database start logical standby apply immediate
LOGMINER Parameters  summary for session# = 1
LOGMINER Number  of  processes = 3,  Transaction  Chunk  Size  = 201
LOGMINER Memory  Size  = 30M,  Checkpoint  interval = 150M
LOGMINER SpillScn  0,  ResetLogScn  0
Mon  Nov  04  16:52 :03 2013
RFS [6]:  Opened  log for thread 1 sequence 57 dbid 242121299 branch 830282966
Mon  Nov  04  16:52 :03 2013
RFS [7]:  Assigned  to  RFS  process 4435
RFS [7]:  Identified  database type as  'logical standby' Client  is  ARCH  pid 4792
RFS [7]:  Opened  log for thread 1 sequence 58 dbid 242121299 branch 830282966
Mon  Nov  04  16:52 :04 2013
LOGMINER : summary for session# = 1
LOGMINER StartScn : 1022094 (0x0000.000f988e)
LOGMINER EndScn : 0 (0x0000.00000000)
LOGMINER HighConsumedScn : 1022854 (0x0000.000f9b86)
LOGMINER : session_flag 0x1
RFS  LogMiner Registered  logfile [/dsk4/arch_gz/arch_1_58_830282966.log] to  LogMiner  session id [1]
RFS [7]:  Opened  log for thread 1 sequence 59 dbid 242121299 branch 830282966
RFS  LogMiner Registered  logfile [/dsk4/arch_gz/arch_1_57_830282966.log] to  LogMiner  session id [1]
RFS  LogMiner Registered  logfile [/dsk4/arch_gz/arch_1_59_830282966.log] to  LogMiner  session id [1]
RFS [6]:  Opened  log for thread 1 sequence 60 dbid 242121299 branch 830282966
Mon  Nov  04  16:52 :04 2013
LOGMINER : session#=1, reader  MS00  pid=30  OS  id=4437 sid=39 started
RFS  LogMiner Registered  logfile [/dsk4/arch_gz/arch_1_60_830282966.log] to  LogMiner  session id [1]
RFS  LogMiner RFS  id [4423] assigned as thread [1]  PING  handler
Mon  Nov  04  16:52 :04 2013
LOGMINER : session#=1, builder  MS01  pid=31  OS  id=4439 sid=37 started
Mon  Nov  04  16:52 :04 2013
LOGMINER : session#=1, preparer  MS02  pid=32  OS  id=4441 sid=40 started
LOGMINER Turning  ON  Log  Auto  Delete
LOGMINER Begin  mining logfile during dictionary load for session 1 thread 1 sequence 57, /dsk4/arch_gz/arch_1_57_830282966.log
Mon  Nov  04  16:52 :11 2013
Thread  1 advanced to log sequence 3 ( LGWR  switch)
   Current  log# 3 seq# 3 mem# 0: /dsk1/oradata/gz/redo03a.log
   Current  log# 3 seq# 3 mem# 1: /dsk2/oradata/gz/redo03b.log
Mon  Nov  04  16:52 :13 2013
Archived  Log  entry 2 added for thread 1 sequence 2  ID  0xb284e791 dest 1:
Thread  1 advanced to log sequence 4 ( LGWR  switch)
   Current  log# 1 seq# 4 mem# 0: /dsk1/oradata/gz/redo01a.log
   Current  log# 1 seq# 4 mem# 1: /dsk2/oradata/gz/redo01b.log
Mon  Nov  04  16:52 :20 2013
Archived  Log  entry 3 added for thread 1 sequence 3  ID  0xb284e791 dest 1:
Mon  Nov  04  16:52 :21 2013
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_TAB $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_TS $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_OBJ $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_IND $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_ICOL $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_COL $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_USER $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_CDEF $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_CCOL $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_LOB $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_PROPS $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_ENC $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_COLTYPE $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_SUBCOLTYPE $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_ATTRCOL $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_TYPE $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_ATTRIBUTE $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_NTAB $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_REFCON $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_OPQTYPE $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_KOPM $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_PARTOBJ $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_TABPART $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_INDPART $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_TABSUBPART $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_INDSUBPART $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_TABCOMPART $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_INDCOMPART $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_LOBFRAG $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_LOGMNR_BUILDLOG  have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_SEED $ have been marked unusable
Some  indexes  or  index [sub]partitions  of  table  SYSTEM . LOGMNR_DICTIONARY $ have been marked unusable
Indexes  of  table   SYSTEM . LOGMNR_ATTRCOL $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_ATTRIBUTE $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_CCOL $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_CDEF $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_COL $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_COLTYPE $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_DICTIONARY $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_ENC $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_ICOL $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_IND $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_INDCOMPART $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_INDPART $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_INDSUBPART $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_KOPM $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_LOB $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_LOBFRAG $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_LOGMNR_BUILDLOG  have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_NTAB $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_OBJ $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_OPQTYPE $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_PARTOBJ $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_PROPS $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_REFCON $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_SEED $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_SUBCOLTYPE $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_TAB $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_TABCOMPART $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_TABPART $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_TABSUBPART $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_TS $ have been rebuilt  and  are now usable
Mon  Nov  04  16:52 :24 2013
Thread  1 cannot allocate new log, sequence 5
Checkpoint  not  complete
   Current  log# 1 seq# 4 mem# 0: /dsk1/oradata/gz/redo01a.log
   Current  log# 1 seq# 4 mem# 1: /dsk2/oradata/gz/redo01b.log
Indexes  of  table   SYSTEM . LOGMNR_TYPE $ have been rebuilt  and  are now usable
Indexes  of  table   SYSTEM . LOGMNR_USER $ have been rebuilt  and  are now usable
Thread  1 advanced to log sequence 5 ( LGWR  switch)
   Current  log# 2 seq# 5 mem# 0: /dsk1/oradata/gz/redo02a.log
   Current  log# 2 seq# 5 mem# 1: /dsk2/oradata/gz/redo02b.log
Mon  Nov  04  16:52 :28 2013
Archived  Log  entry 4 added for thread 1 sequence 4  ID  0xb284e791 dest 1:
Mon  Nov  04  16:52 :37 2013
Starting  background process  SMCO
Mon  Nov  04  16:52 :37 2013
SMCO  started with pid=33,  OS  id=4445 
Mon  Nov  04  16:52 :52 2013
LOGMINER End  mining logfiles during dictionary load for session 1
Mon  Nov  04  16:52 :53 2013
LSP2  started with pid=35,  OS  id=4449 
Mon  Nov  04  16:52 :54 2013
LOGMINER Turning  ON  Log  Auto  Delete
LOGMINER Begin  mining logfile for session 1 thread 1 sequence 57, /dsk4/arch_gz/arch_1_57_830282966.log
Mon  Nov  04  16:52 :54 2013
LOGSTDBY  Analyzer  process  AS00  started with server id=0 pid=36  OS  id=4451
LOGMINER End    mining logfile for session 1 thread 1 sequence 57, /dsk4/arch_gz/arch_1_57_830282966.log
LOGMINER Begin  mining logfile for session 1 thread 1 sequence 58, /dsk4/arch_gz/arch_1_58_830

10、在备库上做DML操作

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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
16:56:54 SCOTT@ gz> delete  from emp1;
delete  from emp1            
*ERROR  at line 1:ORA-16224: Database Guard is enabled
 
SCOTT@ gz>insert into emp1  select  * from emp1;
insert into emp1  select  * from emp1            
*ERROR  at line 1:ORA-16224: Database Guard is enabled
 
SCOTT@ gz> delete  from emp where empno=7788;
delete  from emp where empno=7788            
*ERROR  at line 1:ORA-16224: Database Guard is enabled
 
SCOTT@ gz>alter session disable guard;
ERROR:ORA-01031: insufficient privileges
 
SCOTT@ gz>conn /as sysdba
Connected.
16:59:40 SYS@ gz>grant alter session to scott;
Grant succeeded.
 
SYS@ gz>conn scott/tiger
Connected.16:59:52 
SCOTT@ gz>alter session disable guard;
ERROR:ORA-01031: insufficient privileges
 
SCOTT@ gz>conn /as sysdba
Connected.
17:00:08 SYS@ gz> delete  from scott.emp1;
14 rows deleted.
 
17:00:22 SYS@ gz>rollback;
Rollback complete.
Elapsed: 00:00:00.00
-----默认复制过来的table ,受到保护
17:00:30 SYS@ gz>alter database guard none;
Database altered.
 
17:01:11 SYS@ gz>conn scott/tiger
Connected.
17:01:16 SCOTT@ gz> delete  from emp1;
14 rows deleted.
 
17:01:21 SCOTT@ gz>rollback;
Rollback complete.
 
17:01:26 SCOTT@ gz>
------启用数据保护
17:02:29 SYS@ gz>alter database guard standby;
Database altered.
 
11、查看数据库信息
16:14:10 SYS@ prod> select  name,dbid from v $database ;
NAME            DBID
--------- ----------
PROD       242121299
 
16:13:57 SYS@ gz> select  name,dbid from v $database ;
NAME            DBID
--------- ----------
GZDB      2995013534


关于logical standy上的DDL/DML修改

   在logical standby环境下,备库基本上是一个独立的库,如果要在备库,以非sys用户对备库的数据进行DML修改,就会报错 ora-16224

au10qapap0tels2:ARS2AP:/opt/app/oracle/admin>  oerr ora 16224 
16224, 00000, "Database Guard is enabled"
// *Cause: Operation could not be performed because database guard is enabled
// *Action: Verify operation is correct and disable database guard
我们需要在备库做一些操作,以避免报错。

检查备库状态,我们发现是处于standby状态:

1
2
3
4
5
6
7
8
9
10
11
SQL> select guard_status from v$database;
GUARD_S
-------
STANDBY
改其状态为none:
SQL> alter database guard none;
Database altered。
SQL> select guard_status from v$database;
GUARD_S
-------
NONE

修改回standby状态:

alter database guard standby;
在standby或all状态下,所有非sys用户,都无法对logical standby的数据进行修改,关于alter database guard [standby|all|none] 几个参数的解释如下:

ALTER DATABASE GUARD ALL - prevents users making any changes - DEFAULT
ALTER DATABASE GUARD STANDBY - prevents users making changes to data maintained by data guard sql apply,即对DBMS_LOGSTDBY.SKIP 跳过的表可进行DML操作,而其他需要SQL APPLY的对象都不能进行变更操作。
ALTER DATABASE GUARD NONE - normal security

在逻辑备库上转换数据库保护模式(最大保护转换为最大性能)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[oracle@bj dbs]$ sqlplus  '/as sysdba'
SQL*Plus: Release  11.2. 0.1. 0  Production  on  Tue Nov  5  11 : 41 : 46  2013
Copyright (c)  1982 2009 , Oracle.  All rights reserved.
Connected to an idle instance.
11 : 41 : 46  SYS@ prod>startup 
ORACLE instance started.
Total System Global Area   418484224  bytes
Fixed Size                   1336932  bytes
Variable Size              310380956  bytes
Database Buffers           100663296  bytes
Redo Buffers                 6103040  bytes
Database mounted.
ORA -03113 : end-of-file  on  communication channel
Process ID:  4617
Session ID:  1  Serial number:  5

告警日志:

1
2
3
4
5
6
7
8
9
10
LGWR Minimum  of  1 synchronous standby database required
ARC0 STARTING  ARCH  PROCESSES
Errors  in file /u01/app/oracle/diag/rdbms/bj/prod/trace/prod_lgwr_4579.trc:
ORA -16072: a minimum  of  one standby database destination is required
Errors  in file /u01/app/oracle/diag/rdbms/bj/prod/trace/prod_lgwr_4579.trc:
ORA -16072: a minimum  of  one standby database destination is required
LGWR  (ospid: 4579): terminating the instance due to error 16072
Tue  Nov  05  11:42 :14 2013
ARC1  started with pid=19,  OS  id=4621 
Instance  terminated by  LGWR , pid = 4579
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[oracle@bj dbs]$ sqlplus '/as sysdba'
SQL*Plus: Release 11.2.0.1.0 Production on Tue Nov 5 11:43:15 2013
Copyright (c) 1982, 2009, Oracle.  All rights reserved.
Connected to an idle instance.
11:43:15 SYS@ prod>startup mount;
ORACLE instance started.
Total System Global Area  418484224 bytes
Fixed Size                  1336932 bytes
Variable Size             310380956 bytes
Database Buffers          100663296 bytes
Redo Buffers                6103040 bytes
Database mounted.
11:43:23 SYS@ prod>show parameter name
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string      /u01/app/oracle/oradata/gz, /u01/app/oracle/oradata/proddb_name                              
                                      string      proddb_unique_name                                            string      bjglobal_names                                                boolean     FALSEinstance_name                                            string      prodlock_name_space                                           string      log_file_name_convert                                         string      /dsk1/oradata/gz, /dsk1/oradata/bj, /dsk2/oradata/gz, /dsk2/oradata/bjservice_names                                                     string      bj
11:43:34 SYS@ prod>select name,protection_mode from v$database;
NAME      PROTECTION_MODE
--------- --------------------
PROD      MAXIMUM PROTECTION
 
11:44:27 SYS@ prod>alter database set standby to maximize performance;
Database altered.

告警日志:

1
2
3
4
5
6
7
ALTER DATABASE   MOUNTSuccessful mount of redo thread 1, with mount id 242545239
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: ALTER DATABASE   MOUNT
Tue Nov 05 11:44:44 2013
alter database set standby to maximize performance
Completed: alter database set standby to maximize performance

11:44:49 SYS@ prod>alter database open;

Database altered.

Elapsed: 00:00:01.82
11:44:56 SYS@ prod>


11:44:56 SYS@ prod>select name,database_role ,protection_mode from v$database;

NAME      DATABASE_ROLE    PROTECTION_MODE
--------- ---------------- --------------------
PROD      PRIMARY          MAXIMUM PERFORMANCE

Elapsed: 00:00:00.01
11:48:28 SYS@ prod>


11:42:07 SYS@ gz>select name,database_role ,protection_mode from v$database;

NAME      DATABASE_ROLE    PROTECTION_MODE
--------- ---------------- --------------------
GZDB      LOGICAL STANDBY  MAXIMUM PERFORMANCE

 

转换中的注意事项:

 

1、转换过程客户端连接主库失败

主库:
alter system set log_archive_dest_2='service=gz lgwr async VALID_FOR=(all_LOGFILES,all_ROLES) DB_UNIQUE_NAME=gz' scope=spfile;

备库:
alter system set log_archive_dest_2='service=bj lgwr async VALID_FOR=(all_LOGFILES,all_ROLES) DB_UNIQUE_NAME=bj' scope=spfile;

16:38:14 SYS@ sh>alter database recover to logical standby gzdb parallel 20;

告警日志出现以下提示:

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
alter database recover to logical standby shdb parallel 20
Media Recovery Start: Managed Standby Recovery (gzdb)
  started logmerger process
Wed Mar 26 03:55:18 2014
Managed Standby Recovery not using Real Time Apply
Parallel Media Recovery started with 20 slaves
Media Recovery Waiting for thread 1 sequence 58 (in transit)
Wed Mar 26 03:59:36 2014
PING[ARC0]: Heartbeat failed to connect to standby 'bjdb'. Error is 16009.
Wed Mar 26 04:00:36 2014
PING[ARC0]: Heartbeat failed to connect to standby 'bjdb'. Error is 16009.
Wed Mar 26 04:01:36 2014
PING[ARC0]: Heartbeat failed to connect to standby 'bjdb'. Error is 16009.
Wed Mar 26 04:02:36 2014
PING[ARC0]: Heartbeat failed to connect to standby 'bjdb'. Error is 16009.
Wed Mar 26 04:03:36 2014
PING[ARC0]: Heartbeat failed to connect to standby 'bjdb'. Error is 16009.
Wed Mar 26 04:04:36 2014
PING[ARC0]: Heartbeat failed to connect to standby 'bjdb'. Error is 16009.
Wed Mar 26 04:05:36 2014
PING[ARC0]: Heartbeat failed to connect to standby 'bjdb'. Error is 16009.
Wed Mar 26 04:06:36 2014
PING[ARC0]: Heartbeat failed to connect to standby 'bjdb'. Error is 16009.
Wed Mar 26 04:07:36 2014
PING[ARC0]: Heartbeat failed to connect to standby 'bjdb'. Error is 16009.
修改归档参数:

主库:
alter system set log_archive_dest_2='service=gz lgwr async VALID_FOR=(online_LOGFILES,primary_ROLES) DB_UNIQUE_NAME=gz' scope=spfile;

备库:
alter system set log_archive_dest_2='service=bj lgwr async VALID_FOR=(online_LOGFILES,primary_ROLES) DB_UNIQUE_NAME=bj' scope=spfile;


2、转换长时间停顿:

16:38:14 SYS@ sh>alter database recover to logical standby shdb parallel 20;

alter database recover to logical standby shdb 

1
2
3
4
5
6
7
8
9
Media Recovery Start: Managed Standby Recovery (sh)
Serial Media Recovery started
Managed Standby Recovery not using Real Time Apply
Media Recovery Waiting  for  thread  1  sequence  80  (in transit)
Wed Mar  26  17 : 47 : 56  2014
Archived Log entry  83  added  for  thread  1  sequence  80  ID  0xf3390b1  dest  1 :
Wed Mar  26  17 : 47 : 57  2014
Media Recovery Log /disk2/arch_sh/arch_1_80_830192161.log
Media Recovery Waiting  for  thread  1  sequence  81


解决方法:

在主库端再次执行:

17:47:38 SYS@ prod>execute dbms_logstdby.build;

PL/SQL procedure successfully completed.

告警日志:

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
36
37
38
39
40
41
42
43
44
45
Wed  Mar  26  17:47 :57 2014
RFS [2]:  Selected  log 4 for thread 1 sequence 81 dbid 242030492 branch 830192161
Wed  Mar  26  17:48 :17 2014
RFS [2]:  Selected  log 5 for thread 1 sequence 82 dbid 242030492 branch 830192161
Wed  Mar  26  17:48 :21 2014
Archived  Log  entry 84 added for thread 1 sequence 81  ID  0xf3390b1 dest 1:
Wed  Mar  26  17:48 :22 2014
Media  Recovery  Log  /disk2/arch_sh/arch_1_81_830192161.log
Media  Recovery  Waiting  for thread 1 sequence 82 (in transit)
Wed  Mar  26  17:48 :30 2014
Archived  Log  entry 85 added for thread 1 sequence 82  ID  0xf3390b1 dest 1:
Wed  Mar  26  17:48 :30 2014
RFS [2]:  Selected  log 4 for thread 1 sequence 83 dbid 242030492 branch 830192161
Wed  Mar  26  17:48 :32 2014
Media  Recovery  Log  /disk2/arch_sh/arch_1_82_830192161.log
Incomplete  Recovery  applied until change 939571 time 03/26/2014  17:48 :17
Media  Recovery  Complete  (sh)
krsv_proc_kill:  Killing  2 processes (all  RFS )
Begin Standby  Redo  Logfile  archival
End Standby  Redo  Logfile  archival
RESETLOGS  after  incomplete recovery  UNTIL  CHANGE  939571
Resetting  resetlogs activation  ID  255037617 (0xf3390b1)
Online  log /disk1/oradata/sh/redo01a.log:  Thread  Group  1 was previously cleared
Online  log /disk2/oradata/sh/redo01b.log:  Thread  Group  1 was previously cleared
Online  log /disk1/oradata/sh/redo02a.log:  Thread  Group  2 was previously cleared
Online  log /disk2/oradata/sh/redo02b.log:  Thread  Group  2 was previously cleared
Online  log /disk1/oradata/sh/redo03a.log:  Thread  Group  3 was previously cleared
Online  log /disk2/oradata/sh/redo03b.log:  Thread  Group  3 was previously cleared
Standby  became primary  SCN : 939569
Wed  Mar  26  17:48 :33 2014
Setting  recovery target incarnation to 3
RECOVER  TO  LOGICAL  STANDBY Complete  Database  shutdown required  after  NID  finishes
***  DBNEWID  utility started ***
DBID  will be changed from 242030492 to new  DBID  of  1674782321 for database  PROD
DBNAME  will be changed from  PROD  to new  DBNAME  of  SHDB
Starting  datafile conversion
Datafile  conversion complete
Database  name changed to  SHDB .
Modify  parameter file  and  generate a new password file before restarting.
Database  ID  for database  SHDB  changed to 1674782321.
All  previous backups  and  archived redo logs for this database are unusable.
Database  has been shutdown, open with  RESETLOGS  option.
Succesfully  changed database name  and  ID .
***  DBNEWID  utility finished succesfully ***
Completed : alter database recover to logical standby shdb










本文转自 客居天涯 51CTO博客,原文链接:http://blog.51cto.com/tiany/1384698,如需转载请自行联系原作者
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
4月前
|
Oracle 关系型数据库 数据库
手把手教你Oracle DataGuard主备切换(switchover)
手把手教你Oracle DataGuard主备切换(switchover)
636 4
|
7月前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
4月前
|
Oracle 网络协议 安全
Oracle 11g DataGuard搭建保姆级教程
Oracle 11g DataGuard搭建保姆级教程
266 4
|
4月前
|
Oracle 网络协议 关系型数据库
Oracle DataGuard主备切换之自动切换
Oracle DataGuard主备切换之自动切换
205 2
|
4月前
|
Oracle 关系型数据库 数据库连接
初步了解Oracle DG
初步了解Oracle DG
152 0
|
7月前
|
Oracle 安全 关系型数据库
Oracle数据守卫(DG):数据的“守护者”与“时光机”
【4月更文挑战第19天】Oracle Data Guard保障数据安全,通过实时维护备库实现故障切换,保证业务连续性。它使用日志传输和应用保持数据同步,如同“时光机”,借助闪回技术能恢复误操作数据。此外,它还提供数据压缩、加密和故障转移等功能,提升数据库安全性与性能。作为数据管理员,理解并善用Data Guard是确保企业数据安全的关键。
|
7月前
|
Oracle 关系型数据库
oracle 19c 搭建dataguard 简要命令
通过service 完成dg 搭建。
176 0
|
Oracle 关系型数据库 数据库
Flink CDC中oracle dataguard模式下,有没有cdc备库的方案?
Flink CDC中oracle dataguard模式下,有没有cdc备库的方案?
193 1
|
Oracle 网络协议 关系型数据库
Oracle11g DataGuard部署与维护
DataGuard是Oracle高可用必备技能。