DG逻辑备库的创建

逻辑备库的创建:

在已有的“主库+物理备库”架构下,为其新增一个逻辑备库。
下面采用的是先创建物理备库,再从物理备库转化为逻辑备库的方式创建的。

配置为:

主库:
IP: 192.168.219.20
主机名:node1
ORACLE_SID=dbpri
ORACLE_BASE=/opt/ora10g
ORACLE_HOME=/opt/ora10g/product/10.2.0/db_1


逻辑备库:
IP: 192.168.219.132
主机名:node3
ORACLE_SID=dblstd
ORACLE_BASE=/opt/ora10g
ORACLE_HOME=/opt/ora10g/product/10.2.0/db_1

==================================================================================

准备工作:

可以先将物理备库dbstd关闭。
当再次启动物理备库,并执行alter system recover managed standby database disconnect from session时,会自动应用缺失的日志。


1.node3是从node2复制而来。将数据文件、日志文件、参数文件等统统删除,再将网卡eth0重新设置,并设置/etc/hosts、/etc/sysconfig/network即可。


2.修改node3的.bash_profile中oracle_sid为dblstd


3.确定存在所有必需的目录,以便存放以下的备份文件
将node1的参数文件、密码文件、数据文件、standby redo log、拷贝到node3

scp /opt/ora10g/oradata/dbpri/redo01.log       node3:/opt/ora10g/oradata/dbpri/                                                                                               
scp /opt/ora10g/oradata/dbpri/redo02.log       node3:/opt/ora10g/oradata/dbpri/                                                                                               
scp /opt/ora10g/oradata/dbpri/redo03.log       node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/oradata/dbpri/stdbyredo01.log  node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/oradata/dbpri/stdbyredo02.log  node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/oradata/dbpri/stdbyredo03.log  node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/oradata/dbpri/stdbyredo04.log  node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/oradata/dbpri/sysaux01.dbf     node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/oradata/dbpri/system01.dbf     node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/oradata/dbpri/temp01.dbf       node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/oradata/dbpri/undotbs01.dbf    node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/oradata/dbpri/users01.dbf      node3:/opt/ora10g/oradata/dbpri/
scp /opt/ora10g/product/10.2.0/db_1/dbs/dbstd.ctl    node3:/opt/ora10g/oradata/dbpri/control01.ctl
scp /opt/ora10g/product/10.2.0/db_1/dbs/dbstd.ctl    node3:/opt/ora10g/oradata/dbpri/control02.ctl
scp /opt/ora10g/product/10.2.0/db_1/dbs/orapwdbpri node3:/opt/ora10g/product/10.2.0/db_1/dbs/orapwdblstd        
scp /opt/ora10g/product/10.2.0/db_1/dbs/initdbpri.ora  node3:/opt/ora10g/product/10.2.0/db_1/dbs/initdblstd.ora
                 
4.修改tnsnames.ora、listener.ora
cd /opt/ora10g/product/10.2.0/db_1/network/admin
scp listener.ora node2:/opt/ora10g/product/10.2.0/db_1/network/admin/
scp tnsnames.ora node2:/opt/ora10g/product/10.2.0/db_1/network/admin/

listener.ora可以用netca重建,tnsnames可以在node2复制的基础上增加

5.修改节点1、2、3的参数文件

create spfile from pfile='/opt/ora10g/product/10.2.0/db_1/dbs/initdbpri.ora';
create spfile from pfile='/opt/ora10g/product/10.2.0/db_1/dbs/initdbstd.ora';
create spfile from pfile='/opt/ora10g/product/10.2.0/db_1/dbs/initdblstd.ora';


备注信息:
==================================================================================
(1)pfile:(只列出相关的设置,由于三个节点上的目录是完全一致的,所以未设置log_file_name_convert、db_file_name_convert参数)


[oracle@node1 dbs]$ more initdbpri.ora 
dbpri.__db_cache_size=276824064
…………
*.fal_server='dbstd','dblstd'
*.log_archive_config='dg_config=(dbpri,dbstd,dblstd)'
*.log_archive_dest_1='location=/opt/ora10g/archive valid_for=(all_logfiles,all_roles)  db_unique_name=dbpri'
*.log_archive_dest_2='service=dbstd async valid_for=(online_logfiles,primary_role)  db_unique_name=dbstd'
*.log_archive_dest_3='service=dblstd async valid_for=(online_logfiles,primary_role) db_unique_name=dblstd'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_dest_state_3='enable'
…………




[oracle@node2 ~]$ more /opt/ora10g/product/10.2.0/db_1/dbs/initdbstd.ora 
………………
*.db_unique_name='dbstd'
………………
*.log_archive_config='dg_config=(dbpri,dbstd)'
*.log_archive_dest_1='location=/opt/ora10g/archive valid_for=(all_logfiles,all_roles)  db_unique_name=dbstd'
*.log_archive_dest_2='service=dbpri async valid_for=(online_logfiles,primary_role)  db_unique_name=dbpri'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
………………


这里完全是当时忘记改了。但只要主节点没问题,其实node2上可以不用设置的。


[oracle@node3 archive]$ more /opt/ora10g/product/10.2.0/db_1/dbs/initdblstd.ora 
dbpri.__db_cache_size=281018368
dbpri.__java_pool_size=4194304
dbpri.__large_pool_size=4194304
dbpri.__oracle_base='/opt/ora10g'#ORACLE_BASE set from environment
dbpri.__pga_aggregate_target=297795584
dbpri.__sga_target=444596224
dbpri.__shared_io_pool_size=0
dbpri.__shared_pool_size=146800640
dbpri.__streams_pool_size=0
*.audit_file_dest='/opt/ora10g/admin/dbpri/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/opt/ora10g/oradata/dbpri/control01.ctl','/opt/ora10g/oradata/dbpri/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='dbpri'
*.db_recovery_file_dest='/opt/ora10g/flash_recovery_area'
*.db_recovery_file_dest_size=4039114752
*.db_unique_name='dblstd'
*.diagnostic_dest='/opt/ora10g'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=dbpriXDB)'
*.fal_server='dbpri','dbstd'
*.log_archive_config='dg_config=(dbpri,dbstd,dblstd)'
*.log_archive_dest_1='location=/opt/ora10g/archive valid_for=(all_logfiles,all_roles)  db_unique_name=dblstd'
*.log_archive_dest_2='service=dbstd async valid_for=(online_logfiles,primary_role)  db_unique_name=dbstd'
*.log_archive_dest_3='service=dbpri async valid_for=(online_logfiles,primary_role) db_unique_name=dbpri'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_dest_state_3='enable'
*.log_archive_format='%t_%s_%r.arc'
*.memory_target=741343232
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.standby_file_management='auto'
*.undo_tablespace='UNDOTBS1'


知道了第一个物理备库的设置,第二个其实就没啥困难了。不过实际操作的时候监听多次出现问题。最后也没改啥参数,重启了两次就可以了。
这里要注意:
1)如果是在虚拟机上通过复制来创建的node3,要修改的内容除了/etc/sysconfig/network、/etc/sysconfig/network-script/ifcfg-eth0,还有/etc/hosts.
应该在三个节点的ip和名称都对应起来,在node1、node2、node3主机上设置,并设置ssh同步,以方便操作。
2)我在创建时主要关注alert日志和node3的归档目录下有没有自动同步归档日志。分析alert日志通常是解决问题的源头。


==================================================================================

以下将物理备库转化为逻辑备库

1)停止redo应用。主库的redo日志不应该被应用到逻辑备库上,否则相当于同一个操作做了两次啦!(redo一次,逻辑备库再自动执行一遍转化的sql)
停止方法:
(在物理备库dblstd上执行)alter database recover managed standby database cancel; 

告警日志会显示:
alter database recover managed standby database cancel
Mon Apr 14 15:15:05 2014
MRP0: Background Media Recovery cancelled with status 16037
Errors in file /opt/ora10g/diag/rdbms/dblstd/dblstd/trace/dblstd_mrp0_5263.trc:
ORA-16037: user requested cancel of managed recovery operation
Recovery interrupted!
Waiting for MRP0 pid 5263 to terminate
Errors in file /opt/ora10g/diag/rdbms/dblstd/dblstd/trace/dblstd_mrp0_5263.trc:
ORA-16037: user requested cancel of managed recovery operation
MRP0: Background Media Recovery process shutdown (dblstd)
Managed Standby Recovery Canceled (dblstd)
Completed: alter database recover managed standby database cancel

2)在主库dbpri上开启logminer。
必须在redo数据中创建logminer dictionary,以便sql apply的logminer组件能够正确解析redo中的变化。
logminer词典创建中主要是在逐渐和唯一约束、唯一索引列上设置补充日志。补充日志信息确保更新操作包含足够的信息来逻辑定位被修改的行。
执行命令:exec dbms_logstdby.build;
该命令会等到所有正在执行事务的完成,长事务会影响其运行。

在11.2版本及以后,主库执行dbms_logstdby.build后,物理从库会自动添加补充日志。
对于之前的版本,或由旧版本升级过来的版本,就需要检查主库添加后,物理从库是否添加了补充日志。
若未添加,需要在switchover或failover前在所有物理从库上执行:
alter database add supplemental log data (primary key,unique index) columns;

如果没有进行以上设置,则在主库和物理从库之间发生switchover或failover后逻辑从库就不可用了。
如果进行switchover或failover后补充日志未生效,必须重建所有逻辑备库。


3)设置cluster_database为false(实际不需要,应该是针对RAC的),关闭其他物理备库,独占模式mount  dblstd
alter system set cluster_database=false scope=spfile;
shutdown abort;
startup mount exclusive;

4)转化
alter database recover to logical standby dblstd;

=================================================================================

日志:
node1:
SQL> exec dbms_logstdby.build;


PL/SQL procedure successfully completed.


node3:


SQL> alter system set cluster_database=false scope=spfile;


System altered.


SQL> shutdown abort;
ORACLE instance shut down.
SQL> startup mount exclusive;
ORACLE instance started.


Total System Global Area  740724736 bytes
Fixed Size                  1339092 bytes
Variable Size             436207916 bytes
Database Buffers          297795584 bytes
Redo Buffers                5382144 bytes
Database mounted.
SQL> alter database recover to logical standby dblstd;


Database altered.


对应的alert日志:
alter database recover to logical standby dblstd
Media Recovery Start: Managed Standby Recovery (dblstd)
Serial Media Recovery started
Managed Standby Recovery not using Real Time Apply
Media Recovery Log /opt/ora10g/archive/1_51_844672005.arc
Media Recovery Log /opt/ora10g/archive/1_52_844672005.arc
Mon Apr 14 16:06:10 2014
Media Recovery Log /opt/ora10g/archive/1_53_844672005.arc
Incomplete Recovery applied until change 920723 time 04/14/2014 19:14:17
Media Recovery Complete (dblstd)
krsv_proc_kill: Killing 2 processes (all RFS)
Begin: Standby Redo Logfile archival
End: Standby Redo Logfile archival
RESETLOGS after incomplete recovery UNTIL CHANGE 920723
Resetting resetlogs activation ID 3929975233 (0xea3ea9c1)
Standby became primary SCN: 920721
Mon Apr 14 16:06:20 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 3929985473 to new DBID of 1884397180 for database DBPRI
DBNAME will be changed from DBPRI to new DBNAME of DBLSTD
Starting datafile conversion
Datafile conversion complete
Database name changed to DBLSTD.
Modify parameter file and generate a new password file before restarting.
Database ID for database DBLSTD changed to 1884397180.
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 dblstd


===============================================================================


5)接下来重启dblstd到mount状态,并修改参数
shutdown
startup mount;


逻辑备库与物理备库不同之处在于逻辑备库是启动状态,会生成redo数据和多种日志文件。
需要在参数文件中详细设置,以便区别于从主库获取的日志。


我上面的日志:
*.log_archive_dest_1='location=/opt/ora10g/archive valid_for=(all_logfiles,all_roles)  db_unique_name=dblstd'
*.log_archive_dest_2='service=dbstd async valid_for=(online_logfiles,primary_role)  db_unique_name=dbstd'
*.log_archive_dest_3='service=dbpri async valid_for=(online_logfiles,primary_role) db_unique_name=dbpri'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'
*.log_archive_dest_state_3='enable'


其实应该是和dbstd无关的,即:
*.log_archive_dest_1='location=/opt/ora10g/archive valid_for=(all_logfiles,all_roles)  db_unique_name=dblstd'
*.log_archive_dest_2='service=dbpri async valid_for=(online_logfiles,primary_role) db_unique_name=dbpri'
*.log_archive_dest_state_1='enable'
*.log_archive_dest_state_2='enable'


现在dblstd变为逻辑备库,需要为其归档的redo数据设置不同的位置:
本地逻辑备库自己生成的归档日志为 *.log_archive_dest_1='location=/opt/ora10g/archive valid_for=(online_logfiles,all_roles)  db_unique_name=dblstd'
主库dbpri生成的归档日志为        *.log_archive_dest_3='location=/opt/ora10g/archive2 valid_for=(standby_logfiles,standby_role) db_unique_name=dblstd'
                                 *.log_archive_dest_state_3='enable'
                                 
11g以后的版本,log_archive_dest_1可以设置为db_recover_file_dest(前提是该参数已设置):
LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST DB_UNIQUE_NAME=dblstd'




实际执行语句:
alter system set log_archive_dest_1='location=/opt/ora10g/archive valid_for=(online_logfiles,all_roles)  db_unique_name=dblstd' scope=both;
alter system set log_archive_dest_3='location=/opt/ora10g/archive2 valid_for=(standby_logfiles,standby_role) db_unique_name=dblstd' scope=both;




6)打开逻辑备库
alter database open resetlogs;


ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;


日志:
===============================================================================
SQL> shutdown      
ORA-01507: database not mounted



ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.

Total System Global Area  740724736 bytes
Fixed Size                  1339092 bytes
Variable Size             436207916 bytes
Database Buffers          297795584 bytes
Redo Buffers                5382144 bytes
Database mounted.
SQL> show parameter db_recover

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest                string      /opt/ora10g/flash_recovery_area
db_recovery_file_dest_size           big integer 3852M
SQL> alter system set log_archive_dest_1='location=/opt/ora10g/archive valid_for=(online_logfiles,all_roles)  db_unique_name=dblstd' scope=both;


System altered.


SQL> alter system set log_archive_dest_3='location=/opt/ora10g/archive2 valid_for=(standby_logfiles,standby_role) db_unique_name=dblstd' scope=both;

System altered.

SQL>  ALTER DATABASE OPEN RESETLOGS;

Database altered.

SQL>  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


告警日志:
 ALTER DATABASE OPEN RESETLOGS
RESETLOGS after complete recovery through change 920724
Errors in file /opt/ora10g/diag/rdbms/dblstd/dblstd/trace/dblstd_ora_5871.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: '/opt/ora10g/oradata/dbpri/redo01.log'
Errors in file /opt/ora10g/diag/rdbms/dblstd/dblstd/trace/dblstd_ora_5871.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: '/opt/ora10g/oradata/dbpri/redo02.log'
Errors in file /opt/ora10g/diag/rdbms/dblstd/dblstd/trace/dblstd_ora_5871.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: '/opt/ora10g/oradata/dbpri/redo03.log'
Mon Apr 14 16:22:30 2014
Errors in file /opt/ora10g/diag/rdbms/dblstd/dblstd/trace/dblstd_m000_5987.trc:
ORA-00316: log 1 of thread 1, type 0 in header is not log file
ORA-00312: online log 1 thread 1: '/opt/ora10g/oradata/dbpri/redo01.log'
Mon Apr 14 16:22:30 2014
Setting recovery target incarnation to 2
Checker run found 2 new persistent data failures
Mon Apr 14 16:22:30 2014
Assigning activation ID 1884411467 (0x7051d64b)
Thread 1 opened at log sequence 1
  Current log# 1 seq# 1 mem# 0: /opt/ora10g/oradata/dbpri/redo01.log
Successful open of redo thread 1
MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
Mon Apr 14 16:22:31 2014
SMON: enabling cache recovery
Mon Apr 14 16:22:32 2014
NSA2 started with pid=25, OS id=5991 
Successfully onlined Undo Tablespace 2.
Dictionary check beginning
Thread 1 advanced to log sequence 2 (LGWR switch)
  Current log# 2 seq# 2 mem# 0: /opt/ora10g/oradata/dbpri/redo02.log
Mon Apr 14 16:22:36 2014
Archived Log entry 1 added for thread 1 sequence 1 ID 0x7051d64b dest 1:
Mon Apr 14 16:22:36 2014
RFS[3]: Assigned to RFS process 5993
RFS[3]: Identified database type as 'logical standby': Client is ARCH pid 6321
Mon Apr 14 16:22:36 2014
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 AL32UTF8
No Resource Manager plan active
**********************************************************
WARNING: Files may exists in db_recovery_file_dest
that are not known to the database. Use the RMAN command
CATALOG RECOVERY AREA to re-catalog any such files.
If files cannot be cataloged, then manually delete them
using OS command.
One of the following events caused this:
1. A backup controlfile was restored.
2. A standby controlfile was restored.
3. The controlfile was re-created.
4. db_recovery_file_dest had previously been enabled and
   then disabled.
**********************************************************
replication_dependency_tracking turned off (no async multimaster replication found)
Starting background process QMNC
Mon Apr 14 16:22:40 2014
QMNC started with pid=26, OS id=5995 
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 DBLSTD
Mon Apr 14 16:22:48 2014
Completed:  ALTER DATABASE OPEN RESETLOGS
Mon Apr 14 16:22:57 2014
db_recovery_file_dest_size of 3852 MB is 0.00% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup.
Mon Apr 14 16:23:36 2014
RFS LogMiner: RFS id [5993] assigned as thread [1] PING handler
Mon Apr 14 16:25:01 2014
 ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE
ORA-16239 signalled during:  ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE...


[oracle@node3 archive]$ oerr ora 16239
16239, 00000, "IMMEDIATE option not available without standby redo logs"
// *Cause: The IMMEDIATE option cannot be used without standby redo logs.
// *Action: Do not specify the IMMEDIATE option unless standby redo logs are 
//          being used.


从状态来看,该库已经是逻辑备库了:
SQL>  select name,database_role from v$database;


NAME      DATABASE_ROLE
--------- ----------------
DBLSTD    LOGICAL STANDBY


=================================================================================

前面由于疏忽,没有创建standby redo log file。正是由于此原因,导致immediate执行错误

具体为:
SQL> 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



在主库dbpir中查询:
SQL> select member from v$logfile;


MEMBER
--------------------------------------------------------------------------------
/opt/ora10g/oradata/dbpri/redo03.log
/opt/ora10g/oradata/dbpri/redo02.log
/opt/ora10g/oradata/dbpri/redo01.log
/opt/ora10g/oradata/dbpri/stdbyredo02.log
/opt/ora10g/oradata/dbpri/stdbyredo03.log
/opt/ora10g/oradata/dbpri/stdbyredo04.log
/opt/ora10g/oradata/dbpri/stdbyredo01.log


7 rows selected.


在逻辑备库dblstd中查询:
SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/opt/ora10g/oradata/dbpri/redo03.log
/opt/ora10g/oradata/dbpri/redo02.log
/opt/ora10g/oradata/dbpri/redo01.log

为dblstd增加standby redo log file:
ALTER DATABASE ADD STANDBY LOGFILE GROUP 4 ('/opt/ora10g/oradata/dbpri/stdbyredo01.log') SIZE 52428800;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 5 ('/opt/ora10g/oradata/dbpri/stdbyredo02.log') SIZE 52428800;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 6 ('/opt/ora10g/oradata/dbpri/stdbyredo03.log') SIZE 52428800;
ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 ('/opt/ora10g/oradata/dbpri/stdbyredo04.log') SIZE 52428800;

==================================================================================

逻辑备库的默认保护模式为最大性能:
SQL>  select protection_mode from v$database;

PROTECTION_MODE
--------------------
MAXIMUM PERFORMANCE

===================================================================================

遗留问题:
主库的操作无法同步到逻辑备库


比如以下步骤:
1)从库操作:
SQL> ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE;

Database altered.


SQL> create table dbpri_tt2(tid number,tname varchar2(30));

Table created.

2)主库操作:

SQL> create table dbpri_tt2(tid number,tname varchar2(30));

Table created.


SQL> insert into dbpri_tt2 values (1,'abc');

1 row created.

SQL> commit;

Commit complete.

SQL> alter system switch logfile;

System altered.

SQL> alter system switch logfile;

System altered.

SQL> desc dbpri_tt2;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 TID                                                NUMBER
 TNAME                                              VARCHAR2(30)

SQL> select count(1) from dbpri_tt2;

  COUNT(1)
----------
         1
         
3)从库操作:
SQL> desc dbpri_tt2;
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 TID                                                NUMBER
 TNAME                                              VARCHAR2(30)


SQL> select count(1) from dbpri_tt2;


  COUNT(1)
----------
         0

当主库日志切换时,逻辑备库是有以下日志,但并没有同步数据:
LOGSTDBY Analyzer process AS00 started with server id=0 pid=38 OS id=10217
Wed Apr 16 15:05:23 2014
LOGSTDBY Apply process AS03 started with server id=3 pid=41 OS id=10223
Wed Apr 16 15:05:23 2014
LOGSTDBY Apply process AS04 started with server id=4 pid=42 OS id=10225
Wed Apr 16 15:05:24 2014
LOGSTDBY Apply process AS05 started with server id=5 pid=43 OS id=10227
Wed Apr 16 15:05:24 2014
LOGSTDBY Apply process AS01 started with server id=1 pid=39 OS id=10219
Wed Apr 16 15:05:24 2014
LOGSTDBY Apply process AS02 started with server id=2 pid=40 OS id=10221
Wed Apr 16 15:07:03 2014
RFS[8]: Selected log 4 for thread 1 sequence 97 dbid -364981823 branch 844672005
Wed Apr 16 15:07:03 2014
RFS LogMiner: Registered logfile [/opt/ora10g/archive21_96_844672005.arc] to LogMiner session id [1]
Wed Apr 16 15:07:04 2014
LOGMINER: Alternate logfile found, transition to mining logfile for session 1 thread 1 sequence 96, /opt/ora10g/archive21_96_844672005.arc
LOGMINER: End   mining logfile for session 1 thread 1 sequence 96, /opt/ora10g/archive21_96_844672005.arc
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 97, /opt/ora10g/oradata/dbpri/stdbyredo01.log
RFS[8]: Selected log 5 for thread 1 sequence 98 dbid -364981823 branch 844672005
Wed Apr 16 15:07:09 2014
RFS LogMiner: Registered logfile [/opt/ora10g/archive21_97_844672005.arc] to LogMiner session id [1]
LOGMINER: Alternate logfile found, transition to mining logfile for session 1 thread 1 sequence 97, /opt/ora10g/archive21_97_844672005.arc
LOGMINER: End   mining logfile for session 1 thread 1 sequence 97, /opt/ora10g/archive21_97_844672005.arc
LOGMINER: Begin mining logfile for session 1 thread 1 sequence 98, /opt/ora10g/oradata/dbpri/stdbyredo02.log

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26451536/viewspace-1143675/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26451536/viewspace-1143675/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值