zoukankan      html  css  js  c++  java
  • Oracle 11.2.4.0 ACTIVE DATAGUARD 单实例安装(COPY创建备库)

    Oracle 11.2.4.0 ADG 单实例安装(COPY创建备库)
    规划:
    主:

    OS: Linux Centos 6.5 X64
    hostname:ORA11G-DG1
    ipaddress:192.168.213.199
    db_unique_name=netdata_pd
    db_name=netdata
    备:

    OS: Linux Centos 6.5 X64
    hostname:ORA11G-DG2
    ipaddress:192.168.213.200
    db_unique_name=netdata_sd
    db_name=netdata

    注OS平台一致

    1.主库安装oracle软件(参照文档)

    2.创建监听,可以用netca,也可以直接用文件创建
    listener.ora如下
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ORA11G-DG1)(PORT = 51518))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC51518))
        )
      )

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
        (GLOBAL_DBNAME = netdata)
        (SID_NAME = netdata)
        )
       )
    ADR_BASE_LISTENER = /u01/app/oracle

    2.主库dbca建库,注意生产环境的一些参数SGA,PGA,PROCESS,归档位置,open_cursor,flash_recovery位置等等,如果要使用EM开始的时候需要建端口1521监听
    3.主库tnames.ora配置
    NETDATA_SD =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.213.200)(PORT = 51518))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = netdata)
        )
      )

    NETDATA_PD =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.213.199)(PORT = 51518))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = netdata)
        )
      )
     
    4.备库安装oracle软件仅安装软件(请参照之前安装软件)

    5.备库配置listener.ora,tnames.ora
    listener.ora如下:
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = ORA11G-DG2)(PORT = 51518))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC51518))
        )
      )

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = PLSExtProc)
          (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
          (PROGRAM = extproc)
        )
        (SID_DESC =
          (GLOBAL_DBNAME = netdata)
          (ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_1)
          (SID_NAME = netdata)
        )
      )
    ADR_BASE_LISTENER = /u01/app/oracle

    tnames.ora如下:
    NETDATA_SD =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.213.200)(PORT = 51518))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = netdata)
        )
      )

    NETDATA_PD =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.213.199)(PORT = 51518))
        )
        (CONNECT_DATA =
          (SERVICE_NAME = netdata)
        )
      )
     
    6.主库参数文件配置
    主库强制forceloing
    SQL> ALTER DATABASE FROCE LOGGING;
    SQL> select  FORCE_LOGGING  from  v$database;
    YES
    参数文件配置
    alter system set DB_UNIQUE_NAME=netdata_pd scope=spfile;
    alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(netdata_pd,netdata_sd)' scope=both;
    alter system set LOG_ARCHIVE_DEST_1='LOCATION=/oradata/archive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=netdata_pd' scope=both;
    alter system set LOG_ARCHIVE_DEST_2='SERVICE=netdata_sd LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=netdata_sd';
    alter system set standby_file_management='AUTO' sid='*' scope=both;
    alter system set fal_client='netdata_pd';
    alter system set fal_server='netdata_sd';
    alter system set db_file_name_convert='/oradata/netdata','/oradata/netdata' SCOPE=SPFILE;
    alter SYSTEM SET log_file_name_convert='/oradata/netdata','/oradata/netdata' SCOPE=SPFILE;

    7.为备库创建参数文件
    create pfile='/oradata/standby.ora' from spfile
    编辑standby.ora
    修改
    *.db_unique_name='NETDATA_PD'
    *.log_archive_config='DG_CONFIG=(netdata_pd,netdata_sd)'
    *.log_archive_dest_1='LOCATION=/oradata/archive
      VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
      DB_UNIQUE_NAME=netdata_pd'
    *.log_archive_dest_2='SERVICE=netdata_sd ASYNC
      VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
      DB_UNIQUE_NAME=netdata_sd'
    *.fal_client='NETDATA_PD'
    *.fal_server='NETDATA_SD'
    *.log_file_name_convert='/oradata/netdata','/oradata/netdata'
    *.standby_file_management='AUTO'
    *.db_file_name_convert='/oradata/netdata','/oradata/netdata'

    8.为备库创建控制文件
    alter  database  create  standby  controlfile  as  '/oradata/control01.ctl';

    9.关闭主库将数据文件,参数文件,密码文件($ORACLE_HOME/dbs/orapwnetdata linux为orapw$ORACLE_SID),admin文件
    注:备库创建所需要目录 用oracle用户创建
    --数据文件目录
    mkdir -p /oradata/netdata
    --recovery目录
    mkdir -p /oradata/recovery_area
    --归档目录
    mkdir -p /oradata/archive
    --admin目录
    mkdir -p /u01/app/oracle/admin/
    拷贝数据文件及redo文件
    scp -r /oradata/netdata/*.log oracle@192.168.213.200:/oradata/netdata/
    scp -r /oradata/netdata/*.dbf oracle@192.168.213.200:c
    拷贝admin目录
    scp -r /u01/app/oracle/admin/* oracle@192.168.213.200:/u01/app/oracle/admin/
    拷贝参数文件
    scp -r /oradata/control01.ctl oracle@192.168.213.200:/oradata/control01.ctl
    scp -r /oradata/control01.ctl oracle@192.168.213.200:/oradata/control02.ctl
    scp -r /oradata/control01.ctl oracle@192.168.213.200:/oradata/recovery_area/control03.ctl
    注意一定要copy全不然启动备库会报错的
    拷贝密码文件
    scp -r $ORACLE_HOME/dbs/orapwnetdata oracle@192.168.213.200:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwnetdata

    10.为主备库创建standbylog
    主:
    startup
    ALTER DATABASE ADD STANDBY LOGFILE group 4('/oradata/netdata/stredo01.log') SIZE 50M;
    ALTER DATABASE ADD STANDBY LOGFILE group 5('/oradata/netdata/stredo02.log') SIZE 50M;
    ALTER DATABASE ADD STANDBY LOGFILE group 6('/oradata/netdata/stredo03.log') SIZE 50M;
    ALTER DATABASE ADD STANDBY LOGFILE group 7('/oradata/netdata/stredo04.log') SIZE 50M;
    注意这里大小要跟redolog一致,比redolog多一组
    备:
    sqlplus /nolog
    create spfile from pfile='/oradata/netdata/standby.ora';
    startup mount;
    ALTER DATABASE ADD STANDBY LOGFILE group 4('/oradata/netdata/stredo01.log') SIZE 50M;
    ALTER DATABASE ADD STANDBY LOGFILE group 5('/oradata/netdata/stredo02.log') SIZE 50M;
    ALTER DATABASE ADD STANDBY LOGFILE group 6('/oradata/netdata/stredo03.log') SIZE 50M;
    ALTER DATABASE ADD STANDBY LOGFILE group 7('/oradata/netdata/stredo04.log') SIZE 50M;

    11.检验主库是否同步
    备操作:
    shutdown immediate;
    startup nomount;
    alter database mount standby database;
    alter database recover managed standby database disconnect from session;

    检验主备是否一致
    archive log list;
    col name format A50;
    col dest_name format A40
    col error format A20
    set line 200;
    select name,sequence#,applied from v$archived_log a where a.sequence#=(select max(sequence#) from v$archived_log);
    col dest_name format A40
    select dest_name,status,error from v$archive_dest where rownum<3;


    启动ADG:
    alter database recover managed standby database cancel;
    alter database open read only;
    alter database recover managed standby database using current logfile disconnect from session;

  • 相关阅读:
    Storm笔记——技术点汇总
    Spark笔记——技术点汇总
    Hive笔记——技术点汇总
    Spark SQL笔记——技术点汇总
    Tomcat剖析(三):连接器(2)
    Tomcat剖析(三):连接器(1)
    Tomcat剖析(二):一个简单的Servlet服务器
    Tomcat剖析(一):一个简单的Web服务器
    HTTP协议
    Java实现顺序表
  • 原文地址:https://www.cnblogs.com/shawnloong/p/4140652.html
Copyright © 2011-2022 走看看