返回顶部
首页 > 资讯 > 数据库 >怎么部署Oracle19c dataguard
  • 348
分享到

怎么部署Oracle19c dataguard

2024-04-02 19:04:59 348人浏览 独家记忆
摘要

本篇内容介绍了“怎么部署oracle19c dataguard”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成

本篇内容介绍了“怎么部署oracle19c dataguard”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

新特性

oracle19c
  • 通过自动将还原点从主节点复制到备用节点,简化了将物理备用节点闪回在主节点上捕获的时间点的过程.

  • 在主数据库上执行闪回或时间点恢复时,处于mount模式的备用数据库可以自动遵循在主数据库上执行的相同恢复过程

  • 可以在活动数据防护备用数据库上同时启用 Oracle 数据库内存列存储和数据保护多实例重做应用。

  • DML操作可以在活动数据保护备用实例上执行。当在ADG备用数据库上运行无效的PL/sql对象时,该对象将自动重新编译。

  • Fast-Start-Failover (FSFO) 新特性.主库挂了,备库快速启动

    oracle18c
  • 在角色更改期间,数据库缓冲区缓存状态现在保持在Oracle活动数据保护备用服务器

  • 现在可以在Oracle Active Data Guard备用数据库上动态创建全局临时表.

  • 一个新的初始化参数ADG_ACCOUNT_INFO_TRACKING扩展了对用户帐户安全的控制,以防止登录攻击跨生产数据库和所有Oracle活动数据保护备用数据库。参见Oracle数据库参考

  • 一个新的视图V$DATAGUARD_PROCESS(替代V$MANAGED_STANDBY)提供了可查询的信息,以验证重做是否从主数据库传输并应用于备用数据库.

  • 私有临时表(也称为本地临时表)的元数据可以存储在内存中。这允许在只读数据库上启用专用临时表,从而允许报表应用程序在Oracle活动数据保护备用数据库上运行。

  • 数据库取消记录已扩展为两种新模式:用于负载性能的备库Nologging和用于数据可用性的Standby Nologging。这些模式为在Oracle活动数据保护环境中使用提供了更好的支持,而不会显著增加生成的重做量

  • 现在可以使用一个RMAN命令RECOVER standby database通过网络刷新备用数据库。

  • 对使用DBMS_ROLLING PL/SQL包执行的升级的Data Guard代理支持进行了增强。

  • 多实例重做应用现在支持块更改跟踪

部署

开启归档
select name,log_mode,force_logging from gv$database;
alter database force logging;
  • 从Oracle Database 18c开始,引入了以下两个新的nologging子句,它们可以执行非日志记录操作,同时可以使Active Data Guard备用数据库接收到所有数据,从而防止FORCE 方式生成大量重做日志导致性能下降。

  • ALTER DATABASE SET STANDBY NOLOGGING FOR DATA AVAILABILITY; —模式使批量加载操作通过其自身与备用数据库的连接将加载的数据发送到每个备用数据库。提交会延迟,直到所有Active Data Guard备用数据库通过 recover 方式将数据应用完成。

  • ALTER DATABASE SET STANDBY NOLOGGING FOR LOAD PERFORMANCE;
    —模式与先前的模式类似,不同之处在于,如果网络无法跟上数据加载到主数据库的速度,则加载过程可以停止将数据发送到备用数据库。在此模式下,备用数据库可能缺少数据,但每个Active Data Guard备用数据库都会在recover过程中自动从主数据库中提取数据。

primary 参数
show parameter db_unique_name
ALTER SYSTEM SET LOG_ARCHive_CONFIG='DG_CONFIG=(mydb19c,mydbdg)' SID='*';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATioN=/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=mydb19c' SID='*';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2='SERVICE=mydbdg LGWR ASYNC REOPEN NET_TIMEOUT=300 VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUE_NAME=mydbdg' SID='*';
alter system set LOG_ARCHIVE_DEST_STATE_1=enable;
alter system set LOG_ARCHIVE_DEST_STATE_2=enable;
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT =AUTO SID='*';
ALTER SYSTEM SET FAL_SERVER='MYDBDG' SID='*';
alter system set DB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/MYDBDG','/u01/app/oracle/oradata/MYDB19C','/u01/app/oracle/oradata/MYDBDG','/u01/app/oracle/oradata/mypdb' scope=spfile;
alter system set LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradata/MYDBDG','/u01/app/oracle/oradata/MYDB19C' scope=spfile; 
ALTER SYSTEM SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' SCOPE=SPFILE;
ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=30;
添加 standby log
select group#,thread#,bytes/1024/1024,members from v$log;
col member for a50
select group#,member from v$logfile
alter database add standby logfile group 4 ('/u01/app/oracle/oradata/MYDB19C/stdbredo1.log') size 200m;
alter database add standby logfile group 5 ('/u01/app/oracle/oradata/MYDB19C/stdbredo2.log') size 200m;
alter database add standby logfile group 6 ('/u01/app/oracle/oradata/MYDB19C/stdbredo3.log') size 200m;
alter database add standby logfile group 7 ('/u01/app/oracle/oradata/MYDB19C/stdbredo4.log') size 200m;
--查看standby log
select group#,thread#,bytes/1024/1024,status from v$standby_log;
配置listener/tnsnames
--primary and standby
--vi $ORACLE_HOME/network/admin/tnsnames.ora
MYDB19C =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = tcp)(HOST = 192.168.80.216)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = mydb19c)
      (UR = A)
  )  
 )
MYDBDG =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.217)(PORT = 1521))
    (CONNECT_DATA =
     (SERVICE_NAME = mydbdg)
     (UR = A)
   )  
 )
--standby vi $ORACLE_HOME/network/admin/listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = mydbdg)
        (ORACLE_HOME = /u01/app/oracle/product/19.0.0/dbhome_1)
      (SID_NAME = mydbdg)
    )  
  )
创建验证用户
create user C##dgmima identified by dgmima2019;
grant sysoper to c##dgmima;
alter system set redo_transport_user=c##dgmima sid='*';
拷贝相关文件
create pfile='/home/oracle/pfile2020.ora' from spfile;
scp /home/oracle/pfile2020.ora 192.168.80.217:/home/oracle
scp $ORACLE_HOME/dbs/orapwmydb19c 192.168.80.217:/u01/app/oracle/product/19.0.0/dbhome_1/dbs/orapwmydbdg
standby pfile,注意数据库唯一名
*.audit_file_dest='/u01/app/oracle/admin/mydbdg/adump'
*.audit_trail='none'
*.compatible='19.0.0'
*.control_files='/u01/app/oracle/oradata/MYDBDG/control01.ctl','/u01/app/oracle/oradata/MYDBDG/control02.ctl'
*.db_block_size=8192
*.db_file_name_convert='/u01/app/oracle/oradata/MYDB19C','/u01/app/oracle/oradata/MYDBDG','/u01/app/oracle/oradata/mypdb','/u01/app/oracle/oradata/MYDBDG'
*.db_files=200
*.db_name='MYDB19C'
*.db_unique_name='MYDBDG'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=mydbdgXDB)'
*.enable_pluggable_database=true
*.fal_server='MYDB19C'
*.local_listener=''
*.log_archive_config='DG_CONFIG=(mydb19c,mydbdg)'
*.log_archive_dest_1='LOCATION=/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=mydbdg'
*.log_archive_dest_2='SERVICE=mydb19c LGWR ASYNC REOPEN NET_TIMEOUT=300 VALID_FOR=(ONLINE_LOGFILE,PRIMARY_ROLE) DB_UNIQUE_NAME=mydb19c'
*.log_archive_dest_state_1='ENABLE'
*.log_archive_dest_state_2='ENABLE'
*.log_archive_format='%t_%s_%r.arc'
*.log_archive_max_processes=30
*.log_file_name_convert='/u01/app/oracle/oradata/MYDB19C','/u01/app/oracle/oradata/MYDBDG'
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=200m
*.processes=300
*.remote_login_passWordfile='EXCLUSIVE'
*.sga_target=1178m
*.standby_file_management='AUTO'
*.undo_tablespace='UNDOTBS1'
创建相关目录
mkdir -p /u01/app/oracle/admin/mydbdg/adump
mkdir -p /u01/app/oracle/oradata/MYDBDG
启动数据库
export ORACLE_SID=mydbdg
create spfile from pfile='/home/oracle/pfile2020.ora';
startup nomount;
开始复制数据库
rman target sys/oracle@mydb19c auxiliary sys/oracle@mydbdg
run {
allocate channel prmy1 type disk;
allocate channel prmy2 type disk;
allocate channel prmy3 type disk;
allocate channel prmy4 type disk;
allocate auxiliary channel stby1 type disk;
allocate auxiliary channel stby2 type disk;
allocate auxiliary channel stby3 type disk;
allocate auxiliary channel stby4 type disk;  
duplicate target database for standby from active database nofilenamecheck;
}
启动恢复进程
--备端启动恢复进程mrp0
alter database recover managed standby database using current logfile disconnect from session;
--备端查询是否有mrp0进程
select name,pid,role,action,group#,thread#,sequence#,delay_mins from v$dataguard_process;
--切换主库归档,观察备库归档日志同步是否正常。
alter system archive log current;
--关闭介质恢复的方法:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
--启动数据库
alter database open;
alter pluggable database all open;

开启DML 重定向

--注意,备库如果不提交,主库及其他备库无法查看,备库可以查看。提交后都可以查看
ALTER SESSION ENABLE ADG_REDIRECT_DML;
--系统级别
alter system ENABLE ADG_REDIRECT_DML;

DG环境克隆数据库

克隆数据库必须为只读模式

远程克隆参考:
create database link <LINK_NAME> connect to system identified by xxxxxxxx using '<LINK_NAME>';
alter systm set STANDBY_PDB_SOURCE_FILE_DBLINK='db_link';
alter pluggable database <DB_NAME> open read only;
create pluggable database <DB_NAME> from <ALIAS>@<LINK_NAME>;

装载数据库

--装载,必须使用xml方式,参数才生效
--其他库卸载
alter pluggable database <PDB_NAME> unplug into '/home/oracle/<CDB_NAME>/<PDB_NAME>.xml';
backup as copy pluggable database <PDB_NAME> format '/backup/<PDB_NAME>';
--备库,设置以下参数,备端设置路径与主端原有文件一致
alter system set standby_pdb_source_file_directory='/backup/<PDB_NAME>';
--主库
create pluggable database <PDB_NAME> as clone using '/<PATH>/<PDB_NAME>.xml' copy;
--or
 create pluggable database <PDB_NAME> as clone using '/home/oracle/<CDB_NAME>/<PDB_NAME>.xml' copy source_file_directory='+sparse/<PATH>/DATAFILE';

“怎么部署Oracle19c dataguard”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: 怎么部署Oracle19c dataguard

本文链接: https://lsjlt.com/news/63014.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么部署Oracle19c dataguard
    本篇内容介绍了“怎么部署Oracle19c dataguard”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成...
    99+
    2024-04-02
  • Oracle 12C DataGuard部署以及维护
    Oracle 12C DataGuard部署以及维护 iverycd 2019-02-10 17:24:04 2984 收藏 4 分类专栏: DataGuard 版权 Oracle 12C DataGuard部署     一、环境部署 ...
    99+
    2016-08-07
    Oracle 12C DataGuard部署以及维护
  • 部署Physical Dataguard 与 双节点Oracle RAC环境
     关于oracle rac 部署请访问这里 http://worms.blog.51cto.com/969144/1416975系统信息:Primary端RAC  Primar...
    99+
    2024-04-02
  • Oracle RAC+DG环境搭建(CentOS 7+Oracle 12C)( 十) 部署 DataGuard
    一、配置主机   1. 设置主机名 hostnamectl set-hostname  DG   2. 配置网络 vim /e...
    99+
    2024-04-02
  • centos6.8 怎么部署php
    本文操作环境:centos6.8系统、php7.0、Dell G3。centos6.8 怎么部署php?centos6.8源码安装php7.0安装依赖包yum -y install gd gd-devel zlib-devel libjpe...
    99+
    2017-05-07
    centos6.8 php
  • Oracle_CDC该怎么部署
    今天就跟大家聊聊有关Oracle_CDC该怎么部署,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1.  CDC的实施步骤(异步在线日志)1...
    99+
    2024-04-02
  • CentOS7怎么部署L2TP
    这篇文章主要介绍“CentOS7怎么部署L2TP”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“CentOS7怎么部署L2TP”文章能帮助大家解决问题。l2tp是一种工业标准的Internet隧道协议...
    99+
    2023-06-27
  • Linux怎么部署WebLogic
    这篇文章主要介绍“Linux怎么部署WebLogic”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Linux怎么部署WebLogic”文章能帮助大家解决问题。Linux部署weblogic具体步骤:...
    99+
    2023-06-28
  • Ansible怎么部署Tomcat
    这篇文章主要讲解了“Ansible怎么部署Tomcat”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Ansible怎么部署Tomcat”吧!Ansible的特性:ansible基于Pytho...
    99+
    2023-06-27
  • docker怎么部署fastapi
    这篇文章主要介绍了docker怎么部署fastapi的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇docker怎么部署fastapi文章都会有所收获,下面我们一起来看看吧。项目结构:pycharm结构:拷贝到x...
    99+
    2023-07-05
  • golang android怎么部署
    随着移动互联网的快速发展,移动应用的开发与管理成为各大企业和开发者的一个重要问题。而在移动应用的开发中,Android系统的应用开发一直处于不断发展的状态。对于许多开发者来说,如何快速高效地部署开发环境也是一个比较烦恼的问题。框架类似于 g...
    99+
    2023-05-14
  • golang怎么部署docker
    随着近年来容器化技术的火热,Docker也成为了越来越多开发者、运维人员、IT从业者等的必备工具。而Golang语言的高并发优势也让它成为了不少开发者使用的首选语言。那么,如何将Golang应用部署到Docker容器中呢?本文将为大家介绍g...
    99+
    2023-05-14
  • windows golang怎么部署
    Go语言是一种由谷歌公司开发推出的开源编程语言。自推出以来,它以其高效、稳定和安全的特性,迅速成为了开发者喜爱的语言之一。在Windows平台上,如何将Golang部署在服务器上呢?下面我们来详细介绍。一、环境准备在部署Golang之前,需...
    99+
    2023-05-14
  • hadoop该怎么部署
    这篇文章主要讲解了“hadoop该怎么部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“hadoop该怎么部署”吧!hadoop部署Hadoop介绍:广义: 以apache hadoop软件...
    99+
    2023-06-02
  • CentOS7.2怎么部署FTP
    这篇文章主要为大家展示了“CentOS7.2怎么部署FTP”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“CentOS7.2怎么部署FTP”这篇文章吧。目前Linux大部分部署的FTP服务器都是v...
    99+
    2023-06-10
  • linux golang怎么部署
    这篇文章主要讲解了“linux golang怎么部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux golang怎么部署”吧!要在 Linux 系统上部署 Golang 应用程序,...
    99+
    2023-07-06
  • gunicorn怎么部署flask
    Gunicorn部署Flask应用的步骤如下:1、在终端或命令行中输入“pip install gunicorn”命令来安装Gunicorn;2、创建Flask应用;3、在终端或命令行中输入“flask run”命令来启动Flask应用程序...
    99+
    2023-12-19
    Flask gunicorn部署flask gunicorn
  • 怎么搭建dataguard
    本篇内容主要讲解“怎么搭建dataguard”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么搭建dataguard”吧!     ...
    99+
    2024-04-02
  • 怎么安装部署MyCat
    怎么安装部署MyCat?相信大部分人都还没学会怎么安装部署,为了让大家学会,给大家总结了以下内容,话不多说,一起往下看吧1、准备mycat部署环境系统IP主机名服务Centos 7.5192.168.20....
    99+
    2024-04-02
  • 怎么部署SharePlex环境
    这篇文章主要讲解了“怎么部署SharePlex环境”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么部署SharePlex环境”吧!目标在 Linux 系统...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作