免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1300 | 回复: 0
打印 上一主题 下一主题

主库启动instance和lsnr [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-19 11:30 |只看该作者 |倒序浏览

    主库启动instance和lsnr,在备库启动lsnr后,在dg启动的各个阶段,dg都做了什么呢:启动了那些进程?什么时候会传归档?什么时候开始应用归档?
   1.备库关闭时。
1.1 检查备库进程:
[oracle@standby1 arch]$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on Fri Jan 11 23:52:25 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to an idle instance.


>
> !ps -ef |grep ora_
oracle    3917  3915  0 23:52 pts/1    00:00:00 /bin/bash -c ps -ef |grep ora_
oracle    3919  3917  0 23:52 pts/1    00:00:00 grep ora_
1.2 备库arch目录:
[oracle@standby1 arch]$ ll
total 328
-rw-r-----  1 oracle dba   1536 Jan 10 01:04 oradg_0001_0000000040.arc
-rw-r-----  1 oracle dba   1536 Jan 10 01:04 oradg_0001_0000000041.arc
-rw-r-----  1 oracle dba   1024 Jan 10 01:04 oradg_0001_0000000042.arc
-rw-r-----  1 oracle dba 302080 Jan 10 01:11 oradg_0001_0000000043.arc
1.3 此时在主库switch logfile,arch不会传到备库,在主库上检查v$archived_log,也发现日志不会applied:
SQL> select SEQUENCE#,DEST_ID,ARCHIVED,APPLIED,DELETED,STATUS from v$archived_log order by SEQUENCE#
  2  /

SEQUENCE#    DEST_ID ARCHIV APPLIE DELETE ST
---------- ---------- ------ ------ ------ --
        20          2 YES    YES    NO     A
        21          2 YES    YES    NO     A
        22          2 YES    YES    NO     A
        23          2 YES    YES    NO     A
        24          2 YES    YES    NO     A
        25          2 YES    YES    NO     A
        26          2 YES    YES    NO     A
        27          2 YES    YES    NO     A
        28          0 YES    YES    NO     A
        29          0 YES    YES    NO     A
        30          0 YES    YES    NO     A
        31          0 YES    YES    NO     A
        32          0 YES    YES    NO     A
        33          0 YES    YES    NO     A
        34          0 YES    YES    NO     A
        35          0 YES    YES    NO     A
        36          0 YES    YES    NO     A
        37          0 YES    YES    NO     A
        38          0 YES    YES    NO     A
        39          0 YES    YES    NO     A
        40          0 YES    YES    NO     A
        41          2 YES    YES    NO     A
        42          2 YES    YES    NO     A
        43          2 YES    YES    NO     A
        44          1 YES    NO     NO     A
        45          1 YES    NO     NO     A
        46          1 YES    NO     NO     A

27 rows selected.
1.4 备库alertlog只有上次的信息:
……
ARC0: Archival stopped
Sat Jan 12 00:39:57 2008
ARCH: Archiving is disabled
Shutting down archive processes
Archiving is disabled
Archive process shutdown avoided: 0 active
    2.备库startup nomount
2.1 检查备库进程:
> startup nomount;
ORACLE instance started.

Total System Global Area  370218244 bytes
Fixed Size                   451844 bytes
Variable Size             167772160 bytes
Database Buffers          201326592 bytes
Redo Buffers                 667648 bytes
> !ps -ef |grep ora_
oracle    4251     1  1 00:42 ?        00:00:00 ora_pmon_oradg
oracle    4253     1  0 00:42 ?        00:00:00 ora_dbw0_oradg
oracle    4255     1  0 00:42 ?        00:00:00 ora_lgwr_oradg
oracle    4257     1  1 00:42 ?        00:00:00 ora_ckpt_oradg
oracle    4259     1  1 00:42 ?        00:00:00 ora_smon_oradg
oracle    4261     1  1 00:42 ?        00:00:00 ora_reco_oradg
oracle    4263     1  1 00:42 ?        00:00:00 ora_cjq0_oradg
oracle    4265     1  0 00:42 ?        00:00:00 ora_qmn0_oradg
oracle    4267     1  0 00:42 ?        00:00:00 ora_s000_oradg
oracle    4269     1  1 00:42 ?        00:00:00 ora_d000_oradg
oracle    4271     1  1 00:42 ?        00:00:00 ora_arc0_oradg
oracle    4273     1  0 00:42 ?        00:00:00 ora_arc1_oradg
oracle    4275  4245  0 00:42 pts/1    00:00:00 /bin/bash -c ps -ef |grep ora_
这些进程的数量和主库一致。
2.2 备库arch目录:
[oracle@standby1 arch]$ ll
total 328
-rw-r-----  1 oracle dba   1536 Jan 10 01:04 oradg_0001_0000000040.arc
-rw-r-----  1 oracle dba   1536 Jan 10 01:04 oradg_0001_0000000041.arc
-rw-r-----  1 oracle dba   1024 Jan 10 01:04 oradg_0001_0000000042.arc
-rw-r-----  1 oracle dba 302080 Jan 10 01:11 oradg_0001_0000000043.arc
发现备库的arch没有增加,也就是说,arch没有被传输到备库。
2.3 检查主库上检查v$archived_log,发现还是没有applied日志(连传都没有传过去,当然不会applied):
SQL> /

SEQUENCE#    DEST_ID ARCHIV APPLIE DELETE ST
---------- ---------- ------ ------ ------ --
        24          2 YES    YES    NO     A
        25          2 YES    YES    NO     A
        26          2 YES    YES    NO     A
        27          2 YES    YES    NO     A
        28          0 YES    YES    NO     A
        29          0 YES    YES    NO     A
        30          0 YES    YES    NO     A
        31          0 YES    YES    NO     A
        32          0 YES    YES    NO     A
        33          0 YES    YES    NO     A
        34          0 YES    YES    NO     A
        35          0 YES    YES    NO     A
        36          0 YES    YES    NO     A
        37          0 YES    YES    NO     A
        38          0 YES    YES    NO     A
        39          0 YES    YES    NO     A
        40          0 YES    YES    NO     A
        41          2 YES    YES    NO     A
        42          2 YES    YES    NO     A
        43          2 YES    YES    NO     A
        44          1 YES    NO     NO     A
        45          1 YES    NO     NO     A
        46          1 YES    NO     NO     A
        47          1 YES    NO     NO     A
        48          1 YES    NO     NO     A
        49          1 YES    NO     NO     A
        50          1 YES    NO     NO     A
        51          1 YES    NO     NO     A
        52          1 YES    NO     NO     A
2.4 备库alertlog上却出现了报错信息:
Sat Jan 12 00:41:43 2008
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
SCN scheme 2
Using log_archive_dest parameter default value
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 9.2.0.4.0.
System parameters with non-default values:
  processes                = 150
  timed_statistics         = TRUE
  shared_pool_size         = 67108864
  large_pool_size          = 50331648
  java_pool_size           = 33554432

control_files            = /oracle/oradata/oradg/control01.ctl,
/oracle/oradata/oradg/control02.ctl, /oracle/oradata/oradg/control03.ctl
  db_block_size            = 8192
  db_cache_size            = 201326592
  compatible               = 9.2.0.0.0
  log_archive_start        = TRUE
  log_archive_dest_1       = LOCATION=/oracle/arch/
  log_archive_dest_2       = SERVICE=standby  optional
  standby_archive_dest     = /oracle/arch
  log_archive_format       = oradg_%T_%S.arc
  db_file_multiblock_read_count= 16
  fast_start_mttr_target   = 300
  undo_management          = AUTO
  undo_tablespace          = UNDOTBS1
  undo_retention           = 10800
  remote_login_passwordfile= EXCLUSIVE
  db_domain                =
  instance_name            = oradg
  dispatchers              = (PROTOCOL=TCP) (SERVICE=oradgXDB)
  job_queue_processes      = 10
  hash_join_enabled        = TRUE
  background_dump_dest     = /oracle/admin/oradg/bdump
  user_dump_dest           = /oracle/admin/oradg/udump
  core_dump_dest           = /oracle/admin/oradg/cdump
  sort_area_size           = 524288
  db_name                  = oradg
  open_cursors             = 300
  star_transformation_enabled= FALSE
  query_rewrite_enabled    = FALSE
  pga_aggregate_target     = 82837504
  aq_tm_processes          = 1
PMON started with pid=2
DBW0 started with pid=3
LGWR started with pid=4
CKPT started with pid=5
SMON started with pid=6
CJQ0 started with pid=8
RECO started with pid=7
Sat Jan 12 00:41:44 2008
starting up 1 shared server(s) ...
QMN0 started with pid=9
Sat Jan 12 00:41:44 2008
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
ARCH: STARTING ARCH PROCESSES
Sat Jan 12 00:42:53 2008
ARCH: STARTING ARCH PROCESSES COMPLETE
ARC1 started with pid=13
ARC1: Archival started
ARC1: Thread not mounted
ARC0 started with pid=12
ARC0: Archival started
ARC0: Thread not mounted
Sat Jan 12 00:43:41 2008
Restarting dead background process QMN0
QMN0 started with pid=9
    destination database instance is 'started' not 'mounted'
  Sat Jan 12 00:49:08 2008
Restarting dead background process QMN0
QMN0 started with pid=15
  Sat Jan 12 00:50:47 2008
RFS: Possible network disconnect with primary database
destination database instance is 'started' not 'mounted'
Sat Jan 12 00:50:47 2008
destination database instance is 'started' not 'mounted'
RFS: Possible network disconnect with primary database
Sat Jan 12 00:51:13 2008
RFS: Possible network disconnect with primary database
destination database instance is 'started' not 'mounted'
Sat Jan 12 00:51:13 2008
destination database instance is 'started' not 'mounted'
Sat Jan 12 00:51:13 2008
RFS: Possible network disconnect with primary database
Sat Jan 12 00:51:13 2008
RFS: Possible network disconnect with primary database
Sat Jan 12 00:51:14 2008
destination database instance is 'started' not 'mounted'-------------注意这里附近
Sat Jan 12 00:51:14 2008
destination database instance is 'started' not 'mounted'
RFS: Possible network disconnect with primary database
这里的destination database是指备机本身,这个报错信息会定时出现,即每当在主库在switch logfile的时候出现。
RFS服务是指Remote File Server服务,负责传输arch日志。此时RFS服务报错,因此arch也无法传输过来。
    3.备库到mount状态。
3.1 检查备库进程:
> alter database mount standby database;

Database altered.

Elapsed: 00:00:04.23
> !ps -ef |grep ora_
oracle    4251     1  0 00:47 ?        00:00:01 ora_pmon_oradg
oracle    4253     1  0 00:47 ?        00:00:00 ora_dbw0_oradg
oracle    4255     1  0 00:47 ?        00:00:00 ora_lgwr_oradg
oracle    4257     1  0 00:47 ?        00:00:00 ora_ckpt_oradg
oracle    4259     1  0 00:47 ?        00:00:00 ora_smon_oradg
oracle    4261     1  0 00:47 ?        00:00:00 ora_reco_oradg
oracle    4263     1  0 00:47 ?        00:00:00 ora_cjq0_oradg
oracle    4267     1  0 00:47 ?        00:00:00 ora_s000_oradg
oracle    4269     1  0 00:47 ?        00:00:00 ora_d000_oradg
oracle    4271     1  0 00:47 ?        00:00:00 ora_arc0_oradg
oracle    4273     1  0 00:47 ?        00:00:00 ora_arc1_oradg
oracle    4452  4245  0 01:04 pts/1    00:00:00 /bin/bash -c ps -ef |grep ora_
发现进程数还是和原来一样。
3.2 备库arch目录:
[oracle@standby1 arch]$ ll
[oracle@standby1 arch]$ ll
total 4908
-rw-r-----  1 oracle dba    1536 Jan 10 01:04 oradg_0001_0000000040.arc
-rw-r-----  1 oracle dba    1536 Jan 10 01:04 oradg_0001_0000000041.arc
-rw-r-----  1 oracle dba    1024 Jan 10 01:04 oradg_0001_0000000042.arc
-rw-r-----  1 oracle dba  302080 Jan 10 01:11 oradg_0001_0000000043.arc
-rw-r-----  1 oracle dba  889856 Jan 12 00:04 oradg_0001_0000000044.arc
-rw-r-----  1 oracle dba   35328 Jan 12 00:04 oradg_0001_0000000045.arc
-rw-r-----  1 oracle dba    1536 Jan 12 00:04 oradg_0001_0000000046.arc
……
-rw-r-----  1 oracle dba   34816 Jan 12 01:10 oradg_0001_0000000092.arc
-rw-r-----  1 oracle dba    1024 Jan 12 01:10 oradg_0001_0000000093.arc
-rw-r-----  1 oracle dba    1536 Jan 12 01:10 oradg_0001_0000000094.arc
-rw-r-----  1 oracle dba    1024 Jan 12 01:10 oradg_0001_0000000095.arc
-rw-r-----  1 oracle dba    1024 Jan 12 01:10 oradg_0001_0000000096.arc
发现备库的arch已经传输过来。
3.3 检查主库上检查v$archived_log,发现文件虽然已经传到备库,还是没有applied日志(MRP进程没起来):
SQL>     select SEQUENCE#,DEST_ID,ARCHIVED,APPLIED,DELETED,STATUS from v$archived_log order by SEQUENCE#
  2  /

SEQUENCE#    DEST_ID ARCHIV APPLIE DELETE ST
---------- ---------- ------ ------ ------ --
        24          2 YES    YES    NO     A
        25          2 YES    YES    NO     A
        26          2 YES    YES    NO     A
        27          2 YES    YES    NO     A
        28          0 YES    YES    NO     A
        29          0 YES    YES    NO     A
        30          0 YES    YES    NO     A
        31          0 YES    YES    NO     A
        32          0 YES    YES    NO     A
        33          0 YES    YES    NO     A
        34          0 YES    YES    NO     A
        35          0 YES    YES    NO     A
        36          0 YES    YES    NO     A
        37          0 YES    YES    NO     A
        38          0 YES    YES    NO     A
        39          0 YES    YES    NO     A
        40          0 YES    YES    NO     A
        41          2 YES    YES    NO     A
        42          2 YES    YES    NO     A
        43          2 YES    YES    NO     A
        44          1 YES    NO     NO     A
        44          2 YES    NO     NO     A
        45          1 YES    NO     NO     A
        45          2 YES    NO     NO     A
        46          1 YES    NO     NO     A
        46          2 YES    NO     NO     A
        47          1 YES    NO     NO     A
……
        94          2 YES    NO     NO     A
        95          1 YES    NO     NO     A
        95          2 YES    NO     NO     A
        96          1 YES    NO     NO     A
        96          2 YES    NO     NO     A
3.4 备库alertlog的信息:
alter database mount standby database
Sat Jan 12 01:09:29 2008
Successful mount of redo thread 1, with mount id 2634673925.
Sat Jan 12 01:09:29 2008
Standby Database mounted.
Completed: alter database mount standby database
基本就一个启动到mount的信息,没别的。
    4. 备库启动到recover managed状态
> alter database recover managed standby database disconnect from session;

Database altered.

Elapsed: 00:00:06.17
> !ps -ef |grep ora_
oracle    4528     1  0 01:11 ?        00:00:00 ora_pmon_oradg
oracle    4530     1  0 01:11 ?        00:00:00 ora_dbw0_oradg
oracle    4532     1  0 01:11 ?        00:00:00 ora_lgwr_oradg
oracle    4534     1  0 01:11 ?        00:00:00 ora_ckpt_oradg
oracle    4536     1  0 01:11 ?        00:00:00 ora_smon_oradg
oracle    4538     1  0 01:11 ?        00:00:00 ora_reco_oradg
oracle    4540     1  0 01:11 ?        00:00:00 ora_cjq0_oradg
oracle    4544     1  0 01:11 ?        00:00:00 ora_s000_oradg
oracle    4546     1  0 01:11 ?        00:00:00 ora_d000_oradg
oracle    4548     1  0 01:11 ?        00:00:00 ora_arc0_oradg
oracle    4550     1  0 01:11 ?        00:00:00 ora_arc1_oradg
oracle    5064     1  5 01:18 ?        00:00:02 ora_mrp0_oradgmrp进程已经起来
oracle    5065  4245  0 01:18 pts/1    00:00:00 /bin/bash -c ps -ef |grep ora_
发现mrp进程已经起来。
4.2 备库arch目录:
[oracle@standby1 arch]$ ll
[oracle@standby1 arch]$ ll
total 4908
-rw-r-----  1 oracle dba    1536 Jan 10 01:04 oradg_0001_0000000040.arc
-rw-r-----  1 oracle dba    1536 Jan 10 01:04 oradg_0001_0000000041.arc
-rw-r-----  1 oracle dba    1024 Jan 10 01:04 oradg_0001_0000000042.arc
……
-rw-r-----  1 oracle dba   34816 Jan 12 01:10 oradg_0001_0000000092.arc
-rw-r-----  1 oracle dba    1024 Jan 12 01:10 oradg_0001_0000000093.arc
-rw-r-----  1 oracle dba    1536 Jan 12 01:10 oradg_0001_0000000094.arc
-rw-r-----  1 oracle dba    1024 Jan 12 01:10 oradg_0001_0000000095.arc
-rw-r-----  1 oracle dba    1024 Jan 12 01:10 oradg_0001_0000000096.arc
还是原来的。
4.3 检查主库上检查v$archived_log,发现归档已经applied:
SQL> /

SEQUENCE#    DEST_ID ARCHIV APPLIE DELETE ST
---------- ---------- ------ ------ ------ --
        24          2 YES    YES    NO     A
        25          2 YES    YES    NO     A
        26          2 YES    YES    NO     A
        27          2 YES    YES    NO     A
        28          0 YES    YES    NO     A
        29          0 YES    YES    NO     A
        30          0 YES    YES    NO     A
        31          0 YES    YES    NO     A
        32          0 YES    YES    NO     A
        33          0 YES    YES    NO     A
        34          0 YES    YES    NO     A
        35          0 YES    YES    NO     A
        36          0 YES    YES    NO     A
        37          0 YES    YES    NO     A
        38          0 YES    YES    NO     A
……
        92          1 YES    NO     NO     A
        92          2 YES    NO     NO     A
        93          1 YES    NO     NO     A
        93          2 YES    NO     NO     A
        94          1 YES    NO     NO     A
        94          2 YES    NO     NO     A
        95          1 YES    NO     NO     A
        95          2 YES    NO     NO     A
        96          1 YES    NO     NO     A
        96          2 YES    YES    NO     A

126 rows selected.
4.4 备库alertlog的信息:
……
alter database recover managed standby database disconnect from session
Sat Jan 12 01:18:09 2008
Attempt to start background Managed Standby Recovery process
MRP0 started with pid=16
MRP0: Background Managed Standby Recovery process started
Starting datafile 1 recovery in thread 1 sequence 44
Datafile 1: '/oracle/oradata/oradg/system01.dbf'
Starting datafile 2 recovery in thread 1 sequence 44
Datafile 2: '/oracle/oradata/oradg/undotbs01.dbf'
Starting datafile 3 recovery in thread 1 sequence 44
Datafile 3: '/oracle/oradata/oradg/cwmlite01.dbf'
Starting datafile 4 recovery in thread 1 sequence 44
Datafile 4: '/oracle/oradata/oradg/drsys01.dbf'
Starting datafile 5 recovery in thread 1 sequence 44
Datafile 5: '/oracle/oradata/oradg/example01.dbf'
Starting datafile 6 recovery in thread 1 sequence 44
……
Datafile 9: '/oracle/oradata/oradg/users01.dbf'
Starting datafile 10 recovery in thread 1 sequence 44
Datafile 10: '/oracle/oradata/oradg/xdb01.dbf'
Starting datafile 11 recovery in thread 1 sequence 44
Datafile 11: '/oracle/oradata/oradg/ts_mssm_01.dbf'
Media Recovery Log /oracle/arch/oradg_0001_0000000044.arc
Sat Jan 12 01:18:15 2008
Completed: alter database recover managed standby database di
Sat Jan 12 01:18:15 2008
Media Recovery Log /oracle/arch/oradg_0001_0000000045.arc
Media Recovery Log /oracle/arch/oradg_0001_0000000046.arc
……
Media Recovery Log /oracle/arch/oradg_0001_0000000089.arc
Media Recovery Log /oracle/arch/oradg_0001_0000000090.arc
Media Recovery Log /oracle/arch/oradg_0001_0000000091.arc
Media Recovery Log /oracle/arch/oradg_0001_0000000092.arc
Media Recovery Log /oracle/arch/oradg_0001_0000000093.arc
Media Recovery Log /oracle/arch/oradg_0001_0000000094.arc
Media Recovery Log /oracle/arch/oradg_0001_0000000095.arc
Media Recovery Log /oracle/arch/oradg_0001_0000000096.arc
Media Recovery Waiting for thread 1 seq# 97
Sat Jan 12 01:22:05 2008
总结:备库在起来时:
1.nomount:rfs服务没有起,因此主库文件不会传到备库;mrp进程没有起,因此也不会做recover,归档不会applied。
2.mount:rfs服务启动,主库的归档能传输到备库(可以在主库switchlogfile几次,会发现归档已经传输过去);mrp进程没有启动,归档不applied。
3.recover managed:rfs在上一步已经启动,归档能传输到备库;且mrp进程已经起来,apply 归档日志!
http://www.oracleblog.cn/study-note/different-stage-on-dataguard-startup/
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/44757/showart_693902.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP