• 12C adg 安装


    一、条件(主库完整库、备库只要软件就行!)

    --数据库软件:linuxx64_12201_database.zip

    --数据库补丁包:p27105253_122010_Linux-x86-64.zip

    ---Opatch升级包:p6880880_122010_Linux-x86-64.zip

    ---IP 地址分配

    172.16.11.1 testdb

    172.16.11.2 teststdydb

    主库: testdb

    备库: teststdydb

    --安装主库软件并且创建数据库

    --备库安装数据库软件

    --升级主备库Opatch、打补丁包

    二、监听、TNS

    主库: listener.ora

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = testdb)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )

    ADR_BASE_LISTENER = /u01/app/oracle

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME =testdb)
          (ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
          (SID_NAME = testdb)
         )
        (SID_DESC =
          (GLOBAL_DBNAME =teststdydb)
          (ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
          (SID_NAME = teststdydb)
        )
      )

    --tnsnames.ora

    testdb =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.11.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = testdb)
        )
      )

    teststdydb =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.11.2)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = teststdydb)
        )
      )

    --备库

    --listener.ora

    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = teststdydb)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )

    ADR_BASE_LISTENER = /u01/app/oracle

    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME =testdb)
          (ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
          (SID_NAME = testdb)
         )
        (SID_DESC =
          (GLOBAL_DBNAME =teststdydb)
          (ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1)
          (SID_NAME = teststdydb)
        )
      )

    --tnsnames.ora

    testdb =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.11.1)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = testdb)
        )
      )

    teststdydb =
      (DESCRIPTION =
        (ADDRESS_LIST =
          (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.11.2)(PORT = 1521))
        )
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = teststdydb)
        )
      )

    ---重新启动主备库监听!!!

    lsnrctl reload

    ---查询是否是手动注册

    lsnrctl status

    UNKNOWN

    READY

    --测试

    tnsping testdb
    tnsping teststdydb
    sqlplus sys/oracle@testdb as sysdba
    sqlplus sys/oracle@teststdydb as sysdba

    三、修改主库必要参数(CDB)

    select force_logging from v$database; --查询是否开启

    alter database force logging;--开启强制记录日志

    alter database archivelog;--开启归档

    alter system set standby_file_management=auto;--手动

    alter system set log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=testdb' scope=spfile;--开启本地归档

    alter system set log_archive_dest_2='SERVICE=teststdydb LGWR ASYNC valid_for=(all_logfiles,all_roles) db_unique_name=teststdydb' scope=spfile;--开启远程归档

    alter system set log_archive_config='dg_config=(testdb,teststdydb)';--开启DG功能

    alter system set fal_client='testdb';--指定源端

    alter system set fal_server='teststdydb';--指定目标端

    alter system set log_archive_dest_state_2=enable;--启动应用

    alter system set log_archive_dest_state_1=enable;--启动应用

    alter system set log_archive_format='testdb%t_%s_%r.dbf' scope=spfile;--指定归档文件形式

    --源端---先写备端地址,在写源端地址

    alter system set db_file_name_convert='/u01/app/oracle/oradata/teststdydb/','/u01/app/oracle/oradata/testdb/' scope=spfile;
    alter system set log_file_name_convert='/u01/app/oracle/oradata/teststdydb/','/u01/app/oracle/oradata/testdb/' scope=spfile;

    select bytes/1024/1024 from v$log;--查询日志大小

    select member from v$logfile;--查询日志位置

    select GROUP#,BYTES/1024/1024/1024 G from v$log;--查询组的个数,以及大小

    select group#,thread#,members,archived,status from v$log;--查询当前使用的是那个日志组

    ---添加 standby logfile

    alter database add standby logfile group 6 ('/u01/app/oracle/oradata/testdb/standby06a.log',
    '/u01/app/oracle/oradata/testdb/standby06b.log') size 1G ;
    alter database add standby logfile group 7 ('/u01/app/oracle/oradata/testdb/standby07a.log',
    '/u01/app/oracle/oradata/testdb/standby07b.log') size 1G ;
    alter database add standby logfile group 8 ('/u01/app/oracle/oradata/testdb/standby08a.log',
    '/u01/app/oracle/oradata/testdb/standby08b.log') size 1G ;
    alter database add standby logfile group 9 ('/u01/app/oracle/oradata/testdb/standby09a.log',
    '/u01/app/oracle/oradata/testdb/standby09b.log') size 1G ;
    alter database add standby logfile group 10 ('/u01/app/oracle/oradata/testdb/standby10a.log',
    '/u01/app/oracle/oradata/testdb/standby10b.log') size 1G ;
    alter database add standby logfile group 11 ('/u01/app/oracle/oradata/testdb/standby11a.log',
    '/u01/app/oracle/oradata/testdb/standby11b.log') size 1G ;

    ---重启主库数据库,使修改参数生效

    shut immediate;

    startup

    ---生成 pfile 文件

    create pfile from spfile;

    ---传递密码文件

    cd $ORACLE_HOME/dbs

    scp orapwtestdb 172.16.11.2:/u01/app/oracle/product/12.2.0.1/db_1/dbs/orapwteststdydb

    ---传递参数文件
    cd $ORACLE_HOME/dbs
    scp inittestdb.ora 172.16.11.2:/u01/app/oracle/product/12.2.0.1/db_1/dbs/initteststdydb.ora

    四、修改备库参数文件initteststdydb.ora相关参数

    --创建audit_file_dest 目录(改成备库的)

    mkdir -p /u01/app/oracle/admin/teststdydb/adump

    ---创建control_files 路径

    mkdir -p /u01/app/oracle/oradata/teststdydb/

    --修改db_file_name_convert、log_file_name_convert 路径

    *.db_file_name_convert='/u01/app/oracle/oradata/testdb','/u01/app/oracle/oradata/teststdydb'
    *.log_file_name_convert='/u01/app/oracle/oradata/testdb','/u01/app/oracle/oradata/teststdydb'

    --添加db_unique_name参数

    *.db_unique_name='teststdydb'

    ---修改下列参数

    *.fal_client='teststdydb'
    *.fal_server='testdb'

    *.log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=teststdydb'

    *.log_archive_dest_2=''

    *.log_archive_format='teststdydb_%t_%s_%r.arc'

     ----启动备库到nomount

    startup nomount;

    五、灾备库执行恢复操作

    rman target sys/oracle@testdb auxiliary sys/123456@teststdydb

    duplicate target database for standby  nofilenamecheck  from active database;

    ---上面操作完成,备库就处于mount状态

    alter database open;---起库

    ---备库应用日志

    alter database recover managed standby database using current logfile  disconnect from session;

    alter database recover managed standby database cancel;---取消应用

     --查询备库日志是否应用

    select sequence#,applied from v$archived_log;

    ---查询备库进程是否正常

    select process,client_process,sequence#,status from v$managed_standby;

    SQL> select process, status, thread#,sequence#, block#, blocks from v$managed_standby;

    PROCESS   STATUS   THREAD#  SEQUENCE#  BLOCK#     BLOCKS

    --------- ------------ ---------- ---------- ---------- ----------

    ARCH   CLOSING  1  530 1689600        595

    DGRD   ALLOCATED  0    0       0   0

    DGRD   ALLOCATED  0    0       0   0

    ARCH   CLOSING  1  528 1789952  17

    ARCH   CLOSING  1  529 1406976       1586

    ARCH   CLOSING  1  526 1939456       1946

    RFS   IDLE   0    0       0   0

    RFS   IDLE   0    0       0   0

    RFS   IDLE   1  531 1211169   1

    LNS   CONNECTED  0    0       0   0

    LNS   CONNECTED  0    0       0   0

    RFS   IDLE   0    0       0   0

    MRP0   APPLYING_LOG  1  531 1211169    2097152

     ---如果进程不正常;或者数据没有同步如何处理?

    select ERROR from v$archive_dest;

    select dest_name,status,error from v$archive_dest where rownum<3;

    ---查询主备库状态

    select DATABASE_ROLE,SWITCHOVER_STATUS from v$database;

    六、验证

    --创建一个测试表;进行增删改操作;在备库验证是否同步

    七、修改主备库的模式

    最高保护模式(Maximum Protection)
    最高性能模式(Maximum Performance)
    最高可用性模式(Maximum Availability)

    ---查询数据库现在是那种模式
    select open_mode,PROTECTION_LEVEL,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;
    select name,dbid,database_role,protection_mode from v$database;

    --切换成 最高可用

    alter database set standby database to maximize availability;

    --最高性能模式
    alter database set standby database to maximize Performance;

    --最大保护模式

    alter database set standby database to maximize protection;

  • 相关阅读:
    初识lunece(同义词检索)
    初识IKAnalyzer
    初识springmvc_01
    初识mybatis_03 一级缓存和二级缓存
    初识mybatis_02 基于注解实现增删改查
    初识mybatis_01
    Javascript中的this指向问题
    JS中的深拷贝与浅拷贝
    移动端1像素边框问题
    css的一些知识点的总结(四)
  • 原文地址:https://www.cnblogs.com/ss-33/p/9002376.html
Copyright © 2020-2023  润新知