怎么部署Oracle19c dataguard

发布时间:2021-11-05 11:00:48 作者:iii
来源:亿速云 阅读:276

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

新特性

oracle19c

部署

开启归档
select name,log_mode,force_logging from gv$database;
alter database force logging;
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”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. Oracle RAC集群测试-生产环境最佳方法(Oracle 11g/12c/18c/19 RAC)
  2. Oracle 12c dataguard云上挖坑记--为某机场贵宾业务部署oracle 12c到云端

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

oracle

上一篇:如何进行 Adaptive Cursor Sharing的研究

下一篇:如何实现Oracle Data Guard主库备库角色切换

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》