ORACLE单实例ADG搭建

1.必要配置

  • 1.1 查看是否开启归档

SYS@PROD5 >startup mount;
ORACLE instance started.

Total System Global Area 1224736768 bytes
Fixed Size		    2923824 bytes
Variable Size		  838861520 bytes
Database Buffers	  369098752 bytes
Redo Buffers		   13852672 bytes
Database mounted.

SYS@PROD5 >archive log list
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     24
Next log sequence to archive   26
Current log sequence	       26

我当前是已经开启归档的,如果没有开启归档,需要开启归档

SYS@PROD5 >alter database archivelog;

Database altered.
  • 1.2 启库开启强制日志

SYS@PROD5 >alter database open;
Database altered.
SQL> ALTER DATABASE FORCE LOGGING
  • 1.3 添加standby logfile

这里要根据实际的情况添加一般比redo多一组

SYS@PROD5 >select group#,bytes/1024/1024 from v$log;

    GROUP# BYTES/1024/1024
---------- ---------------
	 1		50
	 2		50
	 3		50
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/dbs/slog1.rdo') SIZE 50M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/dbs/slog2.rdo') SIZE 50M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/dbs/slog3.rdo') SIZE 50M;
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/dbs/slog4.rdo') SIZE 50M;

2.修改主库参数

  • 2.1 使用当前的spfile创建pfile

SYS@PROD5 >create pfile='/home/oracle/pfile.ora' from spfile
  • 2.2 修改pfile

[oracle@host01 ~]$ vi pfile.ora
*.audit_file_dest='/u01/app/oracle/admin/PROD5/adump'
*.audit_trail='db'
*.compatible='12.1.0.2.0'
*.control_files='/u01/app/oracle/oradata/PROD5/control01.ctl','/u01/app/oracle/fast_recovery_area/PROD5/control02.ctl'
*.db_block_size=8192
*.db_domain='example.com'
*.db_name='PROD5'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4560m
*.diagnostic_dest='/u01/app/oracle'
*.memory_target=1160m
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
DB_UNIQUE_NAME=PROD5H1
LOG_ARCHIVE_CONFIG='DG_CONFIG=(PROD5H1,PROD5H2)'
LOG_ARCHIVE_DEST_1=
 'LOCATION=USE_DB_RECOVERY_FILE_DEST
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=PROD5H1'
LOG_ARCHIVE_DEST_2=
 'SERVICE=PROD5H2 ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)
  DB_UNIQUE_NAME=PROD5H2'
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=PROD5H2
DB_FILE_NAME_CONVERT='/PROD5H2/','/PROD5H1/'
LOG_FILE_NAME_CONVERT='/PROD5H2/','/PROD5H1/'
STANDBY_FILE_MANAGEMENT=AUTO




注:可以自行通过官方文档提供的基本参数进行修改
DB_NAME=chicago
DB_UNIQUE_NAME=chicago
LOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'
CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ctl'
LOG_ARCHIVE_DEST_1=
 'LOCATION=USE_DB_RECOVERY_FILE_DEST 
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=chicago'
LOG_ARCHIVE_DEST_2=
 'SERVICE=boston ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 
  DB_UNIQUE_NAME=boston'
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=boston
DB_FILE_NAME_CONVERT='/boston/','/chicago/'
LOG_FILE_NAME_CONVERT='/boston/','/chicago/' 
STANDBY_FILE_MANAGEMENT=AUTO
  • 2.3 使用新修改的pfile创建spfile后重启库

SYS@PROD5 >create spfile from pfile='/home/oracle/pfile.ora';
SYS@PROD5 >startup
  • 2.4 验证

SYS@PROD5 >show parameter name

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
cell_offloadgroup_name		     string
db_file_name_convert		     string	 /PROD5H2/, /PROD5H1/
db_name 			     string	 PROD5
db_unique_name			     string	 PROD5H1
global_names			     boolean	 FALSE
instance_name			     string	 PROD5
lock_name_space 		     string
log_file_name_convert		     string	 /PROD5H2/, /PROD5H1/
pdb_file_name_convert		     string
processor_group_name		     string

SYS@PROD5 >show parameter log_archive_dest_

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
log_archive_dest_1		     string	 LOCATION=USE_DB_RECOVERY_FILE_
						 DEST
						   VALID_FOR=(ALL_LOGFILES,ALL_
						 ROLES)
						   DB_UNIQUE_NAME=PROD5H1

log_archive_dest_2		     string	 SERVICE=PROD5H2 ASYNC
						   VALID_FOR=(ONLINE_LOGFILES,P
						 RIMARY_ROLE)
						   DB_UNIQUE_NAME=PROD5H2

3.添加tnsname与监听文件

  • 3.1 添加tns(主备库都操作)

PROD5H1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = host01.example.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PROD5H1.example.com)
    )
  )
PROD5H2 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = host02.example.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = PROD5H2.example.com)
    )
  )
  • 3.2 添加监听(主备库都操作)

主:
SID_LIST_LISTENER=
   (SID_LIST=
       (SID_DESC=
          (GLOBAL_DBNAME=PROD5H1.example.com)
          (SID_NAME=PROD5)
          (ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1)
         )
        )

备:
SID_LIST_LISTENER=
   (SID_LIST=
       (SID_DESC=
          (GLOBAL_DBNAME=PROD5H2.example.com)
          (SID_NAME=PROD5)
          (ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1)
         )
        )
  • 3.3 重启监听(主备库都操作)

[oracle@host01 admin]$ lsnrctl start

LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 24-AUG-2022 17:00:47

Copyright (c) 1991, 2014, Oracle.  All rights reserved.

Starting /u01/app/oracle/product/12.1.0/dbhome_1/bin/tnslsnr: please wait...

TNSLSNR for Linux: Version 12.1.0.2.0 - Production
System parameter file is /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/diag/tnslsnr/host01/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host01.example.com)(PORT=1521)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host01.example.com)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date                24-AUG-2022 17:00:47
Uptime                    0 days 0 hr. 0 min. 0 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File         /u01/app/oracle/diag/tnslsnr/host01/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=host01.example.com)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "PROD5H1.example.com" has 1 instance(s).
  Instance "PROD5", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully

4.修改传输密码文件,pfile至备库

5.修改备库pfile参数

  • 5.1 修改备库pfile

[oracle@host02 ~]$ cat /home/oracle/pfile.ora
*.audit_file_dest='/u01/app/oracle/admin/PROD5/adump'
*.audit_trail='db'
*.compatible='12.1.0.2.0'
*.control_files='/u01/app/oracle/oradata/PROD5/control01.ctl','/u01/app/oracle/fast_recovery_area/PROD5/control02.ctl'
*.db_block_size=8192
*.db_domain='example.com'
*.db_name='PROD5'
*.db_recovery_file_dest='/u01/app/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4560m
*.diagnostic_dest='/u01/app/oracle'
*.memory_target=1160m
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
DB_UNIQUE_NAME=PROD5H2
LOG_ARCHIVE_CONFIG='DG_CONFIG=(PROD5H2,PROD5H1)'
LOG_ARCHIVE_DEST_1=
 'LOCATION=USE_DB_RECOVERY_FILE_DEST 
  VALID_FOR=(ALL_LOGFILES,ALL_ROLES)
  DB_UNIQUE_NAME=PROD5H2'
LOG_ARCHIVE_DEST_2=
 'SERVICE=PROD5H1 ASYNC
  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) 
  DB_UNIQUE_NAME=PROD5H1'
LOG_ARCHIVE_FORMAT=%t_%s_%r.arc
FAL_SERVER=PROD5H1
DB_FILE_NAME_CONVERT='/PROD5H1/','/PROD5H2/'
LOG_FILE_NAME_CONVERT='/PROD5H1/','/PROD5H2/' 
STANDBY_FILE_MANAGEMENT=AUTO
  • 5.2 创建spfile后重启库至nomount状态

SYS@PROD5 >create spfile from pfile='/home/oracle/pfile.ora';
SYS@PROD5 >startup nomount;

6.使用duplicate复制库

主库操作:
[oracle@host01 admin]$ rman target sys/oracle@prod5h1 auxiliary sys/oracle@prod5h2

Recovery Manager: Release 12.1.0.2.0 - Production on Wed Aug 24 17:09:37 2022

Copyright (c) 1982, 2014, Oracle and/or its affiliates.  All rights reserved.

connected to target database: PROD5 (DBID=1606298904)
connected to auxiliary database: PROD5 (not mounted)

RMAN> duplicate target database for standby from active database nofilenamecheck;

完成后备库应该是处于mount状态

7.开启备库日志应用

SYS@PROD5   >alter database recover managed standby database using current logfile disconnect;
Database altered.

8.查看ADG状态

SYS@PROD5   >select inst_id,PROCESS,status from gv$managed_standby;

   INST_ID PROCESS   STATUS
---------- --------- ------------
	 1 ARCH      CLOSING
	 1 ARCH      CONNECTED
	 1 ARCH      CONNECTED
	 1 ARCH      CLOSING
	 1 RFS	     IDLE
	 1 RFS	     IDLE
	 1 RFS	     IDLE
	 1 MRP0      APPLYING_LOG

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习编程?其实不难,不过在学习编程之前你得先了解你的目的是什么?这个很重要,因为目的决定你的发展方向、决定你的发展速度。
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面设计类、前端与移动、开发与测试、营销推广类、数据运营类、运营维护类、游戏相关类等,根据不同的分类下面有细分了不同的岗位。
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生学习Java开发,但要结合自身的情况,先了解自己适不适合去学习Java,不要盲目的选择不适合自己的Java培训班进行学习。只要肯下功夫钻研,多看、多想、多练
Can’t connect to local MySQL server through socket \'/var/lib/mysql/mysql.sock问题 1.进入mysql路径
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 sqlplus / as sysdba 2.普通用户登录
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服务器有时候会断掉,所以写个shell脚本每五分钟去判断是否连接,于是就有下面的shell脚本。
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。
假如你已经使用过苹果开发者中心上架app,你肯定知道在苹果开发者中心的web界面,无法直接提交ipa文件,而是需要使用第三方工具,将ipa文件上传到构建版本,开...
下面的 SQL 语句指定了两个别名,一个是 name 列的别名,一个是 country 列的别名。**提示:**如果列名称包含空格,要求使用双引号或方括号:
在使用H5混合开发的app打包后,需要将ipa文件上传到appstore进行发布,就需要去苹果开发者中心进行发布。​
+----+--------------+---------------------------+-------+---------+
数组的声明并不是声明一个个单独的变量,比如 number0、number1、...、number99,而是声明一个数组变量,比如 numbers,然后使用 nu...
第一步:到appuploader官网下载辅助工具和iCloud驱动,使用前面创建的AppID登录。
如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):
前不久在制作win11pe,制作了一版,1.26GB,太大了,不满意,想再裁剪下,发现这次dism mount正常,commit或discard巨慢,以前都很快...
赛门铁克各个版本概览:https://knowledge.broadcom.com/external/article?legacyId=tech163829
实测Python 3.6.6用pip 21.3.1,再高就报错了,Python 3.10.7用pip 22.3.1是可以的
Broadcom Corporation (博通公司,股票代号AVGO)是全球领先的有线和无线通信半导体公司。其产品实现向家庭、 办公室和移动环境以及在这些环境...
发现个问题,server2016上安装了c4d这些版本,低版本的正常显示窗格,但红色圈出的高版本c4d打开后不显示窗格,
TAT:https://cloud.tencent.com/document/product/1340