zoukankan      html  css  js  c++  java
  • 配置ORACLE 11G ADG

    曾经装过10g的,没有做笔记,昨天使用duplicate方法装了个11g ADG,过程艰辛。记录下:

    一、环境配置

    主库

    IP地址:192.168.233.128/24

    操作系统版本号:rhel5.8 64bit

    数据库版本号:11.2.0.1 64bit

    数据库sid名:orcl

    数据库名:orcl

    数据库db_unique_name:orcl1

    主机名:pr

    物理备库

    IP地址:192.168.233.129/24

    操作系统版本号:rhel5.8 64bit

    数据库版本号:11.2.0.1 64bit

    数据库sid名:orcl

    数据库名:orcl

    数据库db_unique_name:orcl2

    主机名:st

    二、改动主备库listener.ora,tnsnames.ora文件例如以下

    [oracle@pr admin]$ more listener.ora
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = pr)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )

    [oracle@pr admin]$ more tnsnames.ora
    orcl1=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.128)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl1)
        )
      )

    orcl2=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.129)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl2)
        )
      )

    [oracle@st admin]$ more listener.ora
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = st)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )


    SID_LIST_LISTENER =
     (SID_LIST =
     (SID_DESC =
     (GLOBAL_DBNAME = orcl2)
     (ORACLE_HOME = /export/11g/product)
     (SID_NAME = orcl)
     )
     )


    [oracle@st admin]$ more tnsnames.ora
    orcl1=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.128)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl1)
        )
      )

    orcl2=
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.233.129)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = orcl2)
        )
      )


     

    三、改动主库、备库的pfile文件。红色部分为新添加的部分。

    [oracle@pr dbs]$ more initorcl.ora
    orcl.__db_cache_size=142606336
    orcl.__java_pool_size=4194304
    orcl.__large_pool_size=4194304
    orcl.__oracle_base='/export/11g'#ORACLE_BASE set from environment
    orcl.__pga_aggregate_target=167772160
    orcl.__sga_target=251658240
    orcl.__shared_io_pool_size=0
    orcl.__shared_pool_size=92274688
    orcl.__streams_pool_size=0
    *.audit_file_dest='/export/11g/admin/orcl/adump'
    *.audit_trail='db'
    *.compatible='11.2.0.0.0'
    *.control_files='/export/11g/oradata/orcl/control01.ctl','/export/11g/flash_recovery_area/orcl/control02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='orcl'
    *.db_recovery_file_dest='/export/11g/flash_recovery_area'
    *.db_recovery_file_dest_size=4070572032
    *.diagnostic_dest='/export/11g'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
    *.log_archive_format='%t_%s_%r.dbf'
    *.memory_target=417333248
    *.open_cursors=300
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.undo_tablespace='UNDOTBS1'
    *.db_unique_name='orcl1'
    *.fal_client='orcl1'
     *.fal_server='orcl2'
     *.log_archive_config='DG_CONFIG=(orcl1,orcl2)'
    *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,primary_role) db_unique_name=orcl1'
     *.log_archive_dest_2='SERVICE=orcl2 lgwr async valid_for=(online_logfile,primary_role) db_unique_name=orcl2'
     *.remote_login_passwordfile='EXCLUSIVE'
     *.standby_file_management='AUTO'
    [oracle@st dbs]$ more initorcl.ora
    orcl.__db_cache_size=142606336
    orcl.__java_pool_size=4194304
    orcl.__large_pool_size=4194304
    orcl.__oracle_base='/export/11g'#ORACLE_BASE set from environment
    orcl.__pga_aggregate_target=167772160
    orcl.__sga_target=251658240
    orcl.__shared_io_pool_size=0
    orcl.__shared_pool_size=92274688
    orcl.__streams_pool_size=0
    *.audit_file_dest='/export/11g/admin/orcl/adump'
    *.audit_trail='db'
    *.compatible='11.2.0.0.0'
    *.control_files='/export/11g/oradata/orcl/control01.ctl','/export/11g/flash_recovery_area/orcl/control02.ctl'
    *.db_block_size=8192
    *.db_domain=''
    *.db_name='orcl'
    *.db_recovery_file_dest='/export/11g/flash_recovery_area'
    *.db_recovery_file_dest_size=4070572032
    *.diagnostic_dest='/export/11g'
    *.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
    *.log_archive_format='%t_%s_%r.dbf'
    *.memory_target=417333248
    *.open_cursors=300
    *.processes=150
    *.remote_login_passwordfile='EXCLUSIVE'
    *.undo_tablespace='UNDOTBS1'
    *.fal_client='orcl2'
     *.fal_server='orcl1'
     *.log_archive_config='DG_CONFIG=(orcl1,orcl2)'
    *.log_archive_dest_1='LOCATION=USE_DB_RECOVERY_FILE_DEST valid_for=(all_logfiles,primary_role) db_unique_name=orcl2'
     *.log_archive_dest_2='SERVICE=orcl1 lgwr async valid_for=(online_logfile,primary_role) db_unique_name=orcl1'
     *.remote_login_passwordfile='EXCLUSIVE'
     *.standby_file_management='AUTO'
     *.db_unique_name='orcl2'

    四、在备库上创建对应的文件夹

    如udump/,oradate/

    五、将备库启动到nomount状态,然后连接主库进行duplicate操作

    1. [oracle@dg2 ~]$ lsnrctl start 
    2. [oracle@dg2 ~]$ orapwd file=$ORACLE_HOME/dbs/orapworclpassword=oracleentries=5
    3. [oracle@dg2 ~]$ sqlplus /nolog
    4. SQL*Plus: Release 11.2.0.1.0 Production on Sun Apr 22 13:36:53 2012 
    5. Copyright (c) 1982, 2011, Oracle.  All rights reserved. 
    6. SQL> conn /as sysdba 
    7. Connected to an idle instance. 
    8. SQL> create spfile frompfile='/export/11g/product/dbs/initorcl.ora'
    9. File created. 
    10. SQL> startup nomount 
    11. ORACLE instance started. 
    12. Total System Global Area  417546240 bytes 
    13. Fixed Size                  2228944 bytes 
    14. Variable Size             285216048 bytes 
    15. Database Buffers          121634816 bytes 
    16. Redo Buffers                8466432 bytes

    [oracle@st dbs]rman targetsys/oracle@orcl1 auxiliarysys/oracle@orcl2

    RMAN> duplicate target database for standby from activedatabase nofilenamecheck;

     

    Starting Duplicate Db at 10-NOV-14

    using target databasecontrol file instead of recovery catalog

    allocated channel:ORA_AUX_DISK_1

    channel ORA_AUX_DISK_1:SID=20 device type=DISK

     

    contents of MemoryScript:

    {

      backup as copy reuse

      targetfile '/export/11g/product/dbs/orapworcl' auxiliary format

     '/export/11g/product/dbs/orapworcl'   ;

    }

    executing Memory Script

     

    Starting backup at 10-NOV-14

    allocated channel:ORA_DISK_1

    channel ORA_DISK_1:SID=43 device type=DISK

    Finished backup at10-NOV-14

     

    contents of MemoryScript:

    {

      backup as copy current controlfile forstandby auxiliary format '/export/11g/oradata/orcl/control01.ctl';

      restore clone controlfile to '/export/11g/flash_recovery_area/orcl/control02.ctl' from

     '/export/11g/oradata/orcl/control01.ctl';

    }

    executing Memory Script

     

    Starting backup at 10-NOV-14

    using channel ORA_DISK_1

    channel ORA_DISK_1:starting datafile copy

    copying standby controlfile

    output filename=/export/11g/product/dbs/snapcf_orcl.f tag=TAG20141110T094600 RECID=5STAMP=863257560

    channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:03

    Finished backup at10-NOV-14

     

    Starting restore at 10-NOV-14

    using channelORA_AUX_DISK_1

     

    channel ORA_AUX_DISK_1:copied control file copy

    Finished restore at10-NOV-14

     

    contents of MemoryScript:

    {

      sql clone 'alter database mount standbydatabase';

    }

    executing Memory Script

     

    sql statement: alterdatabase mount standby database

     

    contents of MemoryScript:

    {

      set newname for tempfile  1 to

     "/export/11g/oradata/orcl/temp01.dbf";

      switch clone tempfile all;

      set newname for datafile  1 to

     "/export/11g/oradata/orcl/system01.dbf";

      set newname for datafile  2 to

     "/export/11g/oradata/orcl/sysaux01.dbf";

      set newname for datafile  3 to

     "/export/11g/oradata/orcl/undotbs01.dbf";

      set newname for datafile  4 to

     "/export/11g/oradata/orcl/users01.dbf";

      set newname for datafile  5 to

     "/export/11g/oradata/orcl/example01.dbf";

      backup as copy reuse

      datafile 1 auxiliary format

     "/export/11g/oradata/orcl/system01.dbf"   datafile

     2 auxiliary format

     "/export/11g/oradata/orcl/sysaux01.dbf"   datafile

     3 auxiliary format

     "/export/11g/oradata/orcl/undotbs01.dbf"   datafile

     4 auxiliary format

     "/export/11g/oradata/orcl/users01.dbf"   datafile

     5 auxiliary format

     "/export/11g/oradata/orcl/example01.dbf"   ;

      sql 'alter system archive log current';

    }

    executing Memory Script

     

    executing command: SETNEWNAME

     

    renamed tempfile 1 to/export/11g/oradata/orcl/temp01.dbf in control file

     

    executing command: SETNEWNAME

     

    executing command: SETNEWNAME

     

    executing command: SETNEWNAME

     

    executing command: SETNEWNAME

     

    executing command: SETNEWNAME

     

    Starting backup at 10-NOV-14

    using channel ORA_DISK_1

    channel ORA_DISK_1:starting datafile copy

    input datafile filenumber=00001 name=/export/11g/oradata/orcl/system01.dbf

    output filename=/export/11g/oradata/orcl/system01.dbf tag=TAG20141110T094610

    channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:56

    channel ORA_DISK_1: startingdatafile copy

    input datafile filenumber=00002 name=/export/11g/oradata/orcl/sysaux01.dbf

    output filename=/export/11g/oradata/orcl/sysaux01.dbf tag=TAG20141110T094610

    channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:35

    channel ORA_DISK_1:starting datafile copy

    input datafile filenumber=00005 name=/export/11g/oradata/orcl/example01.dbf

    output filename=/export/11g/oradata/orcl/example01.dbf tag=TAG20141110T094610

    channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:16

    channel ORA_DISK_1:starting datafile copy

    input datafile filenumber=00003 name=/export/11g/oradata/orcl/undotbs01.dbf

    output filename=/export/11g/oradata/orcl/undotbs01.dbf tag=TAG20141110T094610

    channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:07

    channel ORA_DISK_1:starting datafile copy

    input datafile filenumber=00004 name=/export/11g/oradata/orcl/users01.dbf

    output filename=/export/11g/oradata/orcl/users01.dbf tag=TAG20141110T094610

    channel ORA_DISK_1:datafile copy complete, elapsed time: 00:00:07

    Finished backup at10-NOV-14

     

    sql statement: altersystem archive log current

     

    contents of MemoryScript:

    {

      switch clone datafile all;

    }

    executing Memory Script

     

    datafile 1 switched todatafile copy

    input datafile copyRECID=5 STAMP=863257693 file name=/export/11g/oradata/orcl/system01.dbf

    datafile 2 switched todatafile copy

    input datafile copyRECID=6 STAMP=863257694 file name=/export/11g/oradata/orcl/sysaux01.dbf

    datafile 3 switched todatafile copy

    input datafile copyRECID=7 STAMP=863257694 file name=/export/11g/oradata/orcl/undotbs01.dbf

    datafile 4 switched todatafile copy

    input datafile copyRECID=8 STAMP=863257694 file name=/export/11g/oradata/orcl/users01.dbf

    datafile 5 switched todatafile copy

    input datafile copyRECID=9 STAMP=863257694 file name=/export/11g/oradata/orcl/example01.dbf

    Finished Duplicate Db at10-NOV-14

     

    RMAN> exit

     

     

    Recovery Managercomplete.

    至此备库创建完毕。

    期间遇到非常多的问题,如今总结例如以下:
    1、运行[oracle@st dbs]rman target sys/oracle@orcl1 auxiliarysys/oracle@orcl2时候,提示不能连接到orcl1。可是能ping同pr,原来是防火墙没有开通过

    2、tnsname.ora文件里service_name 与连接对端的监听中的service_name相相应。

    3、备库中的配置了静态监听,详细原因參见:http://blog.itpub.net/23135684/viewspace-692707

    [qs-hddb2.800best.com_oracle:/u01/app/oracle/db/11.2$rman target 'sys/ora1Q23$AZ'@hddb auxiliary 'sys/ora1Q23$AZ'@hddb1
    
    Recovery Manager: Release 11.2.0.3.0 - Production on Thu Aug 13 19:30:40 2015
    
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
    
    connected to target database: HDDB (DBID=880432607)
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-00554: initialization of internal recovery manager package failed
    RMAN-04006: error from auxiliary database: ORA-12528: TNS:listener: all appropriate instances are blocking new connections

    连接被堵塞,查看监听


    [qs-hddb2.800best.com_oracle:/u01/app/oracle/db/11.2/network/admin$lsnrctl status
    
    LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 13-AUG-2015 19:30:36
    
    Copyright (c) 1991, 2011, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=qs-hddb2.800best.com)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 11.2.0.3.0 - Production
    Start Date                13-AUG-2015 18:50:15
    Uptime                    0 days 0 hr. 40 min. 21 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /u01/app/oracle/db/11.2/network/admin/listener.ora
    Listener Log File         /u01/app/oracle/diag/tnslsnr/qs-hddb2/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=qs-hddb2.800best.com)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Services Summary...
    Service "hddb1" has 1 instance(s).
      Instance "hddb1", status BLOCKED, has 1 handler(s) for this service...
    The command completed successfully

    监听的状态确实是堵塞的。配置静态监听,重新启动监听,再次查看监听的状态:


    Listener Log File         /u01/app/oracle/diag/tnslsnr/qs-hddb2/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=qs-hddb2.800best.com)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Services Summary...
    Service "hddb1" has 2 instance(s).
      Instance "hddb1", status UNKNOWN, has 1 handler(s) for this service...
      Instance "hddb1", status BLOCKED, has 1 handler(s) for this service...
    The command completed successfully
    [qs-hddb2.800best.com_oracle:/u01/app/oracle/db/11.2/network/admin$

    有一个服务的状态是unknow 。再次连接成功


    4、执行duplicate target database for standby from active database nofilenamecheck;执行过程中出现了下面错误,是由于缺少文中的第四步。没有在备库上创建对应的文件夹。

    RMAN> duplicate target database for standby from active database;

    Starting Duplicate Db at 10-NOV-14
    using target database control file instead of recovery catalog
    allocated channel: ORA_AUX_DISK_1
    channel ORA_AUX_DISK_1: SID=19 device type=DISK

    ……省略

    contents of Memory Script:
    {
       backup as copy current controlfile for standby auxiliary format  '/export/11g/oradata/orcl/control01.ctl';
       restore clone controlfile to  '/export/11g/flash_recovery_area/orcl/control02.ctl' from
     '/export/11g/oradata/orcl/control01.ctl';
    }
    executing Memory Script

    Starting backup at 10-NOV-14
    using channel ORA_DISK_1
    channel ORA_DISK_1: starting datafile copy
    copying standby control file
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of Duplicate Db command at 11/10/2014 09:24:29
    RMAN-03015: error occurred in stored script Memory Script
    RMAN-03009: failure of backup command on ORA_DISK_1 channel at 11/10/2014 09:24:29
    ORA-17628: Oracle error 19505 returned by remote Oracle server

    5、执行duplicate target database for standby from active database nofilenamecheck;。执行过程中出现了下面错误。是由于没有使用nofilenamecheck。

    RMAN> duplicate target database for standby from active database;

    Starting Duplicate Db at 10-NOV-14
    using channel ORA_AUX_DISK_1

    …… …… 省略

    contents of Memory Script:
    {
       sql clone 'alter database mount standby database';
    }
    executing Memory Script

    sql statement: alter database mount standby database
    RMAN-00571: ===========================================================
    RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
    RMAN-00571: ===========================================================
    RMAN-03002: failure of Duplicate Db command at 11/10/2014 09:33:14
    RMAN-05501: aborting duplication of target database
    RMAN-05001: auxiliary file name /export/11g/oradata/orcl/example01.dbf conflicts with a file used by the target database
    RMAN-05001: auxiliary file name /export/11g/oradata/orcl/users01.dbf conflicts with a file used by the target database
    RMAN-05001: auxiliary file name /export/11g/oradata/orcl/undotbs01.dbf conflicts with a file used by the target database
    RMAN-05001: auxiliary file name /export/11g/oradata/orcl/sysaux01.dbf conflicts with a file used by the target database
    RMAN-05001: auxiliary file name /export/11g/oradata/orcl/system01.dbf conflicts with a file used by the target database

  • 相关阅读:
    排序之插入排序
    windows 连接 Linux 云服务器
    【Centos】搭建 SVN 服务器
    【微信小程序】scroll-view 的上拉加载和下拉刷新
    支付宝微信支付
    获取页面所有参数
    .net 比较两个日期大小
    .net json字符串转换为json对象
    .net 3des 解密
    .net xml转json
  • 原文地址:https://www.cnblogs.com/wgwyanfs/p/6902963.html
Copyright © 2011-2022 走看看