dataguard-创建物理备库全程解析

本文涉及的产品
云解析 DNS,旗舰版 1个月
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:                                                             创建 物理备库    本文主要记录了创建物理备库的完整过程,以便实践中参考.

                                                            创建 物理备库

   本文主要记录了创建物理备库的完整过程,以便实践中参考.耐于机器配置,此实验实现的是在本机上建立两个数据库TEST和STD_ASSG,TEST是主库,STD_ASSG
是备库,最后实现主库发生日志切换后,全部应用于物理备库

一 创建物理备库需要的目录
[oracle@dbsv admin]$ cd std_assg/
[oracle@dbsv std_assg]$ ls
[oracle@dbsv std_assg]$ mkdir arch
[oracle@dbsv std_assg]$ mkdir adump
[oracle@dbsv std_assg]$ mkdir bdump
[oracle@dbsv std_assg]$ mkdir cdump
[oracle@dbsv std_assg]$ mkdir udump
[oracle@dbsv std_assg]$ mkdir flash
[oracle@dbsv std_assg]$ cd $ORACLE_BASE/oradata
[oracle@dbsv oradata]$ mkdir STD_ASSG
二创建sys用户需要的密码文件
[oracle@dbsv dbs]$ ls orapw*
orapwdBAKDB.pwd  orapwdorcl  orapworcl  orapwstdby  orapwTEST
[oracle@dbsv dbs]$ cp orapwTEST orapwSTD_ASSG
三创建备库的日志文件
1 启动已有主库
[oracle@dbsv ~]$ export ORACLE_SID=TEST
[oracle@dbsv ~]$ sqlplus / as sysdba
2查看备库日志情况
SQL> SELECT GROUP#,THREAD#,SEQUENCE#,ARCHIVED,STATUS FROM V$STANDBY_LOG;
GROUP#    THREAD#  SEQUENCE# ARC STATUS
---------- ---------- ---------- --- ----------
         4          0          0 YES UNASSIGNED
         5          0          0 YES UNASSIGNED
         6          0          0 YES UNASSIGNED
3 建立备库日志
SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 7 '/u01/app/oracle/oradata/STD_ASSG/std.redo' SIZE 50M;

Database altered.

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 8 '/u01/app/oracle/oradata/STD_ASSG/std2.redo' SIZE 50M;

Database altered.

SQL> ALTER DATABASE ADD STANDBY LOGFILE GROUP 9 '/u01/app/oracle/oradata/STD_ASSG/std3.redo' SIZE 50M;

Database altered.

四修改初始化参数,配置物理备库需要的信息
vi initTEST.ora
# for primary role
DB_NAME=TEST
DB_UNIQUE_NAME=TEST
LOG_ARCHIVE_CONFIG='DG_CONFIG=(TEST,STD_ASSG)'
#CONTROL_FILES='/u01/app/oracle/oradata/TEST/control1.ctl', '/u01/app/oracle/oradata/TEST/control2.ctl', '/u01/app/oracle/oradata/TEST/control3.ctl'
LOG_ARCHIVE_DEST_1=
 'LOCATION=/u01/app/oracle/admin/TEST/arch/
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=TEST'
LOG_ARCHIVE_DEST_2=
 'SERVICE=STD_ASSG LGWR ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
  DB_UNIQUE_NAME=STD_ASSG'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=30

# for standby role
FAL_SERVER=STD_ASSG
FAL_CLIENT=TEST
DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/STD_ASSG/','/u01/app/oracle/oradata/TEST/'
LOG_FILE_NAME_CONVERT=
 '/u01/app/oracle/oradata/STD_ASSG/','/u01/app/oracle/oradata/TEST/'
STANDBY_FILE_MANAGEMENT=AUTO

复制并修改主库参数文件,改为备库可用参数文件
1,$ s/TEST/STD_ASSG/g
# for primary role
DB_NAME=TEST
DB_UNIQUE_NAME=STD_ASSG
LOG_ARCHIVE_CONFIG='DG_CONFIG=(STD_ASSG,TEST)'
#CONTROL_FILES='/u01/app/oracle/oradata/STD_ASSG/control1.ctl', '/u01/app/oracle/oradata/STD_ASSG/control2.ctl', '/u01/app/oracle/oradata/STD_ASSG/control3.ctl'
LOG_ARCHIVE_DEST_1=
 'LOCATION=/u01/app/oracle/admin/STD_ASSG/arch/
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=STD_ASSG'
LOG_ARCHIVE_DEST_2=
 'SERVICE=TEST LGWR ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
  DB_UNIQUE_NAME=TEST'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
LOG_ARCHIVE_MAX_PROCESSES=30

# for standby role
FAL_SERVER=TEST
FAL_CLIENT=STD_ASSG
DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/TEST/','/u01/app/oracle/oradata/STD_ASSG/'
LOG_FILE_NAME_CONVERT=
 '/u01/app/oracle/oradata/TEST/','/u01/app/oracle/oradata/STD_ASSG/'
STANDBY_FILE_MANAGEMENT=AUTO

五 创建备库的控制文件
SQL> startup mount
ORACLE instance started.

Total System Global Area  452984832 bytes
Fixed Size                  1262308 bytes
Variable Size             230690076 bytes
Database Buffers          213909504 bytes
Redo Buffers                7122944 bytes
Database mounted.
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/oradata/STD_ASSG/STDASSG.ctl';

Database altered.

SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/oradata/STD_ASSG/STDASSG2.ctl';

Database altered.

SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/u01/app/oracle/oradata/STD_ASSG/STDASSG3.ctl';

Database altered.

六 复制数据文件到备库相应目录
[oracle@dbsv TEST]$ cp *.dbf ../STD_ASSG/
七配置网络
STD_RSSG =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = tcp)(HOST = dbsv)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = STD_ASSG)
    )
  )
八配置备库初始化参数文件
[oracle@dbsv admin]$ export ORACLE_SID=STD_ASSG
[oracle@dbsv admin]$ sqlplus / as sysdba

SQL*Plus: Release 10.2.0.3.0 - Production on Sun Apr 27 18:26:55 2014

Copyright (c) 1982, 2006, Oracle.  All Rights Reserved.

Connected to an idle instance.
SQL> create spfile from pfile='initSTD_ASSG.ora'
  2  ;

File created.
启动到控制文件状态
SQL> startup mount
ORACLE instance started.

Total System Global Area  452984832 bytes
Fixed Size                  1262308 bytes
Variable Size             138415388 bytes
Database Buffers          306184192 bytes
Redo Buffers                7122944 bytes
Database mounted.
九 启动日志应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;

Database altered.

十测试物理备库是否可以使用
1 在主库上
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME
 FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;
SEQUENCE# FIRST_TIME          NEXT_TIME
---------- ------------------- -------------------
       …
  47 2014-04-27:18:52:51 2014-04-27:18:56:08
        47 2014-04-27:18:52:51 2014-04-27:18:56:08
        48 2014-04-27:18:56:08 2014-04-27:20:38:43
        48 2014-04-27:18:56:08 2014-04-27:20:38:43
        49 2014-04-27:20:38:43 2014-04-27:20:39:36

 SEQUENCE# FIRST_TIME          NEXT_TIME
---------- ------------------- -------------------
        49 2014-04-27:20:38:43 2014-04-27:20:39:36
        50 2014-04-27:20:39:36 2014-04-27:20:40:48
        50 2014-04-27:20:39:36 2014-04-27:20:40:48
        51 2014-04-27:20:40:48 2014-04-27:20:46:28
        51 2014-04-27:20:40:48 2014-04-27:20:46:28

SQL> ALTER SYSTEM SWITCH LOGFILE;

System altered.


2 在备库上
SQL> SELECT SEQUENCE#,APPLIED FROM V$ARCHIVED_LOG
    ORDER BY SEQUENCE#;
  2 
 SEQUENCE# APP
---------- ---
        44 YES
        45 YES
        46 YES
        47 YES
        48 YES
        49 YES
        50 YES
        51 YES

8 rows selected.
证明备库日志在备库已被应用

 

目录
相关文章
|
3月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
【7月更文挑战第31天】在网络数据的海洋中,使用Python的`requests`库构建网络爬虫就像探索未知的航船。HTTP协议指导爬虫与服务器交流,收集信息。HTTP请求包括请求行、头和体,响应则含状态行、头和体。`requests`简化了发送各种HTTP请求的过程。
78 4
|
14天前
|
SQL Oracle 关系型数据库
SQL整库导出语录:全面解析与高效执行策略
在数据库管理和维护过程中,整库导出是一项常见的需求,无论是为了备份、迁移还是数据分析,掌握如何高效、准确地导出整个数据库至关重要
|
28天前
|
XML JSON 网络协议
超级好用的C++实用库之字节流解析器
超级好用的C++实用库之字节流解析器
20 3
|
27天前
|
存储 关系型数据库 MySQL
深入解析MySQL数据存储机制:从表结构到物理存储
深入解析MySQL数据存储机制:从表结构到物理存储
32 1
|
1月前
|
数据采集 存储 JSON
从零到一构建网络爬虫帝国:HTTP协议+Python requests库深度解析
在网络数据的海洋中,网络爬虫遵循HTTP协议,穿梭于互联网各处,收集宝贵信息。本文将从零开始,使用Python的requests库,深入解析HTTP协议,助你构建自己的网络爬虫帝国。首先介绍HTTP协议基础,包括请求与响应结构;然后详细介绍requests库的安装与使用,演示如何发送GET和POST请求并处理响应;最后概述爬虫构建流程及挑战,帮助你逐步掌握核心技术,畅游数据海洋。
61 3
|
28天前
|
缓存 网络协议 分布式数据库
超级好用的C++实用库之DNS解析
超级好用的C++实用库之DNS解析
36 0
|
1月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
2月前
|
开发者 图形学 Java
揭秘Unity物理引擎核心技术:从刚体动力学到关节连接,全方位教你如何在虚拟世界中重现真实物理现象——含实战代码示例与详细解析
【8月更文挑战第31天】Unity物理引擎对于游戏开发至关重要,它能够模拟真实的物理效果,如刚体运动、碰撞检测及关节连接等。通过Rigidbody和Collider组件,开发者可以轻松实现物体间的互动与碰撞。本文通过具体代码示例介绍了如何使用Unity物理引擎实现物体运动、施加力、使用关节连接以及模拟弹簧效果等功能,帮助开发者提升游戏的真实感与沉浸感。
59 1
|
2月前
|
开发者 Python
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
深入解析Python `requests`库源码,揭开HTTP请求的神秘面纱!
147 1
|
2月前
|
开发者 图形学 Java
Unity物理引擎深度揭秘:从刚体碰撞到软体模拟,全面解析实现复杂物理交互的技巧与秘诀,助你打造超真实游戏体验
【8月更文挑战第31天】物理模拟在游戏开发中至关重要,可让虚拟世界更真实。Unity作为强大的跨平台游戏引擎,内置物理系统,支持从刚体碰撞到布料模拟的多种功能。通过添加Rigidbody组件,可实现物体受力和碰撞;使用AddForce()施加力;通过关节(如Fixed Joint)连接刚体以模拟复杂结构。Unity还支持软体物理,如布料和绳索模拟,进一步增强场景丰富度。掌握这些技术,可大幅提升游戏的真实感和玩家体验。
68 0

推荐镜像

更多