首页 > 数据库 >oracle19c pdb 模式下的dataguard 配置[1+1]

oracle19c pdb 模式下的dataguard 配置[1+1]

时间:2022-12-06 18:05:28浏览次数:38  
标签:主库 oracle19c skedudb skedudg database alter dataguard oracle pdb

标签(空格分隔): Oracle 系列


一:配置介绍

使用Oracle 19c 的安装包安装两台 主机:

系统介绍:
    CentOS7.9x64

cat /etc/hosts
--------
   172.130.216.176     [主库]
   172.130.216.177     [备库]
--------
配置条件: 
   主库 安装 好 Oracle 19c软件 与 建好DBCA的pdb的 (skedupdb)---> 数据库SID [skedudb]
   备库 安装好 数据库软件[只安装数据库软件] ----》 备库预设 数据库SID 【skedudg】


二: dataguard 配置步骤

2.1 配置监听:

准备备库监听配置
cd $ORACLE_HOME/network/admin/
vim listener.ora
----
LISTENER =
 (DESCRIPTION_LIST =
  (DESCRIPTION =
   (ADDRESS = (PROTOCOL = TCP)(HOST = flyfish02)(PORT = 1521))
   (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
 )
 )
SID_LIST_LISTENER=
(SID_LIST=
 (SID_DESC=
   (GLOBAL_DBNAME=skedudg)
   (SID_NAME=skedudg)
 (ORACLE_HOME=/oracle/app/oracle/product/19c/db_1)
 )
 )


----
lsnrctl start 

lsnrctl status 




image.png image.png

三:配置Oracle 19c DG 的过程

1. 主库配置oracledg01:

主库配置
1. 打开强制日志模式

alter database force logging;

2. 设置 归档目录
 打开数据库的归档:
  archive log list;
  show parameter recover 

alter system set db_recovery_file_dest_size=1800g;  [设置归档参数大小]
alter system set db_recovery_file_dest='/archive';
关闭数据库
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
alter system switch logfile;



image.png image.png image.png

查看是不是有归档日志 产生
cd /archive/SKEDUDB/archivelog/2022_12_02/

image.png

03.创建主库的redolog 日志

sqlplus / as sysdba

select * from v$log;  [查看文件有几组]

select* from v$logfile;

默认有3组 配置至少要在加 4组

image.png

alter database add standby logfile group 4 '/oradata/SKEDUDB/stredo04.log' size 200m;
alter database add standby logfile group 5 '/oradata/SKEDUDB/stredo05.log' size 200m;
alter database add standby logfile group 6 '/oradata/SKEDUDB/stredo06.log' size 200m;
alter database add standby logfile group 7 '/oradata/SKEDUDB/stredo07.log' size 200m;

image.png

主备库监听tnsnames.ora:[主备机器全部配置]
vi /oracle/app/oracle/product/19c/db_1/network/admin/tnsnames.ora
----
SKEDUDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracledg01)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = skedudb)
    )
  )


SKEDUDG =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = oracledg02)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = skedudg)
    )
  )

-----
scp tnsnames.ora oracle@oracledg02:/oracle/app/oracle/product/19c/db_1/network/admin/

tnsping skedudb
tnsping skedudg 

image.png image.png image.png

image.png image.png

准备数据库密码文件
cd $ORACLE_HOME/dbs/
备份原有密码文件:
mv orapwskedudb orapwskedudb.bak


主库:
orapwd file=/oracle/app/oracle/product/19c/db_1/dbs/orapwskedudb password=sk123.com

登录测试:
   sqlplus "sys/sk123.com@skedudb as sysdba"

同步密码文件到备库:

cd $ORACLE_HOME/dbs
scp orapwskedudb oracle@oracledg02:/oracle/app/oracle/product/19c/db_1/dbs/

oracledg02 主机从新命名:
mv orapwitpuxdb orapwskedudg

登录
sqlplus "sys/sk123.com@skedudg as sysdba" 

image.png image.png image.png image.png

主库生成pfile文件:

主库:

create pfile='/oradata/pfile.ora' from spfile;

image.png

主库参数(重启生效):
alter system set db_unique_name='skedudb' scope=spfile;
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(skedudb,skedudg)' scope=both;
alter system set LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=skedudb' scope=both;
alter system set LOG_ARCHIVE_DEST_2='SERVICE=skedudg LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=skedudg' scope=both;
alter system set fal_client='skedudb' scope=both;
alter system set FAL_SERVER='skedudg' scope=both;
alter system set DB_FILE_NAME_CONVERT='SKEDUDG','SKEDUDB' scope=spfile;
alter system set LOG_FILE_NAME_CONVERT='SKEDUDG','SKEDUDB' scope=spfile;
alter system set standby_file_management=AUTO scope=both;

重启数据库生效
shutdown immediate;

start up ;

image.png image.png

主库同步:
-------------------
cd /oradata/
scp pfile.ora oracle@oracledg02:/opt/oracle/
-----------------------
备库参数:
vim pfile.ora
---------------------------------------------------------------
*.audit_file_dest='/oracle/app/oracle/admin/skedudg/adump'
*.audit_trail='db'
*.compatible='19.0.0'
*.control_files='/oradata/SKEDUDG/control01.ctl','/oradata/SKEDUDG/control02.ctl'
*.db_block_size=8192
*.db_name='skedudb'
*.db_recovery_file_dest_size=107374182400
*.db_recovery_file_dest='/archive'
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=skedudgXDB)'
*.enable_pluggable_database=true
*.nls_language='AMERICAN'
*.nls_territory='AMERICA'
*.open_cursors=300
*.pga_aggregate_target=780m
*.processes=640
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=2340m
*.standby_file_management='MANUAL'
*.undo_tablespace='UNDOTBS1'


-----

新增:
---------------------------------------------------------
db_unique_name='skedudg'
LOG_ARCHIVE_CONFIG='DG_CONFIG=(skedudg,skedudb)'
LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=skedudg'
LOG_ARCHIVE_DEST_2='SERVICE=skedudb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=skedudb'
fal_client='skedudg'
FAL_SERVER='skedudb'
DB_FILE_NAME_CONVERT='SKEDUDB','SKEDUDG'
LOG_FILE_NAME_CONVERT='SKEDUDB','SKEDUDG'
standby_file_management=AUTO

image.png image.png

备库创建目录:

mkdir -p /oracle/app/oracle/admin/skedudg/adump
mkdir -p /oradata/SKEDUDG/

sqlplus "sys/sk123.com@skedudg as sysdba" 

startup pfile='/oradata/pfile.ora' nomount;
create spfile from pfile='/oradata/pfile.ora';
shutdown immediate;
startup nomount;


image.png image.png image.png

创建dataguard数据库
rman target sys/sk123.com@skedudb auxiliary sys/sk123.com@skedudg
duplicate target database for standby from active database;

image.png image.png image.png

打开备库的pdb 
sqlplus / as sysdba 

shutdown immediate;

startup 

alter pluggable database skedupdb open;

alter session set container=SKEDUPDB;



image.png image.png image.png

检查测试:
检查dataguard状态:
select NAME,OPEN_MODE,PROTECTION_MODE,DATABASE_ROLE,SWITCHOVER_STATUS from v$database;
启动dataguard数据同步:
sqlplus "/as sysdba"
alter database recover managed standby database disconnect from session;

image.png

关闭数据库同步
关闭dataguard数据同步:
alter database recover managed standby database cancel;

image.png

备库启动adg模式的备库:
alter database open;
alter database recover managed standby database disconnect from session;

主库测试:
alter system switch logfile;
/
主备库检查dataguard状态:
SELECT UNIQUE THREAD#, MAX(SEQUENCE#) OVER(PARTITION BY THREAD#) LAST FROM V$ARCHIVED_LOG;
主库:
  SELECT UNIQUE THREAD#, MAX(SEQUENCE#) OVER(PARTITION BY THREAD#) LAST FROM V$ARCHIVED_LOG;

image.png

备库:
  SELECT UNIQUE THREAD#, MAX(SEQUENCE#) OVER(PARTITION BY THREAD#) LAST FROM V$ARCHIVED_LOG;

image.png

主库日志:
cd /oracle/app/oracle/diag/rdbms/skedudb/skedudb/trace [主库日志]
tail -300f alert_skedudb.log

image.png

备库日志:
   cd /oracle/app/oracle/diag/rdbms/skedudg/skedudg/trace

image.png

dataguard数据同步测试
主库:

alter session set container=SKEDUPDB;

create tablespace skedu66 datafile '/oradata/SKEDUDB/skedu66.dbf' size 10m autoextend off;
create user skedu66 identified by skedu66 default tablespace skedu66;
grant dba to skedu66;
conn skedu66/skedu66@localhost:1521/SKEDUPDB
create table skedu66.skpux01(c1 varchar2(10),c2 number);
insert into skpux01 values('skpux01','1');
insert into skpux01 values('skpux02','2');
insert into skpux01 values('skpux03','3');
insert into skpux01 values('skpux04','4');
commit;
select * from skedu66.skpux01;
alter system switch logfile;

image.png image.png image.png image.png image.png image.png

备库检查:
sqlplus / as sysdba
show pdbs

alter session set container=SKEDUPDB;
conn skedu66/skedu66@localhost:1521/SKEDUPDB;
select * from skedu66.skpux01;

image.png image.png

标签:主库,oracle19c,skedudb,skedudg,database,alter,dataguard,oracle,pdb
From: https://blog.51cto.com/flyfish225/5916418

相关文章

  • Oracle19c安装及Excel连接
    一、软件安装1.下载压缩包,解压,双击该文件夹下的setup.exe 2.会弹出这样一个控制台窗口,稍等片刻即可 3.第一个窗口,选中【创建并配置单实例数据库】,点击下一步4.选中......
  • oracle19c 修改字符集
    环境:centos7.6oracle19c修改过程:shutdownimmediate;startupmount;ALTERSYSTEMENABLERESTRICTEDSESSION;ALTERSYSTEMSETJOB_QUEUE_PROCESSES=0;ALTE......
  • Oracle19c静默安装
    硬件环境准备龙晰操作系统7.9(rhel内核)虚拟机内存18Gcpu至强银牌磁盘200G创建安装目录及数据目录mkdir-p/u01/app/oracle/product/19.0.0/dbhome_1mkdir-p/u02/......
  • Tempdb 不能收缩问题
    tempdbinitialsize和dbccshrinkfile在使用sqlserver时您可能遇到过下面的情况,tempdb的数据文件初始大小为3mb,随着对tempdb的使用,tempdb文件逐渐变得很大(例如30GB),导......
  • tempdb大量闩锁等待问题分析
    背景客户业务系统升级后,高峰期运行缓慢,在SQL专家云上看到数据库出现严重等待,需要分析原因并紧急处理。现象登录到SQL专家云中,进入实时可视化页面,在活动会话里面看到有......
  • 使用rsync下载PDB数据库
    使用rsync下载PDB数据库biolearn0.1062018.05.2815:56:30字数221阅读2,8272018.5.28星期一多云biolearn从PDB数据库下载复合物的结构有两种方式,一是......
  • 使用pdb进行debug
    学这个的目的在于用命令行进行程序调试,不能过于依赖IDE。pdb是python自带的调试工具,缺点是不适合多线程调试,有点事简洁高效。使用python3-mpdbtest.py常用指令:l:list,......
  • sql server 临时表(中) Tempdb监控
    一.监控概述Tempdb库空间使用的一大特点,是只有一部分对象,例如用户创建的临时表、table变量等,可以用sys.allocation_units和sys.partitions这样的管理视图来管理,许多......
  • sqlserver查看每个活跃会话使用了多少TempDB
    ;WITHtask_space_usageAS(--SUMalloc/dellocpagesSELECTsession_id,request_id,SUM(internal_objects_alloc_page_count)ASa......
  • 设置oracle19c开机自启动
    1、以root身份登录系统,修改oratab,如下图所示:vi/etc/oratab进入vi编辑器后,找到“ORCL:/u01/app/oracle/product/19.3.0/db_1::N”将文件最后面的N,修改为Y,如下:......